using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player : MonoBehaviour {
#region 属性值
public float moveSpeed;//坦克移动速度
#endregion
#region 引用值
private SpriteRenderer sprRenderer;//存储图片的引用
public Sprite[] sprMove;//移动切换图片
public GameObject bulletPrefab;//子弹引用
#endregion
private void Awake()
{
sprRenderer = this.GetComponent<SpriteRenderer>(); //获取图片的引用
}
void Start () {
}
void Update () {
}
private void FixedUpdate()
{
TankMove();//坦克移动
Attack();
}
/// <summary>
/// 坦克移动
/// </summary>
private void TankMove()
{
float h = Input.GetAxisRaw("Horizontal");//获取水平输入
float v = Input.GetAxisRaw("Vertical");//获取垂直输入
#region 移动图片切换
if (h > 0)
{
sprRenderer.sprite = sprMove[0];//右移
}
else if (h < 0)
{
sprRenderer.sprite = sprMove[1];//左移
}
transform.Translate(Vector3.right * h * moveSpeed * Time.deltaTime);//水平移动
//设置移动优先级
if (h != 0)
{
return;
}
if (v > 0)
{
sprRenderer.sprite = sprMove[2];//上移
}
else if (v < 0)
{
sprRenderer.sprite = sprMove[3];//下移
}
transform.Translate(Vector3.up * v * moveSpeed * Time.deltaTime);//垂直移动
#endregion
#region 图片旋转
#endregion
}
/// <summary>
/// 坦克的攻击方法
/// </summary>
private void Attack()
{
if (Input.GetKey(KeyCode.J))
{
Instantiate(bulletPrefab, transform.position, transform.rotation);//生成的物体,位置,旋转角度
}
}
}
拖入子弹的预制体到bulletPrefab