|
5
|
| Layon Tavares · 技术社区 · 10 年前 |
|
|
1
5
这取决于你做什么以及每个角色除了使用组件之外做什么。 使用gameplayKit,我可能更喜欢创建实体类,而不仅仅是类。 你是否考虑只使用一个玩家实体,而当你改变角色时,你只是删除/添加该角色的组件。 假设你从攻击型变为跳跃型,你可以去掉攻击组件
并添加跳跃组件
通常,您希望确保您的组件尽可能灵活和通用。 例如,您的spriteComponent应该在其init方法中获取一个图像字符串/纹理,这样您可以向每个实体添加相同的组件,但使用不同的图像。
现在,您可以在使用不同图像的同时为每个角色添加相同的组件
动画和其他组件也是如此。 我对待它的方式是这样的。 假设我有一个游戏,我有10种类型的敌人,它们或多或少是相同的。我可能会尝试只拥有一个敌人实体类,将所有10个敌人使用的所有组件。然后,我将添加相关组件,使每个组件动态地或基于我将在init方法中传递的enumType唯一。 另一方面,假设我有3个主要角色,他们都做了非常独特的事情,可能比只创建3个实体类更简单更干净。同样不要忘记子类化,这样您可以创建一个包含所有共享组件的实体类,而不是子类化其他2个实体。 苹果在DemoBots中做到了这一点,在DemoBots中,他们有一个TaskBot实体,而不是FlyingBoy实体和GroundBot实体。这两个实体都是TaskBot的子类。 这真的取决于你。 |
|
|
Danil · 种子/填充核心数据的最佳实践?[关闭] 1 年前 |
|
|
Robin · LazyVGrid项目预计不会击中测试区域 1 年前 |
|
|
Alex Smith · 移动到下一个视图控制器后如何显示警报? 1 年前 |
|
selcukctn · 如何在react native中制作无限动画? 1 年前 |
|
|
Nicolas Gimelli · iOS 18远程通信通知不起作用 1 年前 |