我正在Unity中制作迷宫类游戏,我想让角色面向键盘上的箭头键的方向,“当玩家向右按下时,角色应该面向右”
这是我到目前为止所得到的:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MovimentoBola : MonoBehaviour
{
public float speed = 10.0f;
public float rotationSpeed = 100.0f;
public GameObject skull;
float posx, posy;
float rotx, roty, rotz;
void Start()
{
posx = Time.deltaTime * speed;
posy = Time.deltaTime * speed;
rotz = skull.transform.rotation.z;
}
void Update()
{
if (Input.GetKey(KeyCode.UpArrow)) //Seta pra cima
{
transform.Translate(new Vector3(0, posy));
}
if (Input.GetKey(KeyCode.DownArrow)) //Seta pra baixo
{
transform.Translate(new Vector3(0, -posy));
}
if (Input.GetKey(KeyCode.RightArrow)) //Seta pra direita
{
transform.Translate(new Vector3(posx, 0));
rotz += 90;
}
if (Input.GetKey(KeyCode.LeftArrow)) //Seta pra esquerdas
{
transform.Translate(new Vector3(-posx, 0));
}
}
}
答案 0 :(得分:4)
所以您想让精灵反映玩家按下的方向吗?
最简单的方法是获取 SpriteRender 并翻转X值。像这样:
var sprite = GetComponent<SpriteRenderer>().flipX = true;
这将使精灵在X轴上翻转,而您不必弄乱转换,它将保留所有动画。要返回,只需将其设置为false。
答案 1 :(得分:2)
您可以尝试使用transform.Rotate(0, 0, 90);
旋转精灵,或者如果每个方向说1个精灵,请使用gameObject.GetComponent<Sprite>().sprite = yourSprite
更改精灵