方法一:
通过素材的图片控制Player的方向转动
Player
private SptiteRenderer srl
Update()
方法一:
通过素材的图片控制Player的方向转动
Player
private SptiteRenderer srl
Update()
这样写会出现一个问题,比如玩家如果同时按上和左建,坦克会斜着移动,所以建议将transform.Translate(Vector3.up * v * moveSpeed * Time.deltaTime,Space.World);
transform.Translate(Vector3.up * h * moveSpeed * Time.deltaTime,Space.World);这两句写在if里面,且在交换精灵之后应该更合理,先换图再移动。
if (h < 0)//左边
{
sr.sprite = tankSprite[3];
transform.Translate(Vector3.right * h * moveSpeed * Time.deltaTime, Space.World);
}
else if(h > 0)
{
sr.sprite = tankSprite[1];
transform.Translate(Vector3.right * h * moveSpeed * Time.deltaTime, Space.World);
}
else if(v > 0)
{
sr.sprite = tankSprite[0];
transform.Translate(Vector3.up * v * moveSpeed * Time.deltaTime, Space.World);
}
else if(v < 0)
{
sr.sprite = tankSprite[2];
transform.Translate(Vector3.up * v * moveSpeed * Time.deltaTime, Space.World);
}
else
{
return;
}
Horizontal x轴
Vertical Y轴
这老师代码写的真不讲究
通过建立访问数组来解决图片方向的问题
代码控制图片移动切换:
private SpriteRenderer sr;
public Sprite[] tankSprite;
private void Awake(){
sr=GetComponent<spriteRenderer>();
}
if(h<0)
{
sr.sprite=tankSprite[3];
}
else if(h>0)
{
sp.sprite=tankSprite[1]
}