KBEngine官方论坛

 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 配置 开服
查看: 411|回复: 12

客户端avatar的onEnterWorld和onEnterSpace有什么区别?

[复制链接]

20

主题

55

帖子

208

积分

中级会员

Rank: 3Rank: 3

积分
208
发表于 2018-6-4 21:43:41 | 显示全部楼层 |阅读模式
我看源码里在onEnterWorld里调用了onEnterSpace,这俩个回调指的是什么呢
回复

使用道具 举报

5

主题

4837

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2018-6-5 09:43:20 | 显示全部楼层
简单理解为在客户端创建cell实体会onEnterWorld, 已经创建的实体跳转场景则是onEnterSpace, 通常是玩家自己
QQ:3603661
3603661@qq.com
回复

使用道具 举报

20

主题

55

帖子

208

积分

中级会员

Rank: 3Rank: 3

积分
208
 楼主| 发表于 2018-6-6 20:04:42 | 显示全部楼层
好的谢谢
回复

使用道具 举报

30

主题

188

帖子

566

积分

高级会员

Rank: 4

积分
566
发表于 2018-11-6 17:37:53 | 显示全部楼层
柯标 发表于 2018-6-5 09:43
简单理解为在客户端创建cell实体会onEnterWorld, 已经创建的实体跳转场景则是onEnterSpace, 通常是玩家自 ...

可以理解为如果当前玩家不再任一场景,则加入新场景时是onEnterWorld;
如果玩家当前处于某个场景之中,然后未先退出当前场景直接跳转到其它场景则是onEnterSpace?
比如从房间1退出后再进入房间1/2是onEnterWorld;直接从房间1进入房间2是onEnterSpace(允许这样是吗),这样理解对吗?
回复

使用道具 举报

5

主题

4837

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2018-11-7 10:35:39 | 显示全部楼层
QQ:3603661
3603661@qq.com
回复

使用道具 举报

5

主题

11

帖子

59

积分

注册会员

Rank: 2

积分
59
发表于 2019-1-9 17:56:18 | 显示全部楼层
本帖最后由 JasonGame 于 2019-1-9 18:06 编辑

现在我遇到个问题,比如我把account的cell放入到了room的cell中了, 然后我杀掉进程,然后重启,服务器也杀掉重启,但是客户端会回调onEnterSpace,而不是按道理不应该是两次onEnterWorld吗?新建账号第一次会调用两次enterWorld,但是杀了客户端杀掉进程然后服务器杀掉进程之后就会调用到onEnterSpace,还是说哪里有问题?
回复

使用道具 举报

5

主题

4837

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2019-1-10 10:01:13 | 显示全部楼层
你杀掉了进程,服务器会找其他cellapp恢复,你之后再进入就是onEnterSpace
QQ:3603661
3603661@qq.com
回复

使用道具 举报

5

主题

11

帖子

59

积分

注册会员

Rank: 2

积分
59
发表于 2019-1-10 10:06:58 | 显示全部楼层
柯标 发表于 2019-1-10 10:01
你杀掉了进程,服务器会找其他cellapp恢复,你之后再进入就是onEnterSpace

那我再次进入的时候,cellapp恢复,此时account在房间room cell里面是吗?此时客户端的room会同步吗?那我客户端怎么获取到room 的实体呢?
回复

使用道具 举报

5

主题

4837

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2019-1-10 10:09:06 | 显示全部楼层
客户端登录就能获得啊。 跟一个号挤了另一个号差不多。
QQ:3603661
3603661@qq.com
回复

使用道具 举报

5

主题

4837

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2019-1-10 10:09:30 | 显示全部楼层
还有, 杀死cell不是一个好操作,避免这么干。
QQ:3603661
3603661@qq.com
回复

使用道具 举报

5

主题

11

帖子

59

积分

注册会员

Rank: 2

积分
59
发表于 2019-1-10 10:36:11 | 显示全部楼层
柯标 发表于 2019-1-10 10:09
还有, 杀死cell不是一个好操作,避免这么干。

是杀掉进程就是杀死cell吗?所有以后杀掉进程就执行safekill.bat?现在我重新登录后,打印了下KBEngineApp.app.entities,发现只有一个实体,这个实体就是account的实体,并没有room的实体,是不是说明在服务器没有room 的cellapp?但是客户端又收到了AddSpaceGeometryMapping回调,这个方法是在cell 下面的room初始化调用的,还是说account和room没有关联到一起?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

5

主题

4837

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2019-1-10 13:39:47 | 显示全部楼层
简单说, 运行中不要把服务器进程弄没了,不管你什么方式。
QQ:3603661
3603661@qq.com
回复

使用道具 举报

5

主题

4837

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2019-1-10 13:40:45 | 显示全部楼层
room实体不是必要同步到客户端的, 实体是否同步一切看是否在你玩家的view内。
QQ:3603661
3603661@qq.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|KBEngine Forum

GMT+8, 2019-4-25 06:44 , Processed in 0.051178 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表