一分間スクラッチ講座 クリックした場所にレーザーを発射する方法
- FiveBox

- 20 時間前
- 読了時間: 3分
このブログテーマでは、スクラッチの初心者から上級者まで、ちょっとお役に立つ情報を不定期で紹介していきます。
スクラッチ講座、投稿記事のまとめはこちら(一分間スクラッチ講座 まとめ)でご参照ください。
前回から時間が空いてしまいましたが、今回は「ブロック定義」を活用して、特定の場所からマウスでクリックした場所にレーザーを発射する方法のご説明。
下の動画は不定期配信の「ファイブボックス一分間スクラッチ講座」です。ご興味のある方は併せてご参照ください。
1、事前準備
■ キャラクター(レーザー発射もと)
レーザーを発射させたいキャラクターを選択します。サンプルではスクラッチキャットから発射させます。素材の中心からレーザーが発射されるので、スプライト編集画面で発射したい場所を中心に配置してください。

■ ポイント
レーザーの終点になる部分ですが、幽霊の効果を使って隠すので、ただの点でOKです。

■ レーザー
ただブロックを組み立てるスプライトとして用意するだけで、コスチューム(画像)は何もなしでOKです。

2、ポイントのプログラム
レーザーの終点となる「ポイント」のプログラムです。常にクリックしている場所に生き続ける動きを作ります。
旗が押されたとき
幽霊の効果を 100 にする(見た目を透明にする)
ずっと以下の処理を繰り返す
もし マウス が押されたなら(クリックされたとき)
マウスが押されたではない(クリックが終わるまで) マウスポインターの場所に行き続ける

3、レーザーのプログラム
レーザー本体のプログラムです。 まずはブロック定義を使って、レーザーを描くプログラムを作ります。レーザーは拡張機能の「ペン」の機能を使います。事前に左下の「拡張機能の追加」アイコンから「ペン」を取り込んでおきます。

A,1回分のレーザー 発射元(キャットの手)からクリックした場所(ポイント)へ1回分のレーザーを描く仕組みを作ります。 「ブロック定義」から新規でブロックを作成、名前は「レーザー」。 「画面を再描画せずに実行する」にチェックを入れることで、この処理を一瞬で完了させます。
定義「レーザー」
全部消す(直前のレーザーをいったん消します)
「スプライト1(キャット)」へ行く(レーザーの発射元)
ペンの色を指定(サンプルでは赤)
ペンの太さを指定(サンプルでは5)
ペンを下す
「ポイント(クリックした場所)」へ行く(この瞬間に2点間のレーザーが描かれる)
ペンを上げる

B,レーザーの描写
A,で作成した1回分の処理を、マウスクリックされている間実行し続けます。途中まで「ポイント」のプログラムと同じなので、複製して活用してもいいと思います。
旗が押されたとき
幽霊の効果を 100 にする(見た目を透明にする)
ずっと以下の処理を繰り返す
もし マウス が押されたなら(クリックされたとき)
マウスが押されたではない(クリックが終わるまで) 定義「レーザー」を実行
全部消す(毎回毎回、描いて消して・・・・)

はい、これで豆まき演出は完成です。
ファイブボックスでは、スクラッチやUnityの個別指導のオンラインレッスンを行っています。





コメント