現在ボスの攻撃方法を追加しようとしていて、衝撃波を出し、当たるとダメージを受ける攻撃を作ろうと思っており上記のサイトを参考に作っています。
パーティクルに当たり判定をつけようとしているのですがうまくできておらず、
サイトに乗っているスクリプトを理解するために知りたいことがあります。 https://gametukurikata.com/effect/particlecircleshockwave
ParticleScript内の
①private ParticleShockwaveChara particleShockwaveChara; この宣言が今までの知識だとgameobject型だったりint型など何かしらの型を指していたような気がするのですがどういった宣言になっているのか
②今回作成しているゲームだとvoid start内の
particleShockwaveChara = GameObject.Find("NormalChara").GetComponent<ParticleShockwaveChara>();
NormalCharaに当たる部分はプレイヤーであるunitychanオブジェクトということになるのでしょうか
①について
ItemListの時にも行ったように、これはClass宣言ですね。
外部のClassのメンバ関数にアクセスするためにそのClass型で変数の宣言を行い、その変数にそのClassを代入するためです。particleShockwaveChara = GameObject.Find("NormalChara").GetComponent<ParticleShockwaveChara>();
の部分で「“NormalChara”という名前のGameObjectにアタッチされている“ParticleShockwaveChara”ClassをGetComponentしている」というわけですね。
実際particleShockwaveChara.Damage();
といった感じに、外部ClassのDamage
メソッドを実行しています。
②について
そうですね、unitychanにParticleShockwaveChara
をアタッチしてあげて、Findの部分をunitychanの名前にしてあげましょう