2015-03-03 57 views
0

我正在學習actionscript,我正在嘗試從教程中做一個基本的pong遊戲,但我在尋找正確編寫碰撞代碼的方法時遇到了問題。一切正常,但碰撞牆延伸到屏幕底部我符號的邊緣。我需要將整個遊戲放在一個符號中,這樣我才能在菜單界面中使用它,我打算稍後將其導入。你可以通過雙擊pong遊戲來找到代碼幀。符號內的Adobe Flash Actionscript 3碰撞檢測

我的問題是代碼:

//if the bottom of the ball is lower than the bottom of the screen 
if(ball.y >= stage.stageHeight-ball.height/2){ 
    ball.y = stage.stageHeight-ball.height/2; //reposition it 
} 

我需要找到一種方法來改變代碼基礎上的符號或像素高度的邊界,而不是舞臺高度來檢測碰撞,但我不知道知識。你可以下載the flash file看到它。

回答

0

你忘了你在Pong MovieClip裏面,它的尺寸爲550x400px,與舞臺上的960x540px不同,這就是爲什麼你的球會從你的黑色區域到達你的舞臺底部邊框。

,因此您可以:

  • 直接把你的代碼放到你的根時間軸,它會正常工作。

或者

  • 編輯您當前的代碼使用您Pong影片剪輯的尺寸,而不是那些你的舞臺。

希望能有所幫助。

+0

感謝您的回覆。我明白你的意思,但我沒有足夠的動作來執行這些改變。我試過改變代碼,但無法啓動它。 – Ross 2015-03-06 13:17:49

+0

@ Ross.ayl您只需將'playerPaddle','ball'和'cpuPaddle'放入您的階段根時間軸中,並在移除該MovieClip之前將您的'Pong' MovieClip的代碼複製到根時間軸第一幀。 – akmozo 2015-03-06 14:10:25