我正在研究我的AS3而且我被卡住了。这段代码在我的AS2文件中。你如何将此代码转换为AS3?当我设置为AS3并发布时,会显示以下错误消息:
场景1,图层'第1层',第1帧,第6行 1046:未找到类型或不是编译时常量:颜色。
请帮助...... :(
i=0;
function cogalt() {
i++;
mc.duplicateMovieClip("mc"+i, i);
//
var my_color:Color = new Color(_root["mc"+i]);
_root["mc"+i].renk1=random(255);
_root["mc"+i].renk2=random(255);
_root["mc"+i].renk3=random(255);
my_color.setRGB(_root["mc"+i].renk1<<16 | _root["mc"+i].renk2<<8 | _root["mc"+i].renk3 );
//
_root["mc"+i]._x = tiklax;
_root["mc"+i]._y = tiklay;
//
_root["mc"+i].deger2 = random(2);
//
_root["mc"+i].ziplama = 1+random(10);
_root["mc"+i]._width = _root["mc"+i]._height = 1+random(10);
//
if (_root["mc"+i].deger2 == 0) {
_root["mc"+i].degerx = -(1+random(4));
} else {
_root["mc"+i].degerx = +(1+random(4));
}
_root["mc"+i].onEnterFrame = function() {
this.ziplama -=1;
this._y-= this.ziplama;
this._x += this.degerx;
this._alpha -= 4;
if (this._alpha<0) {
delete this.onEnterFrame;
removeMovieClip(this);
}
};
}
mc.startDrag(true);
答案 0 :(得分:0)
1。 这是一个关于动态设置MovieClip颜色的链接,AS2到AS3: http://evolve.reintroducing.com/2008/02/26/as2-to-as3/as2-%E2%86%92-as3-setting-a-movieclips-color/
2。 你还将遇到另一个问题。 as3中没有duplicateMovieClip()。
您必须创建MovieClip的子类并将其链接到要复制的图形。创建该子类时,不要忘记选择“Export for Actionscript”。
然后你会有
var mc:MovieClip = new SubclassOfMovieClip()
addChild(mc)
然后你可能需要将每个实例保存到一个数组/向量中,这样你就可以保留对象的引用。
3。 在as3中添加侦听器来自此
mc.onEnterFrame=function(){}
到这个
mc.addEventListener(Event.ENTER_FRAME,onEnterFrame)
function onEnterFrame(evt:Event){}