0
我正在嘗試使用動作使交互式場景fot我的連接點7。我正試圖讓一個頸部身體在按下按鈕時連續移動。 trace(event.target.name);在tap處理程序中正在返回被按下的按鈕的實例名稱,因爲我期望它,但enter_frame按下的函數中的相同trace語句正在返回按鈕父項名稱,因此下面不會發生移動是我的代碼。as3連續移動物體與觸摸事件
resetBtn.addEventListener(TouchEvent.TOUCH_BEGIN , tapHandler);
ballBtn.addEventListener(TouchEvent.TOUCH_BEGIN , tapHandler);
leftArrow.addEventListener(TouchEvent.TOUCH_BEGIN , tapHandler);
rightArrow.addEventListener(TouchEvent.TOUCH_BEGIN , tapHandler);
private function tapHandler(event:TouchEvent):void
{
//listen for mouse up on the stage, in case the finger moved off of the button accidentally when they release.
rightArrow.addEventListener(TouchEvent.TOUCH_END, endTouch);
//while the mouse is down, run the tick function once every frame as per the project frame rate
addEventListener(Event.ENTER_FRAME, pressed);
trace(event.target.name);
//ball.applyImpulse(new Vec2(25,0));
}
function endTouch(e:Event):void
{
removeEventListener(Event.ENTER_FRAME, pressed);
//stop running the tick function every frame now that the mouse is up
this.removeEventListener(TouchEvent.TOUCH_END,endTouch);
//remove the listener for endTouch
}
function pressed(e:Event):void
{
space.step(1/stage.frameRate);
trace(e.target.name);
if(e.target.name == "leftArrow")
{
trace("going left");
crane.position.x -= 5;
boom.position.x -= 5;
c.position.x -= 5;
}
if(e.target.name == "rightArrow")
{
trace("going Right");
crane.position.x += 5;
boom.position.x += 5;
c.position.x += 5;
}
}
如果你能幫助我解決這個問題,或者提出一個更好的方法來實現這種幫助將不勝感激。
非常感謝你,我得到了這個工作,但我不得不將curButton更改爲一個字符串,只跟蹤curButton而不是curButton.name – Lonergan6275 2013-03-25 10:42:17
但是當leftArrow被釋放時,對象繼續向左移動,直到按下另一個按鈕 – Lonergan6275 2013-03-25 10:54:00