因此,无论出于何种原因,这段代码都没有响应。我有一个敌人,我一直试图让它面对玩家(敌人周期性地来回掠过玩家的头)。但是,除了在计时器达到 0 时发生翻转(这并不能很好地工作)之外,我无法让 Flip 功能正常工作。我知道 Flipper 功能很好;我已经测试了它和一切。我只是不知道如何告诉敌人,当玩家在它的左边时,要转弯,反之亦然。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class dragoonDetection : MonoBehaviour {
private Rigidbody2D rb;
private Animator anim;
public Transform Player;
private bool facingRight = true;
void Start ()
{
rb = GetComponent<Rigidbody2D> ();
anim = GetComponent<Animator> ();
}
void Update()
{
Flip();
}
void Flip()
{
if (Player.transform.localScale.x > 0) {
transform.localScale = new Vector3 (1.69f, 1.54f, 1f);
}
if (Player.transform.localScale.x < 0) {
transform.localScale = new Vector3 (-1.69f, 1.54f, 1f);
}
}
void Flipper()
{
facingRight = !facingRight;
Vector2 theScale = transform.localScale;
theScale.x *= -1;
transform.localScale = theScale;
}
}
有什么想法吗?我宁愿避免使用 FindGameObject,因为它实际上并不是在寻找玩家脚本。它正在寻找一个没有附加到播放器的脚本的子变换。而且因为我有两个不同的玩家游戏对象,您可以在游戏中随时切换它们,所以在这方面对我来说真的不起作用。
相关分类