我以前可能遇到過這樣的代碼。只是不記得在哪裏。我的舞臺上有2個展示對象。一個旋轉,另一個與旋轉物體成90度定位。當物體旋轉時,另一個物體從旋轉物體調整它的x和y位置。如果這沒有意義,那麼讓我解釋我正在嘗試做什麼。我的Flash遊戲中有一個飛船。這艘船在左右翼上有兩個託雷。隨着輪船轉彎,託雷需要留在機翼上。有誰知道我會如何去做這件事。移動一個基於另一個對象旋轉的displayobject
回答
如果您堅持保持DisplayObject非嵌套,請使用三角函數。
假設在旋轉= 0時,您的炮塔物體距離r直接位於船中心的右側。
private function degreesToRadians(degrees:Number):Number {
return degrees * Math.PI/180;
}
turret.x = shipCenter.x + r*Math.cos(degreesToRadians(ship.rotation));
turret.y = shipCenter.y + r*Math.sin(degreesToRadians(ship.rotation));
然而,學習如何使用適當的變換矩陣或嵌套的顯示對象將最終導致一個更清潔的解決方案
你爲什麼不把它們嵌入翅膀內呢?如果機翼旋轉,它們將保持在機翼的頂部。
翼是船舶圖像的一部分。所以我不得不根據整艘船形象 – numerical25 2010-01-17 20:23:44
爲什麼不把它們作爲主船的孩子,並且它們的變換矩陣相對於父母?然後,隨着父母的旋轉,您將其應用於子女 – zebrabox 2010-01-18 00:13:05
您能否爲我們提供旋轉之前和之後的圖形以及您的場景應該是什麼樣子? – antpaw 2010-01-18 10:48:18
- 1. 繼另一個旋轉的對象
- 2. Actionscript 3 - 向另一個對象旋轉一個對象
- 3. 旋轉圍繞fabric.js另一個對象的另一個獨立的對象
- 4. JAVA OOP從一個對象轉移到另一個對象
- 5. 基於持續時間將對象從一個點移動到另一個點
- 6. 移動從一個QList作一個對象到另一個
- 7. 境界遷移:從一個物體移動對象的另一個對象
- 8. 移動對象到另一個
- 9. 如何將對象的ArrayList從一個活動轉移到另一個活動
- 10. 找到相對於另一個協調基礎的3D基礎的旋轉
- 11. 當ViewController旋轉時移動一個UIView對象
- 12. 給定一個javafx.scene.image.Image對象旋轉它,併產生一個旋轉javafx.scene.image.Image對象
- 13. underscore.js過濾一個基於另一個對象的數組
- 14. 將一個對象從一個集合移動到另一個對象
- 15. webgl在一個座標軸上圍繞另一個對象旋轉對象
- 16. 基於three.js中的旋轉移動對象
- 17. LibGDX移動一個旋轉的相機
- 18. 我無法將對象從一個活動轉移到另一個活動
- 19. Django的移動對象從一個數據庫到另一個
- 20. 旋轉的物體面對另一個對象
- 21. 基於另一個對象在第一個記錄
- 22. OpenGL在基於旋轉的局部座標系上轉換一個對象
- 23. 將線移動並旋轉一個點
- 24. 在旋轉時移動一個精靈
- 25. CoreData:將對象從一個ArrayController移動到另一個
- 26. 使用Swing將對象從一個ArrayList移動到另一個
- 27. 想要移動一個2D對象而不是另一個
- 28. 將對象從一個Core Data UITableView移動到另一個?
- 29. 移動一個對象在另一個在as3
- 30. 移動一個對象數據到另一個
嘿謝謝。你是什麼意思非嵌套。我把這些炮塔從船艙內部稱之爲炮塔。這是你的意思嵌套?或者你的意思是把這些炮塔放在我的船上,從動畫片段內(即將它們從庫中拖放到位),我只嘗試了第一種解決方案。 – numerical25 2010-01-19 02:56:13
我的意思是嵌套在顯示列表的意義上 - 將各種船舶部件的圖形表示放置到共享的DisplayObjectContainer子類中。我不確定如何在CS4中正確執行此操作,但顯示列表的基本原理如下所述:http://livedocs.adobe.com/flex/3/html/help.html?content=05_Display_Programming_01.html – ZackBeNimble 2010-01-19 03:28:53