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

敌人发射子弹问题
我想做一款手机游戏,射击类,其中有敌人自动发射子弹的,我不打明白思路,请大家帮我讲讲。谢谢大家。

------解决方案--------------------
自动发射子弹就隔一段时间画子弹然后改变坐标就是了啥、有什么不明白的呢?如果有什么复杂的需求。比如子弹有AI的话那么你就要实施相应的算法了啥!最常用的算是跟踪算法了!这与你控制的玩家有关系。具体当你可以google一下
------解决方案--------------------
子弹会走动,其实就是子弹的坐标改变,例如,敌人射击一个子弹出来,子弹将按照指定的轨迹运动,

子弹的走动可以用单独一个线程去做,也可以用另一个线程去控制,反正就是能有一个执行线程能不断更改子弹的坐标就可以了,至于子弹是否能跟踪,是子弹改变坐标的方式问题,用指定的算法改变坐标跟踪玩家角色。

例如
public class bullet
{
    public int x;//子弹的x坐标
    public int y;//子弹的y坐标

    public int ori;//子弹的走动方向,目前org为零,表示无方向

    public int speed;

    public void run()
    {
      //假设子弹是以直线走动的
      x++; 
    }

    public void drawBullet(GraphicsObject g)
    {
      g.draw(anyImage,x,y);
    }
}

使用子弹类
public class UseBullet
{
    Bullet b=new Bullet();
    
    public UseBullet()
    {
        //设置子弹的初发位置
        b.y=50;//设置子弹的y坐标位置
        b.x=20;//设置子弹的x坐标位置    
    }


    public void main()
    {
        while(true)
        {
           b.run();
           b.draw(g);
        }      
    }

}