火曜日宿直のお楽しみ、Scratchプログラミング実践の時間がやってきました。こちらの宿直はスケジュールの関係で一晩に3時間くらいしか出来ないのでScratchはちょうど良いかもな、と。
![](https://blogimg.goo.ne.jp/user_image/40/1f/3fec7abc0656dc25fce737dc374f118f.png)
前回は反射衛星でビームの角度を変えるのに成功したところまで。
今回は衛星の番号を押すとミラーの角度が変わるというところ。左右反転させたコスチュームを作りキー入力で見た目が変わると同時にビームの反射判定のために変数に0か1の数字を束縛する、と。
![](https://blogimg.goo.ne.jp/user_image/62/fd/0bccaa7ddb85681dd08df4efee2bd13c.png)
ビーム側はこんな感じ。これで実行すると・・
![](https://blogimg.goo.ne.jp/user_image/6c/c8/7adfbc0e2c4d3612bfcac85e32bbcb27.png)
フヒッ 良い角度
![](https://blogimg.goo.ne.jp/user_image/1c/17/a5b29c94b1337579499ac3a0e3567348.png)
反対側もオッケイ
![](https://blogimg.goo.ne.jp/user_image/6e/af/80b01d5c31da781b3f3dba4be194254a.png)
後は複製で衛星を増やして、ビームも同様に増やして・・と。ガミラス帝国バンザーイ!
![](https://blogimg.goo.ne.jp/user_image/30/f9/55b8001bd5fdbbd85e26de85a1b57000.png)
実はヤマト(スプライト4)や反射衛星への当たり判定も発生しなかったりで試行錯誤してたんだけど、どうやらこんな感じで「または」の入れ子で、次の衛星、壁、ヤマトの判定をして終了後に更に各スプライト(や壁)に当たった場合の処理を書いたら動いたって感じ。
![](https://blogimg.goo.ne.jp/user_image/4f/8f/fc009147568d12aacf3475a6d9d260a0.png)
これで、どの時点でヤマトがビームに当たっても、外れて画面端に触れてもちゃんと処理(この場合はスクリプト停止)が発せするようになった。
![](https://blogimg.goo.ne.jp/user_image/22/9c/0c193f0d31163ea98d255b66f2b31e18.png)
ここまで出来たら後はランダムで特定の座標にヤマトが出現するようにして、命中したら得点を加えて繰り返し、外れたらゲームオーバー。最初に衛星を動かす猶予をタイマーで与えて0になったらビーム発射、発射後は衛星の操作を出来ないようにして・・・それで完成かな?背景とかのアレンジをしてビーム発射時にシュルツ(だったかな?)のカットインを入れたり、ビーム発射音とか衛星での反射音なんかをつけたりとかで見た目を改善するのはお気楽で楽しそうかな。
発展型としてはヤマトの出現位置を無制限にして、衛星の角度調整をマウスのホイールを使うとかで10度単位で変更できるようにして自由な方法で狙うことが出来るようにするとか・・・後は超ハードモードで各衛星が冥王星の周りを少しずつリアルタイムで回ってるとか?
思ってたよりも楽しんでおります(^o^)