Actionscript 3.0:为什么分离用于从对象本身移动对象的代码(例如Ball和Ball Mind)是个好主意

时间:2012-03-08 00:47:13

标签: actionscript-3 flash oop object actionscript

我的问题几乎就在标题中,为什么我一直在阅读动作脚本3.0中,在编写代码时从“对象”中分离“思想”是一个好主意?

感谢您的帮助,这让我感到困惑。

1 个答案:

答案 0 :(得分:6)

如果你问为什么图形与定位,运动和物理分离;拿这棵树我画了:

enter image description here

在树中,您会看到Entity有两个属性:

  1. 图形 - 实体应该是什么样的。
  2. 正文 - 实体所在的位置。
  3. 向下移动,您会看到有几个内容延伸Entity - 最值得注意的是PlayerEnemy类。

    扩展我的Entity课程,我可以轻松更改graphics应该使用的内容,并提供稍微不同的bodies。例如,玩家和敌人的外观明显不同,Tree类不需要使用处理速度等值的Body,因为它不会移动。

    以上是上述的一些优点:

    1. 我们可以创建没有图形的实体,从而节省性能和内存。
    2. 如果您使用MovieClip课程扩展MovieClip,我们可以使用不同类型的图片,而不必坚持Entity
    3. 我们可以在Graphics类中添加额外的逻辑,例如能够轻松地将Sprite或MovieClip转换为精灵表以获得更好的性能。
    4. 图形将更易于管理且更轻量级(而不是与每个实体自动捆绑)。
    5. 物理将更容易处理而无需了解图形。
    6. 可以更新Body,而不会对图形产生直接影响。
    7. 您对物理学与外观完全无关的理解将得到显着改善。