我没看过过关类游戏(如三国志等)的源代码,这几天我也一直在考虑此类游戏的编程方法,现有一个问题与大家探讨一下.
首先初始化游戏,载入地图,然后在地图的各个不同地方放上怪物,怪物的状态有睡着的,有巡逻的(即怪物的位置坐标(x,y)在不断变化),怪物数量在100个以上,由于地图远大于屏幕,这就需要控制哪些怪物在屏幕上显示.我的处理方法是:
定义一个数组,里边放入了初始化时的所有怪物,每次在游戏主循环中,都需与此数组中的每个怪物的位置坐标(x,y)做比较,以此确定那个怪物需在屏幕输出.不只我的这种方法行不行?大家还有没有更好的办法?请指教!
还有,在屏幕显示范围内的各种怪物需进行各种运算,而我把不在屏幕显示范围内的怪物也进了运算(如巡逻),不知道我这样做可不可以,会不会影响效率? |