Итак, этот код просто не отвечает по какой-либо причине.У меня есть враг, которого я постоянно пытаюсь встретить лицом к лицу с игроком (враг периодически перекидывает голову игрока вперед-назад).Но кроме того, что происходит переворот всякий раз, когда таймер достигает 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, потому что он не ищет скрипт проигрывателя.Он ищет дочернее преобразование без сценария, прикрепленного к игроку.И поскольку у меня есть два разных игровых объекта GameObject, на которые вы можете переключаться в любое время в игре, в этом отношении они мне не подойдут.