基本上是这样;我当时正在ActionScript 3中进行游戏测试项目,并决定制作一个类的弹丸。
这是该课程的代码:
package {
import flash.display.MovieClip;
import flash.events.Event;
public class Symbol1 extends MovieClip {
public var dir:Number;
public function Symbol1(dir:Number) {
// constructor code
this.dir = dir;
this.addEventListener(Event.ENTER_FRAME, speen);
}
public function speen(e:Event):void
{
e.target.x += 10*Math.cos(e.target.dir);
e.target.y += 10*Math.sin(e.target.dir);
}
}
}
以上似乎有效;但是实例化它是一个全新的问题。
var a = new Symbol1(5);
以上代码输出:
> ArgumentError: Error #1063: Argument count mismatch on Symbol1(). Expected 1, got 0.
at flash.display::Sprite
/constructChildren()
at flash.display::Sprite()
at flash.display::MovieClip()
at PROJECT_fla::MainTimeline()
我应该如何让它传递“ dir”参数?
对于初学者:只需将整个“ e.target”删除即可,因为您的EnterFrame事件中没有x,y和目录。