标签: actionscript

闪存/ AS3; 获取/设置MovieClip的绝对位置?

如何在Flash/AS3中获取/设置MovieClip的绝对位置?绝对地,我指的是它相对于舞台的起源的位置.

我目前有这个二传手:

class MyMovieClip extends MovieClip
{
  function set xAbs(var x:Number):void
  {
    this.x = -(this.parent.localToGlobal(new Point()).x) + x;
  } 
}
Run Code Online (Sandbox Code Playgroud)

这似乎有效,但我觉得它需要舞台左对齐.

但是,我没有工作的吸气剂.这不起作用:

public function get xAbs():Number 
{
  return -(this.parent.localToGlobal(new Point()).x) + this.x; // Doesn't work
}       
Run Code Online (Sandbox Code Playgroud)

我的目标是一个有效的解决方案,并适用于所有Stage对齐,但它很棘手.我在舞台上使用它,这相对于浏览器的窗口大小.

编辑:这适用于左上角对齐的舞台; 不确定其他人:

public function get AbsX():Number 
{
    return this.localToGlobal(new Point(0, 0)).x;
}       
public function get AbsY():Number 
{
    return this.localToGlobal(new Point(0, 0)).y;
}       
public function set AbsX(x:Number):void
{
    this.x = x - this.parent.localToGlobal(new Point(0, 0)).x;
}
public function set AbsY(y:Number):void
{
    this.y = y …
Run Code Online (Sandbox Code Playgroud)

flash actionscript actionscript-3

1
推荐指数
2
解决办法
4万
查看次数

在actionscript中获取图像原始宽度和高度

我在Flex 3中使用AS3来创建新图像,似乎无法获得原始图像的确切大小.percentHeight和percentWidth到100可以完成这项工作,但是ObjectHandlers中的限制要求我以像素为单位设置图像比例.

有解决方案吗

actionscript

1
推荐指数
1
解决办法
7671
查看次数

为什么在Flash ide中可以使用ExternalInterface

嘿我正在尝试构建这个简单的调试器类,所以我可以在浏览器控制台中看到flash变量,如果我在flash ide中测试它,我会得到好的旧跟踪器.但由于某种原因ExternalInterface.available返回trueFlash ide!

package libs
{
    import flash.external.ExternalInterface;

    public class debug
    {
        public function tracer(variable:*):void
        {
            if(ExternalInterface.available)
            {
                if(variable is String)
                {
                    variable = '"'+variable+'"';
                }
                ExternalInterface.call('console.log(' + variable + ')');
            }
            else
            {
                trace(variable);
            }   
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript flash actionscript actionscript-3

1
推荐指数
1
解决办法
989
查看次数

动态文字不接受数字

我曾经写过一个Flash游戏(CS3)并且它曾经工作但是当尝试在CS5中编译相同的FLA文件时不起作用.

我有一个名为tScore的动态文本字段

 tScore.text = Score; 
Run Code Online (Sandbox Code Playgroud)

用于将用户得分的当前整数值应用于文本框.它不再那样做了.(看起来很空)

通过简单的调试:

 tScore.text = Score.toString; // no value shown
 tScore.text = String(Score); // no value shown
 tScore.text = "A"; // sets the field to the value A
 tScore.text = "123"; // no value shown
 tScore.text = "C123"; // value "C" shown
 tScore.text = "A12A"; // value "AA" shown
 tScore.text = "000"; // value "000" shown
 tScore.text = "01"; // value "0" shown
Run Code Online (Sandbox Code Playgroud)

我知道在闪存中发生奇怪的事情需要很长时间 - 但是 - 这对我来说没有意义.

有没有人遇到过不接受数字的文本字段?

flash actionscript dynamic-text

1
推荐指数
1
解决办法
3565
查看次数

同步变量actionscript

public var:NoOfElements = 0;

public function addElement(){
// increases NoOfElements by one in every call
}


public function remvoveElement(){
//  decreases NoOfElements by one in every call
}
Run Code Online (Sandbox Code Playgroud)

addElement和removeElement由两个单独的计时器事件调用.并且在每个方法中它修改全局变量NoOfElements.有没有一种方法来同步acionscript中的变量?

actionscript actionscript-3

1
推荐指数
1
解决办法
653
查看次数

为什么flashplayer不需要JVM?

我已经开发了半年左右的ActionScript应用程序.据我所知,mxmlc编译器只是一个以更方便的方式调用javac - {options}的sh脚本.这让我知道我的源代码被编译成本 java字节码.

综上所述,我可以得出结论,Flash Player应该要求安装JVM,要么是JVM本身.或者也许Java用于生成Adobe自定义二进制文件,就像任何其他编译器一样,但Java是跨平台的并且是行业标准,因此为了避免可移植性问题,Adobe(Macromedia)可以选择ActionScript/Flex.

你能解释一下吗?

java flash actionscript

1
推荐指数
1
解决办法
714
查看次数

在as3中,通过编码调整形状的亮度不起作用

这是我的以下代码.

var clips:Array=new Array(clip_0_mc,clip_1_mc,clip_2_mc,clip_3_mc,clip_4_mc);
trace(clips);

clips[0].alpha=.5;
clips[3].rotation=45;
clips[3].brightness=100;// This is not working.
clips[1].rotation=170;
Run Code Online (Sandbox Code Playgroud)

我试过alpha和旋转tat是完美的.但亮度不起作用.

actionscript actionscript-3 flash-cs5

1
推荐指数
1
解决办法
7993
查看次数

语法错误:在leftbracket之前期待分号

我只使用ActionScript 3三天,所以我是一个重要的新手,但我一生中大部分时间都使用过其他几种语言.

我在顶层的第一帧有以下代码:

var level:Array = new Array();
var level[0] = new Object();
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Scene 1, Layer 'levels', Frame 1, Line 2
1086: Syntax error: expecting semicolon before leftbracket.
Run Code Online (Sandbox Code Playgroud)

我已经看过许多似乎正在做我正在做的事情的例子,我也尝试分别定义对象,然后将它添加到数组中,同样的错误.我也在寻找答案,但我发现的所有问题都与这种情况有点不同.预先感谢您提供任何帮助或链接.

actionscript actionscript-3

1
推荐指数
1
解决办法
3333
查看次数

类名AS3的数组

我的FLA库中有几个动画片段,应用了类名.在我的AS包文件中,我有一个这些类名的数组.我想做的是在舞台上显示动画片段,如下所示:

  • 加载SWF后,显示数组[0]
  • 单击"下一步"按钮时,将1添加到阵列,然后显示
  • 单击PREV按钮时,从数组中减去1,然后显示

总共n00b问题,我敢肯定.我理解基础知识,但调用类名让我感到困惑.任何帮助,将不胜感激!

arrays actionscript class class-names actionscript-3

1
推荐指数
1
解决办法
996
查看次数

如何在ActionScript 3中将字符串转换为char数组?

如何在ActionScript 3.0中将字符串转换为char数组?

我尝试了下面的代码但是我收到一个错误:

var temp:ByteArray =  new ByteArray();
temp = input.toCharArray();
Run Code Online (Sandbox Code Playgroud)

从错误中,我理解toCharArray()函数不能应用于字符串(即在我的情况下 - 输入).请帮帮我.我是初学者.

actionscript

1
推荐指数
1
解决办法
6868
查看次数