私は血まみれの初心者です。私は現在、2D Brawlerで作業しています。動きは完全には動作しますが、私のコライダーは何をすべきかはしません...私は2つのGameObjects Collide(SpearとPlayer2)が衝突しているか、Spears AttackDamageによってPlayer2のhealthPointsが減少するかどうかを検出したいと思います。コリジョンコールバック関数が呼び出されていません
ゲームオブジェクトの名前もタグです。 SpriteRedered(Material Sprites-Default)、BoxCollider2D(Material None物理材料2D、IsTrigger(非アクティブ)、UsedByEffector(非アクティブ)Rigidbody2D(キネマティック、非マテリアル、シミュレート(活動化)、KinematicContacts残りのため)、標準のconfigs))
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;
}
}
プレーヤーの設定 スピアーズ設定 これは、私は誰かがこの作業を取得する方法を教えてくださいことを願って、私は
OnCollision2D(Collision2D target);
{
if (target.gameObject.tag == "Spear")
{
hp = -1;
if (hp <= 0)
{
alive = false;
}
}
}
前に試してみましたコードでした ありがとうすべての答え (私の悪い英語のためところで申し訳ありませんが、私はオーストリア午前)OnCollisionEnter()
が動作しない理由を enter image description here
。 – CNuts
衝突を検出しません。 –
IsKinematicをtrueに設定すると、衝突を検出しません。 – CNuts