1 回答

TA贡献1836条经验 获得超4个赞
您将“temp”设置为等于 transform.position,但这并不意味着 transform.position 等于 'temp'。在这里,下面的脚本应该给你你想要的
using UnityEngine;
public class PlayerController : MonoBehaviour
{
private float speed = 3f;
private Animator anim;
private SpriteRenderer sr;
void Awake()
{
anim = GetComponent<Animator>();
sr = GetComponent<SpriteRenderer>();
}
void Update()
{
Move();
}
void Move()
{
float h = Input.GetAxisRaw("Horizontal");
transform.Translate(Vector2.right * (h * speed * Time.deltaTime));
anim.SetBool("Walk", h != 0f);
if (anim.GetBool("Walk"))
Flip(h > 0f);
}
void Flip(bool facingRight)
{
sr.flipX = !facingRight;
}
}
- 1 回答
- 0 关注
- 94 浏览
添加回答
举报