日期:2014-05-20  浏览次数:20710 次

请教高手做游戏时一些处理方法.谢谢.
1.关于飞机游戏屏幕内子弹的处理方法:
以前做过一个飞机游戏,当时是自己写了一个Manager类来管理屏幕类的所有子弹.包括移动,加入,去除,碰撞检测等.也不知道还有没有更好的办法,请高手们指教一下.
2.关于场景里人物的自动控制:
写了一个敌人的对象,这个对象有shot(),walk(int   dir),run(int   dir)等等方法,我现在希望它通过编程按照一定顺序执行这些方法(例如游戏里的自动控制),不知道用什么办法好?我想了一下就是跳出游戏循环,进入自动控制,再进入游戏控制的循环,不知道这样好不好.还有什么更好的办法呢?

------解决方案--------------------
2.
先执行可控制的角色的处理
然后再处理敌人,根据随机数和已有的状态选择执行不同的动作
------解决方案--------------------
高深 关注
------解决方案--------------------
对于玩家控制的主角,需要和键盘进行交互

if(按向上的键)
主角.向上移动();
else if(按向下的键)
主角.向下移动()
...


对于怪物,1类是低AI,只按自己的方式运动
比如
if(方向向上 && 可以向上运动)
继续向上运动();
else if(方向向上 && 不可以向上运动)
{
随机选择一个方向;
移动();
}
....

还有一类是高AI的,根据与玩家控制主角的相对方向及距离来进行不同的处理

if(与主角距离 <10)
向主角移动();
else
随机移动();
------解决方案--------------------
自动控制游戏里的所有人物(包括主角):像一个动画片一样
-------
那不就如同游戏录像一样吗。作为游戏,主角怎么能全自动呢?玩家如何参与?
------解决方案--------------------
写这种都是要有地图的啦,地图里面写清楚该点有没有什么特殊的事件触发,当走到的时候,获得触发的事件,然后怎么响应看你自己啦...例如这里要做一段动画什么的
------解决方案--------------------
你这样的方法在paint方法里用switch来做就可以,用个int变量,什么情况下要做什么事,只要改变这个值就可以