我以前可能遇到过这样的代码。只是不记得在哪里。我的舞台上有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. 旋转围绕fabric.js另一个对象的另一个独立的对象
- 3. JAVA OOP从一个对象转移到另一个对象
- 4. 境界迁移:从一个物体移动对象的另一个对象
- 5. 移动对象到另一个
- 6. 如何将对象的ArrayList从一个活动转移到另一个活动
- 7. 找到相对于另一个协调基础的3D基础的旋转
- 8. webgl在一个坐标轴上围绕另一个对象旋转对象
- 9. underscore.js过滤一个基于另一个对象的数组
- 10. 基于three.js中的旋转移动对象
- 11. Django的移动对象从一个数据库到另一个
- 12. OpenGL在基于旋转的局部坐标系上转换一个对象
- 13. 将线移动并旋转一个点
- 14. 将对象从一个类移动到另一个类(Java)
- 15. 移动一个对象在另一个在as3
- 16. 将对象从一个Core Data UITableView移动到另一个?
- 17. 将对象从一个阵列移动到另一个阵列
- 18. 如何基于另一个对象数组创建一个对象数组?
- 19. 旋转一个圆形对象
- 20. 旋转一个多部件对象
- 21. 逐渐旋转一个对象来面对一个点?
- 22. 将所有字段从一个对象移动到另一个对象
- 23. 如何将一个精灵相对于另一个精灵的旋转?
- 24. 悬停在一个对象上以转换另一个对象
- 25. 将父对象移动到另一个游戏对象
- 26. 将另一个div移动另一个
- 27. 使一个对象等于另一个对象
- 28. 将对象的旋转与另一个对象的相对旋转匹配起来
- 29. 转移值的另一个
- 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