对于坦克的移动,我们只需要检测坦克方向键是否被按下,然后检测按下的方向移动
可以创建一个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;
}
}
}