项目-坦克大战学习笔记-坦克移动

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

可以创建一个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;
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值