Actionscript 3 ActionScript3.0:为什么将用于移动对象的代码从对象本身分离出来是一个好主意(例如,球和球思维)
我的问题几乎就在标题中,为什么我一直在读ActionScript3.0,在编写代码时把“思想”和“对象”分开是个好主意Actionscript 3 ActionScript3.0:为什么将用于移动对象的代码从对象本身分离出来是一个好主意(例如,球和球思维),actionscript-3,flash,oop,object,actionscript,Actionscript 3,Flash,Oop,Object,Actionscript,我的问题几乎就在标题中,为什么我一直在读ActionScript3.0,在编写代码时把“思想”和“对象”分开是个好主意 谢谢你的帮助,这让我非常困惑。如果你问为什么图形与定位、运动和物理分离;以我画的这棵树为例: 在树中,您将看到实体有两个属性: 图形-实体的外观 实体-实体应位于的位置 向下移动,您将看到有几个东西扩展了实体——最值得注意的是玩家和敌人职业 扩展上面的实体类,我可以很容易地更改应该用作图形的内容,还可以提供稍微不同的主体。例如,玩家和敌人的外观明显不同,而树类不需要使用主体来
谢谢你的帮助,这让我非常困惑。如果你问为什么图形与定位、运动和物理分离;以我画的这棵树为例: 在树中,您将看到
实体
有两个属性:
实体
——最值得注意的是玩家
和敌人
职业
扩展上面的实体
类,我可以很容易地更改应该用作图形的内容
,还可以提供稍微不同的主体
。例如,玩家和敌人的外观明显不同,而树
类不需要使用主体
来处理速度等值,因为它不会移动
以下是上述方法的一些优点:
实体
类扩展了MovieClip
,我们可以使用不同类型的图形,而不必坚持使用MovieClip
Graphics
类中添加额外的逻辑,例如能够轻松地将精灵或MovieClip转换为精灵表以获得更好的性能正文
可以在不立即影响图形的情况下进行更新你的意思是将“身体”(一个物体的数学表示,它也控制运动、碰撞等)从实际图形中分离出来吗?因为一般来说,球的大脑不需要知道球的一切,只需要知道它工作所必需的部分。如果每件事都与每件事交织在一起,那么在不改变其他一切的情况下进行孤立的改变几乎是不可能的。因此,将球分割成独立的抽象被认为是良好的实践。这是一种封装形式,即信息隐藏。这是强大的,因为它允许您,例如,将球的图形交换为更大的球,或添加20个具有相同行为的球,等等。高内聚、低耦合。