0

私はUnityが初めてなので、よく踏み出した答えがいいでしょう。Android プラットフォームでダイス ローラーを作ろうとしています。私はこの非常によくまとめられたチュートリアルに従っていましたhttp://games.ucla.edu/resource/unity-1-beginner-tutorial-dice-making-pt-1/ (2番目の部分もあります)

問題は、それが Web Player 用に作成されたことです。Android 用にビルドしようとすると、2 つの特定のエラーが発生します。

2 つの単純なスクリプトがあり、それぞれに 1 つのエラーが関連付けられています。

SideTrigger.js - エラー: BCE0019: 'currentValue' は 'UnityEngine.Component' のメンバーではありません。

public var faceValue = 0;
function OnTriggerEnter( other : Collider ) {
    var dieGameObject = GameObject.Find("SixSidedDie");

    var dieValueComponent = dieGameObject.GetComponent("DieValue");
    dieValueComponent.currentValue = faceValue; //ERROR HERE
    Debug.Log("Die1: " + faceValue);
}

DieValue.js - エラー: BCE0019: 'text' は 'UnityEngine.Component' のメンバーではありません。

public var currentValue = 0;

function Update () {
    var dieTextGameObject = GameObject.Find("DieText");
    var textMeshComponent = dieTextGameObject.GetComponent("TextMesh");
    textMeshComponent.text = currentValue.ToString(); //ERROR HERE
}

純粋に構文上の問題だと思いますが、解決策が見つからないようです。

4

1 に答える 1

1

GetComponent文字列の使用は、パフォーマンス上の理由からお勧めしません。ここに記載されています。

これを使用することをお勧めします。

var dieValueComponent : DieValue = dieGameObject.GetComponent(DieValue)

またはこれ:

var dieValueComponent : DieValue = dieGameObject.GetComponent.<DieValue>()

それが機能するかどうかを確認してください。

于 2014-07-21T02:16:02.427 に答える