Actionscript 3 1136:参数数量不正确。预期为0。船舶上:船舶=新船舶(阶段);
嗨,伙计们,我是编程新手,我一直在学习关于 我偶然发现了一个编写它的代码Actionscript 3 1136:参数数量不正确。预期为0。船舶上:船舶=新船舶(阶段);,actionscript-3,flash,Actionscript 3,Flash,嗨,伙计们,我是编程新手,我一直在学习关于 我偶然发现了一个编写它的代码 var ourShip:ship = new ship(stage); 但它给出了一个错误 1136: Incorrect number of arguments. Expected 0. 我相信这个错误是正确的,但是关于教程很棒的评论呢 包含此代码的as文件中包含 package { //list of our imports these are classes we need in order to
var ourShip:ship = new ship(stage);
但它给出了一个错误
1136: Incorrect number of arguments. Expected 0.
我相信这个错误是正确的,但是关于教程很棒的评论呢
包含此代码的as文件中包含
package
{
//list of our imports these are classes we need in order to
//run our application.
import flash.display.MovieClip;
import flash.display.Stage;
//our Engine class it extends MovieClip
public class engine extends MovieClip
{
//our constructor function. This runs when an object of
//the class is created
public function engine()
{
//create an object of our ship from the Ship class
var ourShip:ship = new ship(stage);
//add it to the display list
stage.addChild(ourShip);
ourShip.x = stage.stageWidth / 2;
ourShip.y = stage.stageHeight / 2;
}
}
}
还要告诉你我把Seniour软件包从
package come.asgamer.....{}
到
我这样做是因为我制作了一个名为utils的文件夹,其中有一个动作脚本
我想问题可能与此有关
顺便说一下,如果我换了
var ourShip:ship = new ship(stage);
到
并没有结果,这意味着flash player会像上面所说的那样将飞船显示在中间
发货操作脚本文件:
package
{
import flash.display.MovieClip;
import utils.KeyObject;
import flash.ui.Keyboard;
import flash.display.Stage;
import flash.events.Event;
public class ship extends MovieClip
{
private var stageRef:Stage;
private var key:KeyObject;
public function Ship(stageRef:Stage)
{
this.stageRef = stageRef;
key = new KeyObject(stageRef);
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
}
public function loop(e:Event) : void
{
if (key.isDown(Keyboard.LEFT))
x -= 2;
else if (key.isDown(Keyboard.RIGHT))
x += 2;
if (key.isDown(Keyboard.UP))
y -= 2;
else if (key.isDown(Keyboard.DOWN))
y += 2;
}
}
}
注意:我完成了教程大写
发货
;这就是他们在教程中所做的。试试看它是否有效
您使用的类可能与您认为使用的类不同。他们提供的类是Ship
,而不是Ship
,在他们为Ship
提供的代码中,构造函数实际上有一个参数:
package com.asgamer.basics1{
import flash.display.MovieClip; import flash.display.Stage;
import com.senocular.utils.KeyObject;
import flash.ui.Keyboard;
public class Ship extends MovieClip {
private var stageRef:Stage;
private var key:KeyObject;
public function Ship(stageRef:Stage)
{
this.stageRef = stageRef;
key = new KeyObject(stageRef);
}
}
}
如果大写
ship
不起作用,说明您的方向是正确的,但可能还有另一个难题。ship类中的构造函数是什么样子的?问题在于ship类,看起来它不期望您发送到iTunes的参数更新请查看sip classwell我没有大写ship anywhere,因此它可能不会对我看到ship的地方产生任何影响我将其更改为ship,因此可能没有任何区别,如果有,请告诉我,并告诉我是如何发现问题的,我没有把一艘船换成另一艘船,这是正确的
package
{
import flash.display.MovieClip;
import utils.KeyObject;
import flash.ui.Keyboard;
import flash.display.Stage;
import flash.events.Event;
public class ship extends MovieClip
{
private var stageRef:Stage;
private var key:KeyObject;
public function Ship(stageRef:Stage)
{
this.stageRef = stageRef;
key = new KeyObject(stageRef);
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
}
public function loop(e:Event) : void
{
if (key.isDown(Keyboard.LEFT))
x -= 2;
else if (key.isDown(Keyboard.RIGHT))
x += 2;
if (key.isDown(Keyboard.UP))
y -= 2;
else if (key.isDown(Keyboard.DOWN))
y += 2;
}
}
}
package com.asgamer.basics1{
import flash.display.MovieClip; import flash.display.Stage;
import com.senocular.utils.KeyObject;
import flash.ui.Keyboard;
public class Ship extends MovieClip {
private var stageRef:Stage;
private var key:KeyObject;
public function Ship(stageRef:Stage)
{
this.stageRef = stageRef;
key = new KeyObject(stageRef);
}
}
}