新的AS3和试图让这个游戏机制正常工作。我需要做的是让每只流星在屏幕上出现时立即向左移动,但它们根本不移动。如果有人知道如何解决这个问题,我将不胜感激!我将代码分成两部分,阶段代码和对象(流星)类代码。AS3对象运动
以下是舞台上的代码。
import flash.events.MouseEvent;
import flash.events.Event;
var mcShip:Ship;
var meteor:Meteor;
var uiTimer:uint = 0;
var aMeteors:Array = new Array();
function InitializeGame():void
{
mcShip= new Ship();
mcShip.Initialize(100,200);
stage.addChild(mcShip);
stage.addEventListener(MouseEvent.MOUSE_MOVE, MouseInput);
stage.addEventListener(Event.ENTER_FRAME,GenerateMeteors);
}
function MouseInput(me_:MouseEvent):void
{
mcShip.Movement(me_);
}
function GenerateMeteors(eGenerate:Event):void
{
if (0 == ++uiTimer%10)
{
meteor= new Meteor();
aMeteors.push(meteor);
meteor.Initialize(550, 390, 20);
stage.addChild(meteor);
trace (aMeteors);
}
}
InitializeGame();
下面是对象(流星)代码。
import flash.events.Event;
var speed:int;
var aMeteors:Array = new Array();
function Initialize(iPosX_:int, iPosY_:int, iSpeed_:int):void
{
x = iPosX_;
y = Math.round(Math.random()* iPosY_)
speed = Math.round(Math.random() * iSpeed_);
var timer:Timer = new Timer(12)
timer.addEventListener(TimerEvent.TIMER,Update);
timer.start();
}
function Update(ev_:Event):void
{
for (var a:int=0; a < aMeteors.length; a++)
{
aMeteors[a].x -= 1 * speed;
}
}
所以基本上,我试图让流星在x轴上向左移动。我确定我有很多问题妨碍了它的正确移动,但我无法弄清楚。感谢所有提前的帮助!所有的
谢谢,Trex。我仍然在努力解决这个问题,但你的回应正在帮助我! – Eindigen 2014-11-24 09:29:56
我修复了一些问题,Trex,但我更新了原始帖子,因为我无法让流星左移!再次感谢你的帮助。 – Eindigen 2014-11-24 12:20:38
你的移动代码看起来应该可以工作,尽管1 *可能是多余的。你能告诉我当你运行代码时究竟发生了什么吗?流星出现并保持静止吗? – Trex 2014-11-26 00:00:08