我正在研究pong遊戲,並且正在研究移動球的機制。如果我給x加1,球就向右移動1個像素,如果我給y加1,球就會向下移動1個像素。如果我想以某個角度移動球,那麼如何計算座標。在JPanel中移動項目
0
A
回答
2
嘗試使用角度將會比你需要得到更復雜一點。對於這種動畫,您通常希望使用浮點數來存儲對象的x和y座標,並通過應用x和y角度來移動它(浮點數將保留在屏幕上繪製時四捨五入的位置細節)。增量表示物體在每個軸上移動的速度,可以是負值或正值。
對於動畫的每次迭代,將xdelta添加到x座標並將ydelta添加到y座標。將它們四捨五入以將它們放置在屏幕上。
當您點擊頂部或底部邊框時,您可以交換ydelta組件上的標誌,同樣也可以更換側邊框。
您不希望始終保持相同的x和y增量,因此當物體碰到槳時,稍微修改x或y增量以改變角度。
1
您正在尋找線條繪製算法,類似於Bresenham或DDA,您可以找到一些合理的實現方法,而不是繪製完整的線條,而是沿着該線條移動球,但找到要移動的一組線條的方式上是一樣的。
1
您可能會感興趣these resources對您有所幫助。
1
對於像Pong這樣的東西,你應該研究矢量數學,但如果你想要的只是知道一個角度,你真正需要的是SOHCAHTOA。
相關問題
- 1. 項目不會移動JPanel
- 2. 在JFrame中移動JPanel
- 3. Jpanel在設計時自由移動項目
- 4. 在QGraphicsView中移動項目
- 5. 在UWP中移動項目
- 6. Swing:移動JPanel
- 7. 在JPanel周圍移動JLabel
- 8. (Eclipse中)移動項目listveiw
- 9. 移動項目在C#
- 10. 移動UICollectionView項目
- 11. Flex移動項目選項
- 12. 如何在IntelliJ/Webstorm中移動項目?
- 13. 在Windows中移動TreeView項目
- 14. 在QListWidget中上下移動項目?
- 15. 在表格中移動項目SWT/RCP
- 16. 在Flex移動項目中運行Javascript
- 17. 在QGraphisItem中移動兒童項目
- 18. 如何在網格中移動項目
- 19. 在SQL中遞歸項目移動
- 20. 在ActiveRecord_Relation結果中移動項目?
- 21. 在TFS中移動工作項目
- 22. 動態移動的項目
- 23. Flex移動項目或ActionScript移動項目?
- 24. 在.NET項目中移動項目文件
- 25. 雪碧不能移動JPanel
- 26. interact.js拖動項目移動在頂部
- 27. 使用鍵移動JPanel中的矩形
- 28. 刷新JPanel中移動的JLabel
- 29. 鼠標在JPanel內移動事件
- 30. 如何在JPanel上移動形狀?