0
我正处于一个游戏工作的中间,而我刚刚开始。我在地图上添加了png,并且在我想要无法通过的区域周围添加了对撞机(它是2D平台游戏)。我有一个敌人已经设计并增加了2DRigidBody组件,因为它四处移动,并开始使用2DBoxColliders作为对撞机的水平,我的剧本我写了:二维多边形对撞机不会导致与二维多边形对撞机碰撞
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Sexapus : MonoBehaviour {
public static int Velocity = 42;
public Rigidbody2D rb;
public Vector2 dir;
public Animator anim;
void Start() {
rb = GetComponent<Rigidbody2D>();
dir = new Vector2(1, 0);
anim = GetComponent<Animator>();
}
// Update is called once per frame
void Update() {
rb.velocity = dir * Velocity;
anim.SetFloat ("Direction", dir.x);
}
void OnCollisionEnter2D (Collision2D col) {
dir = dir * -1;
}
//CHECK TASKS
}
意味着敌人会撞到墙的一侧,然后旋转并开始转向另一个方向。我意识到我的地图大小使用多个2DBoxColliders(当我说多个时,我的意思是我可能需要使用一百多个),这是一个非常糟糕的方式。我现在已经开始为地图使用2DpolygonCollider,但现在敌人不会与墙壁碰撞并转身,它只会朝向相同的方向,但不会移动。有人知道为什么