Skip to content

何时算是进入了World和Space(创建space) ?

ilvxna edited this page Aug 6, 2018 · 2 revisions

: 我自己照着demo写的.... 我在Avatar的base部分的onEntitiesEnabled里调用了self.createInNewSpace(self), 并且服务端上Avatar的base也正确触发了onGetCell() 客户端里的Avatar也走了__init__()

但是我在客户端的Avatar里的__init__里 rigisterOut了 onEnterWorld 和 onEnterSpace 这两个函数, 却并没有触发...

我以为 调用了createInNewSpace或者createCellEntity后 即有了cell部分就算是进入Space了 客户端的onEnterSpace就应该触发了.. 难道不是这样的吗? 我还少做了什么事情?

: createInNewSpace目前来说基本可以理解为创建一个cell上的space,因此Avatar想进入space不是调用createInNewSpace,因为还没有创建space。 调用createInNewSpace只是创建了一个space,因此玩家也没有进入和离开space一说。

除非以后引擎能对这一块做新支持,(将玩家创建在一个新的space上,既创建一个新的space之后让玩家进入该sapce)。

你应该用createCellEntity来讲玩家的cell创建在某个space中。

: 创建space只需要几步 1:baseapp上createBaseLocally创建一个space实体,假设叫spaceEntity 2:通过这个space实体在cellapp上创建出真正意义的space出来, spaceEntity.createInNewSpace 3: spaceEntity的onGetCell回调之后就说明创建完毕了。

进入space: 你的玩家在baseapp上调用avatar.createCellEntity(得到你之前的spaceCellMailbox就行了), 如spaceEntity.cell。

已支持Avatar调用createInNewSpace同时进入space

Clone this wiki locally