• 締切済み

unityでのプログラミングについて

いまunityでゲームを制作していてシューティングのゲームをつくっています。 そこで次のようなプログラムを作成したのですがエラーが返ってきて困っています。 var bulletPrefab : GameObject; var bulletInterval : float = 0.2; var bulletEnable : boolean = true; var bulletVelocity : float = 100; var bulletTime : float = 0.0; (省略してます) function start(){ (省略してます) function update(){ if(Input.GetButton("Jump") && bulletEnable) { ←エラー箇所です。 bulletEnable = false; var bullet = Instantiate(bulletPrefab,transform.position,transform.rotation); var direction : Vector3 = Vector3(0,0,1); bullet.rigidbody.AddForce(direction * bulletVelocity,ForceMode.VelocityChange); } bulletTime += Time.deltaTime; if (bulletTime >bulletInterval) { ←エラー箇所です。 bulletTime = 0.0; bulletEnable = true; } } 次のエラーが返ってきます。 Assets/character.js(22,19): BCE0044: expecting ), found ';'. Assets/character.js(22,20): BCE0043: Unexpected token: bulletInterval. こんな感じでエラーがでます。 解決方法を知ってる方は教えてください。おねがいします。

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

お願いします。メッセージくらいは読んでください。 英語だからわからないとか、甘えたことは言わないでください。 > Assets/character.js(22,19): BCE0044: expecting ), found ';'. Assets/character.js(22,19): Assets/character.jsの22行目、19文字目あたり expecting ), : ) が期待されます found ';'. : (しかし) 「;」 が見付かりました って、ちゃんと理由が書いてあります。 > if (bulletTime >bulletInterval) { ←エラー箇所です。 ここが、こんな風に解釈されています if (bulletTime > → ; で文の区切り。 → 閉じ括弧が必要なのに、それより先に文の区切りになる セミコロンがあります。 ここまでやれば、あとはわかりますね。 コピペしたにせよ、本に載っていたにせよ、それを100%信じないことです。 いつでも誤植というのはあります。 エラーになったら、自分がそのプログラムを作ったつもりで、デバグしてください。 「コピペしただけだから大丈夫なはず」という考えを捨ててください。 > Assets/character.js(22,20): BCE0043: Unexpected token: bulletInterval. 「 期待されないトークン: bulletInterval 」 途中で切られて bulletInterval) { となってしまったことにより、bulletIntervalが「こんなところに書いてあるのが変なトークン」になってしまったためのエラーです。 先のエラーを修正すれば消えます。 一つのエラーが別のエラーの原因になることがよくあります。上から一つ一つ修正することです。一つ消したら全部消える、なんてこともよくあります。 > if(Input.GetButton("Jump") && bulletEnable) { ←エラー箇所です。 エラーメッセージは? プロでもメッセージを読まずに修正するのは困難です。