この記事ではMcreator2023.4の情報を執筆しています。
こんにちは。もえやです。2年ほど前からMcreatorの制作動画をYoutubeにアップしています。
今回は、前回作成したオリジナルの弓に、矢を発射したときに扇状に9発発射する機能を付けていきます。
この記事では、矢を扇状に発射する方法を解説します。
プロシージャーを作成する
前回作成したアイテムを開き、高度なプロパティタブに移動します。
右下の、レインジドアイテムを使用したとき、のプラスから、プロシージャーを作成します。
プロシージャー作成画面が立ち上がったら、右上のローカル変数のプラスから、変数を作成します。
角度でa、b、cの3つを、numberで作成します。
変数に初期値を設定していきます。
カスタム変数の中から、変数をセットするプロシージャーブロックを持ってきます。
エンティティプロシージャのデータから、水平方向と、ピッチ方向の角度を取得するプロシージャーブロックを持ってきます。
数式の中から数字を持ってきます。
変数aに水平方向の角度を、bにピッチ方向の角度を、cを10に設定してください。
変数cは矢の間隔なので、好きな値を入れて下さい。
フロー制御から回数指定の繰り返しを持ってきます。
繰り返しを4回に設定します。ここも好きな回数を指定してもらってOKです。
飛び道具プロシージャーから、図の2つのプロシージャーブロックを持ってきます。
エンティティプロシージャのデータから、座標を取得するプロシージャーブロックを持ってきます。
数式から、数字と計算式を持ってきます。
発射するものをArrowに、XZをイベントターゲットエンティティーの各座標に、Y座標は視線の高さにするため、+1.5に、速度を3、inaccuracyを0にします。
次に、発射する各方向の速度を計算します。
数式の中から必要なものを持ってきます。
まずはXからです。全体に-1をかけ、まずcoscを作ります。
角度はラジアンに変更しておきます。
最初のcoscに、cosbを掛けます。
さらに、掛け合わせたものに、sinaを掛けます。
先ほどの物にプラスで、sincを掛けます。
そのsincに対して、sin(a-90)を掛けます。XはこれでOKです。
XをまるっとコピーしてZを先に作ります。
全体にかかっている-1は外して、図の2か所をsinからcosに変更します。Zはこれで出来上がりです。
次にYです。
全体に-1を掛け、coscを用意します。
そのcoscに対してsinbを掛けます。Yもこれで出来上がりです。
変数cに-1を掛けて、角度を変えます。
先ほどの矢を発射するプロシージャーを、右クリックでまるっとコピーします。
角度を変更したcの下に貼り付けます。
その下で、cに-1を掛けて符号を戻し、角度を+10します。
これで完成です。
通常発射の1本に加えて、左右に4本ずつ、角度10度ずつの弓が発射されます。
ぜひ作ってみてください。