【unity】控制角色移动与2D的图片转向
程序员文章站
2022-04-01 09:43:11
...
using System.Collections;
using System.Collections.Generic;
using System.Net.Mime;
using UnityEngine;
public class Player : MonoBehaviour
{
private SpriteRenderer sr;
public Sprite[] tankSprite;// 放入不同方向的角色的转向的图片,分别是 上 右 下 左
private void Awake()
{
sr = GetComponent<SpriteRenderer>();
}
public float moveSpeed = 3; // 定义移动速度
// Start is called before the first frame update
void Start()
{
}
private void FixedUpdate() //fixedupdate:使每一帧物体所受的牛顿力相同,可以解决物体碰撞时抖动问题
{
float h = Input.GetAxisRaw("Horizontal");
//监控,可以获取玩家输入的左右方向键的值
//按下a或者←时候就是坐标轴中的负方向,可以是为-1;
transform.Translate(Vector3.right * h * moveSpeed * Time.deltaTime, Space.World);
// 向右为主方向 h为判断左右 每秒的时间 在地图世界的框架里
if (h < 0)
{
sr.sprite = tankSprite[3];//当向左,小于了0,那就把图片sprite换成Sprite[]数组里面存下来的第三个数组
}
else if (h > 0)
{
sr.sprite = tankSprite[1];//向右,大于零,用数组中1的位置
}
float v = Input.GetAxisRaw("Vertical");//用来监听用户的垂直方向的键
transform.Translate(Vector3.up * v * moveSpeed * Time.deltaTime, Space.World);
if (v < 0)
{
sr.sprite = tankSprite[2];
}
else if (v > 0)
{
sr.sprite = tankSprite[0];
}
}
// Update is called once per frame
void Update()
{
}
}
``
上一篇: 乱序字符串(PHP版本)
下一篇: CentOS 7下GitLab搭建及配置