0

これは私の最初のスクリプトです:

var curHp : int = 300.0;
var maxHp : int = 300.0;
var slot2 : int = 1.0;
var money : int = 25.0;
var upgrade : int = 1.0;
var curXp : int = 0.0;
var maxXp : int = 500.0;
var level : int = 1.0;

これは私の2番目のスクリプトplayerAttack.jsです:

var enemyHealth : int = 100;

function Update() {
    if (this.enemyHealth <= 0) {
        curXp += 10;
        Destroy(this.gameObject);
    }
}

function OnTriggerStay(col : Collider) {
    if (col.gameObject.tag == "attackArea")
        if (Input.GetKeyDown("1"))
            this.enemyHealth -=100;
}

これで問題が発生していcurXp += 10ます。Unity 3D が を見つけられませんcurXp。この問題を解決するにはどうすればよいですか? 与えられたエラーは次のとおりです。

Unknown identifier "curXp += 10;".

私は何を間違っていますか?

4

1 に答える 1

-1

このエラーは、C# スクリプトと JavaScript スクリプトを混在させようとすると頻繁に表示されます。ただし、すべてのコードを JavaScript で記述したので、これは問題ではありません。スクリプトの 1 つに .cs 拡張子が付いていますか?

また、最初のスクリプトを 2 番目のスクリプトにどのように含めていますか。それが失敗した場合、このエラーも発生する可能性があります。

3 番目ですが、すべての int 変数を float として設定しようとしています。

Int は、小数点のない数値 (10 など) を格納する変数です。Float は、10.5f のような 10 進数を含む数値を格納する変数です。

一番上のスクリプトの変数から小数を削除します。

また、 unityがスタックオーバーフローサイトをシャットダウンした後、unity3dユーザーのコミュニティが大きくなるため、unityの回答についても質問します。

于 2013-09-14T17:44:35.653 に答える