新的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