我想从AS2
采取一个较旧的教程星域,并将其移植到AS3
。我不再收到任何编译器错误,但我得到TypeError
。获取类型错误#1123:过滤器运算符不支持类型,MainTimeline/enterFrameHandler()
下面是代码:
this.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
import flash.display.MovieClip;
import flash.events.Event;
var stars = 100;
var maxSpeed = 16;
var minSpeed = 2;
for(var i = 0; i<stars; i++)
{
var mc:MovieClip = new MovieClip();
addChild(mc);
mc.name = "star","star"+i,i;
mc.x = Math.random() * stage.stageWidth;
mc.y = Math.random() * stage.stageHeight;
mc.speed = Math.random() * (maxSpeed-minSpeed)+minSpeed
var size = Math.random() * 2+(0.6*(Math.random() * 4));
mc.width = size;
mc.height = size;
}
function enterFrameHandler(event:Event):void
{
var target:MovieClip = MovieClip(event.target);
for (var j = 0; j<stars;j++)
{
var mc = this.("star"+j);
if (mc.y>0)
{
mc.y -= mc.speed;
}
else
{
mc.y = stage.stageHeight;
mc.speed = Math.random() * (maxSpeed-minSpeed)+minSpeed;
mc.x = Math.random() * stage.stageWidth;
}
}
};
的TypeError
我得到的是:
TypeError: Error #1123: Filter operator not supported on type SpaceBoost_loadscreen_star_fla.MainTimeline. at SpaceBoost_loadscreen_star_fla::MainTimeline/enterFrameHandler()
我很新在ActionScript编码,和我刚开始学习,我去。 此外,如何清理它的任何有用的建议也欢迎!
问题1:
在你的第一个for循环,这一行:mc.name = "star","star"+i,i;
每个项目的名称将最终成为该
您是否找到解决问题的方法? – BadFeelingAboutThis 2015-04-23 22:40:19