【问题标题】:Top down Unity 2D player follow自上而下 Unity 2D 玩家关注
【发布时间】:2022-10-15 17:32:25
【问题描述】:

所以我从互联网上获得了一些用于 Unity 2D 中玩家跟随的代码,但动画似乎无法正常工作。作为参考,我正在为我的动画使用混合树。 (出于某种原因,StackOverflow 不允许我上传图片,这可能是我的问题。但是一旦我能够这样做,我会尝试更新这个线程)

using UnityEngine;
using System.Collections;
 
public class GhostAI : MonoBehaviour {
    public GameObject player; 

    private Transform playerPos; 
    private Vector2 currentPos; 

    public float distance; 
    public float speedEnemy; 

    public Rigidbody2D rb; 

    public Animator animator; 

    Vector2 originalPos = new Vector2(0, 0); 

    void Start () {
        playerPos = player.GetComponent<Transform>(); 
        currentPos = GetComponent<Transform>().position; 
    }
 
    void Update() {
    }
    void FixedUpdate() {
        if (rb.position.y > 1.3 || rb.position.y < -4.53 || rb.position.x < -8.55 || rb.position.x > 8.55) {
            rb.MovePosition(originalPos); 
        }

        if (Vector2.Distance(transform.position, playerPos.position) < distance) {
            transform.position = Vector2.MoveTowards(transform.position, playerPos.position, speedEnemy * Time.deltaTime); 
        } else {
            if (Vector2.Distance(transform.position, currentPos) <= 0) {
                print("hit"); 
            } else {
                transform.position = Vector2.MoveTowards(transform.position, currentPos, speedEnemy * Time.deltaTime);
            }
        } 
    }
}

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    转换 playerPos 是一个私有函数。确保将其设置为受保护!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-17
      • 2017-02-20
      • 1970-01-01
      相关资源
      最近更新 更多