我是 Unity 的血腥初学者,目前正在开发 2D Brawler。运动完美,但我的对撞机没有做他们应该做的......我想检测两个游戏对象是否发生碰撞(Spear 和 Player2)以及碰撞的 Player2 的 healthPoints 是否应该减少 Spears AttackDamage。
游戏对象的名称也是它们的标签。Spears Prefab 具有以下配置:SpriteRendered(Material Sprites-Default)、BoxCollider2D(Material None Physics Material 2D、IsTrigger(未激活)、UsedByEffector(也未激活) Rigidbody2D(Kinematic、None Material、Simulated(Activated)、KinematicContacts(激活),其余的标准配置))
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SpearCtr : MonoBehaviour {
public Vector2 speed;
public float delay;
Rigidbody2D rb;
void Start ()
{
rb = GetComponent<Rigidbody2D>();
rb.velocity = speed;
Destroy(gameObject, delay);
}
void Update ()
{
rb.velocity = speed;
}
}
玩家配置 Spears 配置 这是我之前尝试过的代码
OnCollision2D(Collision2D target);
{
if (target.gameObject.tag == "Spear")
{
hp = -1;
if (hp <= 0)
{
alive = false;
}
}
}
我希望有人能告诉我如何让这个工作感谢所有的答案(顺便说一句,对不起我的英语不好,我是奥地利人) 在此处输入图像描述