であるため、私は最近C#を学び始めましたが、私はあなたのうちの何人かが私を助けてくれることを願っています。私たちはUnity5でゲームを開発しています。選手の健康が0になると、人形の機能が蹴られますが、残念ながら私は方法グループなので死を呼び出すことはできません。乾杯。ここでは、コード(エラーがライン47と53で私をせていなかったので、私はので、私はユニティでプレイモードに入ることができ、それをコメントアウト)です:"Death"はメソッドグループが
using UnityEngine;
using System.Collections;
public class EnemyAI_Basic : MonoBehaviour
{
private EnemyAI_Basic enemyAI_Basic;
Animator controller;
float health;
Animator anim;
bool Alive = true;
public bool Dead = false;
int pointValue = 5;
private Collider myCollider;
private Rigidbody myRigidbody;
CapsuleCollider capsuleCollider;
void Start()
{
controller = GetComponentInParent<Animator>();
health = 40;
capsuleCollider = GetComponent<CapsuleCollider>();
anim = GetComponent<Animator>();
}
void Update()
{
if (!Dead)
{
anim.SetTrigger("Alive");
}
}
void Death()
{
Dead = true;
Alive = false;
capsuleCollider.isTrigger = true;
anim.SetTrigger("Dead");
Destroy(gameObject, 4f);
}
void OnEnable()
{
SetInitialReferences();
enemyAI_Basic.Death += ActivateRagdoll;
}
void OnDisable()
{
enemyAI_Basic.Death -= ActivateRagdoll;
}
void SetInitialReferences()
{
enemyAI_Basic = transform.root.GetComponent<EnemyAI_Basic>();
if (GetComponent<Collider>() != null)
{
myCollider = GetComponent<Collider>();
}
if (GetComponent<Rigidbody>() != null)
{
myRigidbody = GetComponent<Rigidbody>();
}
}
void ActivateRagdoll()
{
if (myRigidbody != null)
{
myRigidbody.isKinematic = false;
myRigidbody.useGravity = true;
}
if (myCollider != null)
{
myCollider.isTrigger = false;
myCollider.enabled = true;
}
}
}
なぜあなたはあなたの 'Death'メソッドの中で' ActivateRagdoll'を呼んでいませんか?私はあなたが 'enemyAI_Basic.Death + = ActivateRagdoll; 'を見つけたのか、なぜこれがあなたがしたいことをしたのか考えていませんでした。 – UnholySheep
' Death'はメソッドであり、イベントではありません。多分、C#https://msdn.microsoft.com/en-us/library/aa645739(v=vs.71)のイベントをお読みください。aspx – juharr
さて、私はチュートリアルやそれをモデリングして、他の部分を追加して助けてくれてありがとうございます(私は本当にnoobです)。後でもう一度見て、チュートリアルを見る予定です。 – Napter77