-1
Unityで継承に問題があります。 Angryが感情を継承する2つのクラス、1つはAngryと呼ばれ、もう1つはEmotionと呼ばれます。問題に今Unity MonoBehaviourを継承する抽象オブジェクトから継承する
public class Angry : Emotion {
public override void initialize(float _emotion_strength, float _flux, UMAExpressionPlayer _umaExpression) {
}
public override void emote()
{
}
}
:
public abstract class Emotion : MonoBehaviour {
public abstract void initialize(float _strength, float _flux, UMAExpressionPlayer umaExpression);
public abstract void emote();
public void initialize(float _strength, float _flux, float _duration, UMAExpressionPlayer _umaExpression){
initialize(_strength, _flux, _umaExpression);
}
void Update()
{
}
}
そして怒っている次のようになります。
感情は、次のようになります。怒りのインスタンス化は常にnullを返します。私。 (新しいAngry()== null)は常にtrueを返します。 しかし、私がMonoBehaviourから継承を削除した場合、つまりEmotionから「MonoBehaviour」を削除した場合、これは中止され、Angryのインスタンスが取得されます。どうしてこれなの?私はここで何が欠けていますか?