![見出し画像](https://assets.st-note.com/production/uploads/images/42250693/rectangle_large_type_2_fb7ba37b4cfaed04b344b367967cadfb.png?width=1200)
初心者ゲームつくる:鮮やかブロック、当たると消える【実践編】
かなりドツボにハマりました。
ボールとブロックの2つの動きをつくることになります。
「kill Z Volume」という便利なものを設置したら、ボールがそのエリアに接触すると破壊する壁なのですが、どうも普通のActorだと反応しない。
普通のActorのボールにphysicsをつけると反応するが、
それ以外は反応しない。やっかいなのは、physicsをつけると初速はあるが床におちて飛ばない。と愚痴から始まったが、まずはブロックを表示する方法を解説。
ブロックを生成する方法
どんなBlockを生成するかというと。
こんな感じの「Block」をつくります。ランダムで色を出すのは別のノードを加えているので。
一色でこのような「Block」をつくってみようと思います。
Actorを生成するノードは?
Actorを発生させるので、クラスと検索すると下記がでてきます。
「class」というとこから「Block」を選べば良いです。順番が逆になりましたが、「Block」をまずつくらないといけない。
元になるBlockをつくる。
ブループリントとからActorを選びます。
コンポーネントからCubeを選び、Yの長さを長く整形
一旦これでブロックは完成。
ここで作った名前を先程の、Acotor生成ブループリントで選ぶ。どういう生成をするか?ロジックが必要。
配置のメカニズム
繰り返しつくる作業をすればよいので、ループ処理を使います。
生成する場所を繰り返していけばよい。
まずは、indexで0を流す次の70☓0は0なので、Xが0となる。
次にindexが1を流すので、70となりxが70になる。
これでX軸の位置が決まる。0と1なので2回流れる。
こちらは、indexが-4なので、120☓ー4=480となる。
これでY軸の位置がきまる。
-4と0と4なので、総計9回。最初のLoopが2回なので、18回
18個のぼーるが生成される。
こういうのができあがる。
Blockとの間の距離で壁にめり込んでいるが、そこは調整すれば問題ない。
Y軸を100で修正すると、
Blockがキレイに並びました。
この記事が気に入ったらサポートをしてみませんか?