2017-09-23 126 views
2

我目前一直在使用我自己的实体系统进行我正在进行的游戏,但我刚刚了解到有关Gameplaykits使用skentity和skcomponent的情况。如何使用gameplaykit将场景编辑器中的实体分配给场景编辑器

这似乎是一个很好的设计模式,我想学习如何使用它。我到目前为止下面这个教程:

https://www.raywenderlich.com/155780/gameplaykit-tutorial-entity-component-system-agents-goals-behaviors-2

它是如何使用它相当详细,但我想知道如果不是在Gamescene.swift文件创建的实体,我能做到这一点在编辑器内?

目前我是大多数游戏元素的子类,所以我可以在编辑器中创建它,而子类完成所有工作。无需从场景文件中实例化它。但通过本教程,似乎你必须这样做,或者至少我不知道我能做到这一点。我可以将其子类化为编辑器中的SKEntity文件吗?

如果有人有任何答案,我很乐意听到他们。谢谢你的帮助!!!

+0

实体自动创建..实体不是精灵......实体有精灵组件 – Fluidity

+0

如何使一个实体,然后告诉编辑器中的精灵属于这个实体类型。最后,我需要在编辑器中添加额外的组件,所以我很好奇这是如何完成的。 – Discoveringmypath

+0

例如,我可以将skspritenode子类化为“硬币”。在编辑器中,我可以添加硬币并告诉它是我的硬币子类。然后在Coin.swift子类文件中,我可以创建一个Coin实体,并为它分配一些组件。我如何在编辑器中添加组件到硬币精灵中?我一直在玩它,似乎无法弄清楚如何去做... – Discoveringmypath

回答

0

是当然非常简单的继承子类GKEntityAttackCompoent.swift的一个例子。

class AttackComponent : GKComponent { 

    //define behaviour 


    override init() { 

    } 
} 



class Player: GKEntity { 
    overide init() { 

     // add components here 
     let attackComponent = AttackComponent() 
     self.addComponent(attackComponent) 

    } 

}当您添加组件

相关问题