游戏场景管理
来源:互联网 发布:淘宝联盟看不到高佣金 编辑:程序博客网 时间:2024/05/21 08:45
先说明几个问题
1) 地图是原点是在左上角(0,0),从左向右是X轴的递增,从上到下是Y的递增。
2) 根据ZONE的大小把整张地图分割为一个个相连的ZONE,大小根据需求定,我们定为600*400(客户端最大屏幕 1600 * 900)
3) 分完之后地图就是这个样子了(每个数子就是一个ZONE,9宫格的一个格子)
0 1 2 3
4 5 6 7
8 9 10 11
4) 根据人物的坐标和ZONE的大小,就可以算出人物是在哪个格子里。
一个人物出现在地图上,把人物的obj加到所在的ZONE里,同时给附近9个格子的人广播addplayer。
比如人物出现在6,那么1,2,3,5,6,7,9,10,11里的人物就会收到广播包,人物进入他们的视野。
人物移动时,如果人物从一个ZONE跑到了另一个ZONE,把人物的obj移到另外一个ZONE了,同时
给那些离开他们视野发生deleteplayer,给进入他们视野的人addplayer,当然,那些重合的ZONE就不需处理了。
因为地图上每个ZONE都保存着进入的obj,所以广播时直接可以拿到这些obj。
1) 地图是原点是在左上角(0,0),从左向右是X轴的递增,从上到下是Y的递增。
2) 根据ZONE的大小把整张地图分割为一个个相连的ZONE,大小根据需求定,我们定为600*400(客户端最大屏幕 1600 * 900)
3) 分完之后地图就是这个样子了(每个数子就是一个ZONE,9宫格的一个格子)
0 1 2 3
4 5 6 7
8 9 10 11
4) 根据人物的坐标和ZONE的大小,就可以算出人物是在哪个格子里。
一个人物出现在地图上,把人物的obj加到所在的ZONE里,同时给附近9个格子的人广播addplayer。
比如人物出现在6,那么1,2,3,5,6,7,9,10,11里的人物就会收到广播包,人物进入他们的视野。
人物移动时,如果人物从一个ZONE跑到了另一个ZONE,把人物的obj移到另外一个ZONE了,同时
给那些离开他们视野发生deleteplayer,给进入他们视野的人addplayer,当然,那些重合的ZONE就不需处理了。
因为地图上每个ZONE都保存着进入的obj,所以广播时直接可以拿到这些obj。
- 游戏场景管理设计
- 游戏场景管理设计
- 游戏场景管理设计
- 游戏场景管理
- 小议游戏场景管理设计
- [图形学] 游戏中的场景管理
- 游戏服务器场景管理AOI方案
- 游戏服务器场景管理AOI方案
- 游戏服务器场景管理AOI方案
- 游戏服务器场景管理AOI方案
- 游戏服务器场景管理AOI方案
- 3D游戏场景管理概述
- 游戏场景
- 在3D游戏中采用场景管理的意义
- 在3D游戏中采用场景管理的意义
- 游戏开发笔记(八)——场景对象管理
- 场景管理
- 场景管理
- oracle数据库异常---SP2-1503: 无法初始化 Oracle 调用界面 SP2-1503: 无法初始化 Oracle 问题的解决办法
- 游戏后台设计考虑点(来自工作实践中的一些经验)
- Events事件传播测试实例
- AIDL
- java中swing布局
- 游戏场景管理
- android boot.img 拆包,修改adb 具有root权限,以i9250为例
- MySQL中涉及的几个字符集
- SSH Java三大框架整合(Struts 2+Hibernate+Spring+mysql)
- Curl使用问题
- 【MFC/C++ 操作Excel】C++下TextToColumns函数的参数
- Cocos2dx 下对sqlite3 的简单封装
- 视频处理的一些经验
- flex中的DataGrid组件