質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

1回答

1724閲覧

Uniy5でDetonator Explosion Frameworkをインポートしたのですが、scriptが正しくロードできません。

assy_

総合スコア10

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2018/09/27 08:45

![![イメージ説明]
Detonator Explosion FrameworkというアセットをインポートしてDetonator-ChunksのDetonatorスクリプトとDetonator-Sprayのスクリプトのサイズを変更しようとしたら、下記のようなエラーがありできませんでした。

(88ec089f219895e75b1f03503e907313.png)](5a95bfb8d33f7d2db1e6d5be885359b9.png)

爆発アクションを適用するクマのオブジェクトの方に問題があるのかと思いBear.csを編集していたら以下エラーがありました。

エラー文
Assets/Scripts/Bear.cs(87,246): error CS1525: Unexpected symbol `end-of-file'

C#

1/// <summary> 2/// 3/// </summary> 4 5using UnityEngine; 6using System; 7using System.Collections; 8 9[RequireComponent(typeof(Animator))] 10 11//Name of class must be name of file as well 12 13public class Bear : MonoBehaviour { 14 public GameObject detonator; 15 16 public float AvatarRange = 25; 17 18 protected Animator avatar; 19 20 private float SpeedDampTime = .25f; 21 private float DirectionDampTime = .25f; 22 private Vector3 TargetPosition = new Vector3(0,0,0); 23 24 // Use this for initialization 25 void Start () 26 { 27 avatar = GetComponent<Animator>(); 28 } 29 30 void Update () 31 { 32 if(avatar) 33 { 34 int rand = UnityEngine.Random.Range(0, 50); 35 36 avatar.SetBool("Jump", rand == 20); 37 avatar.SetBool("Dive", rand == 30); 38 39 if(Vector3.Distance(TargetPosition,avatar.rootPosition) > 5) 40 { 41 avatar.SetFloat("Speed",1,SpeedDampTime, Time.deltaTime); 42 43 Vector3 curentDir = avatar.rootRotation * Vector3.forward; 44 Vector3 wantedDir = (TargetPosition - avatar.rootPosition).normalized; 45 46 if(Vector3.Dot(curentDir,wantedDir) > 0) 47 { 48 avatar.SetFloat("Direction",Vector3.Cross(curentDir,wantedDir).y,DirectionDampTime, Time.deltaTime); 49 } 50 else 51 { 52 avatar.SetFloat("Direction", Vector3.Cross(curentDir,wantedDir).y > 0 ? 1 : -1, DirectionDampTime, Time.deltaTime); 53 } 54 } 55 else 56 { 57 avatar.SetFloat("Speed",0,SpeedDampTime, Time.deltaTime); 58 59 if(avatar.GetFloat("Speed") < 0.01f) 60 { 61 TargetPosition = new Vector3(UnityEngine.Random.Range(-AvatarRange,AvatarRange),0,UnityEngine.Random.Range(-AvatarRange,AvatarRange)); 62 } 63 } 64 var nextState = avatar.GetNextAnimatorStateInfo(0); 65 if (nextState.IsName("Base Layer.Dying")) 66 { 67 avatar.SetBool("Dying", false); 68 } 69 70 } 71 } 72 73bool hitFlag = false; 74 void OnCollisionEnter(Collision collision) { 75 if (avatar != null) { 76 if (hitFlag == false && collision.collider.tag == "Bullet") { 77 hitFlag = true; 78 GameObject exp = (GameObject)Instantiate(detonator.gameObject, transform.position, Quaternion.identity); 79 var currentState = avatar.GetCurrentAnimatorStateInfo(0); 80 var nextState = avatar.GetNextAnimatorStateInfo(0); 81 if (!currentState.IsName("Base Layer.Dying") && !nextState.IsName("Base Layer.Dying")) { 82 avatar.SetBool("Dying", true); 83 Destroy(this.gameObject, 3.0f); 84 } 85 } 86 } 87 }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

}が一つ足りないようです。

C#

1bool hitFlag = false; 2 void OnCollisionEnter(Collision collision) { 3 if (avatar != null) { 4 if (hitFlag == false && collision.collider.tag == "Bullet") { 5 hitFlag = true; 6 GameObject exp = (GameObject)Instantiate(detonator.gameObject, transform.position, Quaternion.identity); 7 var currentState = avatar.GetCurrentAnimatorStateInfo(0); 8 var nextState = avatar.GetNextAnimatorStateInfo(0); 9 if (!currentState.IsName("Base Layer.Dying") && !nextState.IsName("Base Layer.Dying")) { 10 avatar.SetBool("Dying", true); 11 Destroy(this.gameObject, 3.0f); 12 } 13 } 14 } 15 } // ←これ 16 }

投稿2018/09/27 08:54

fiveHundred

総合スコア9797

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

assy_

2018/09/27 09:00

} を付け加えたらまたエラーがでてきました。よくわからないです。 Assets/Detonator Explosion Framework/System/DetonatorBurstEmitter.cs(17,13): error CS1070: The type `UnityEngine.ParticleEmitter' has been forwarded to an assembly that is not referenced. Enable the built in package 'Particles Legacy' in the Package Manager window to fix this error.
fiveHundred

2018/09/27 09:46

調べたところ、そのアセットは古いもので、現在では非推奨となっている機能を使っているっぽいです。 現行のバージョンでも使用出来る方法はあるかもしれませんが、他のアセットがあれば、そちらを使ったほうがよろしいかと思います。
assy_

2018/09/27 10:58

回答ありがとうございます。了解しました。ほかのアセットを使って試してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問