Здравствуйте, я новичок в использовании Unity и C #. В настоящее время я делаю игру для проекта, в которой я использовал учебник по pacman, и делаю его многопользовательским. Мне удалось заставить многопользовательскую часть работать, однако, как только я добавил два игровых объекта, которые имеют позицию начала сети и добавили в сетевой менеджер в разделе информации о появлении, мои триггеры внезапно перестали работать. Мой объект игрока должен заставить точки Pacman исчезать, когда он сталкивается с ним, и объект My player должен исчезать, когда он сталкивается с призраком pacman. Может кто-нибудь сказать мне, что происходит?
Мой PlayerObject:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
public class UFOMove : NetworkBehaviour
{
public float speed;
private Rigidbody2D rb2d;
void Start()
{
rb2d = GetComponent<Rigidbody2D>();
}
void Update()
{
if (!isLocalPlayer)
{
return;
}
}
void FixedUpdate()
{
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");
Vector2 movement = new Vector2(moveHorizontal, moveVertical);
rb2d.AddForce(movement * speed);
}
}
Движение моего призрака:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GhostMove : MonoBehaviour
{
public Transform[] waypoints;
int cur = 0;
public float speed = 0.3f;
void FixedUpdate()
{
if (transform.position != waypoints[cur].position)
{
Vector2 p = Vector2.MoveTowards(transform.position,
waypoints[cur].position,
speed);
GetComponent<Rigidbody2D>().MovePosition(p);
}
else
cur = (cur + 1) % waypoints.Length;
Vector2 dir = waypoints[cur].position - transform.position;
GetComponent<Animator>().SetFloat("DirX", dir.x);
GetComponent<Animator>().SetFloat("DirY", dir.y);
}
void OnTriggerEnter2D(Collider2D co)
{
if (co.name == "UFO")
Destroy(co.gameObject);
}
}
Точка Пакмана:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PacDot : MonoBehaviour
{
void OnTriggerEnter2D(Collider2D co)
{
if (co.name == "UFO")
Destroy(gameObject);
}
}