您的位置:首页 > 科技 > 能源 > 深圳定制网站制作_河南洛阳疫情最新消息_新闻稿件代发平台_网站优化技巧

深圳定制网站制作_河南洛阳疫情最新消息_新闻稿件代发平台_网站优化技巧

2024/12/23 12:35:26 来源:https://blog.csdn.net/2401_84659046/article/details/142676165  浏览:    关键词:深圳定制网站制作_河南洛阳疫情最新消息_新闻稿件代发平台_网站优化技巧
深圳定制网站制作_河南洛阳疫情最新消息_新闻稿件代发平台_网站优化技巧

对于坦克的移动,我们只需要检测坦克方向键是否被按下,然后检测按下的方向移动

可以创建一个bool类型检测按键是否被按下,在按下检测方向处将bool类型修改为false case

bool yidong=false;//默认没按下

case Keys.W:
   
     yidong = true;//改变为按下
     break;

上一节我们还说了在检测按下事件还有对应匹配的检测松开,这时候我们就可以在检测松开处检测如果松开按键就将移动设置为false

 case Keys.W:
   
     yidong = false;
     break;

我们每帧会调用GameObject类中的绘制方法,玩家坦克类身为他的子类,可以直接调用他的绘制方法

这时候我们需要创建一个方法将父类的绘制方法包含进去再加上自身的检测移动方法,为了方便后续使用我们可以在父类中创建一个虚方法让子类重写

public virtual void update()//创建一个虚方法给子类重写,方便后续调用
 {

     HuiZhi();
 }

子类重写时需要在方法中获取到父类的绘制方法后续直接调用

public override void update()//重写父类的代码
 {
     Yidong();
     base.update();//获取父类中此方法的代码,获取绘制方法
 }

base为获取父类此方法中的所有代码,都是未来后续添加代码方便使用

检测移动代码

public void Yidong()//检测移动代码
{
    if(yidong==true)//如果确认移动
    {
        switch(fangxiang)//检测移动方向
        {
            case fangxiang.Up:
                y -= speed;
                break;
                case fangxiang.Down:
                y += speed;
                break;
                case fangxiang.Left:
                x -= speed;
                break;
                case fangxiang.Right:
                x += speed;
                break;
        }
    }
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com