今天是 Composite 单元的最後一篇,既前两篇看了基本属性、建构方法後,最後一篇要来看 Composite 模组到底有哪些方法,让我们能够用来操控或获取 Composite 相关资讯。
方法依据 API 文件总共有 14个。
我们用用途来分可以分成以下几个用途:
这类的组成内容是指 Composite 里面建构用的物体。
Create 我们第一天有讲过,Add 也有提过,一个是创建,一个就是单纯在组合体里增加新的物体(参考Day23)
剩下的 Clear / Move / Remove 其实也很单纯
Clear 是清掉整个 Composite 里面的内容,Move 跟 Remove 就是对 Composite 里面单一的内容作操作,向是我们弹珠台第四天(Day15)把钉子移掉,就有用过 Remove 来把钉子从 engine.World 里面移除。
这几个比较像本身属性的揭露,提供一个不要直接读取本身属性的方式,包了一层函式来控制逻辑。
Bounds 就是拿取现在这个组合体的边界。
这边的AllBodies,就算你的层级是
compositeA -> bodyA
-> bodyA2
-> constraintA
-> compositeB -> bodyB
-> bodyB2
呼叫 Composite.allBodies(compositeA) 则会回传 bodyA, bodyA2, bodyB, bodyB2,是回传所有的物体,不管是不是被归在其他子 Composite 底下。
Rotate 是旋转,Scale 是变大变小, Translate 是位移,我们可以对整个组合体操作,比如说之前的 twitter Icon,他就会是透过这些方法来操控,方法本身参数都跟 Body 模组中的大同小异,这边就不特别多提。
Rebase 是用来重新分配 Composite 里面的 Id, SetModified 是用来操控 isModified 这个 flag 的,这两个属性前面都有提过,一般情况下交给函式库操作就好,除非你已经要去覆写某些机制。
今天比较没有 Demo,但大概带大家走过了一次所有方法,Demo的部分如果之後想到比较好的展示手段会再补进这篇。其实这些方法本身也没有太多难以理解的地方,希望今天的内容能帮助大家快速的了解相关的所有函式,有需要使用的话再细部去了解就可以了,那我们的 Composite 模组到这边,也就告一个段落了。
我实在没想到我能坚持连续30天不间断发文,对我来说真的是一大挑战,因为我不是一个经得起坚持的人,这次...
资料型别 为何需判断型别,其因为电脑在执行时,需先判断资料是何种型别,才可采取运算方式。例如数字12...
今天是弹珠台完成後的第一篇,我们依然会带大家看一些还没提到的模组,最後再来做一个小实作,实作题目先卖...
今天来了解 JavaScrip 的 LHS 错误、RHS 错误,两者皆与取值、赋值有关,首先先来了解...
这篇的Switch button与前几篇的ToggleButton很类似, 但ToggleButto...