TeamworkCastが配信している、PICO-8のチュートリアル動画の解説を連載中です。
前回はこちら。
そして今回の動画はこちらになります。
【解説メモ】
どこからでもアクセス出来るグローバル変数は、_INIT関数内に宣言(&定義)する
自作関数内だけで変数を使う時は、変数の宣言前にLOCALをつけると、グローバル変数とは別になる。
パドルの中にボールが入ってしまう減少がある(ボールよりもパドルの移動量が大きいため)
上記の不具合を無くすために、角度をチェックする(別のプログラムを作る)
【自分の感想】
わたしは、角度をチェックするプログラムが何を意味しているのか わからず、そのプログラムを解析して、理解した。
どういう意味かというと、パドルの正面にボールが当たったのか、それとも横側に当たったのかをチェックしている。
ボールの中心とパドルの角を結んだ角度と、ボールの方向の角度の大きさを比べて、横に当たるのかがわかる。
それでも頭の中で こんがらがっていたので、自分に わかりやすいように、プログラムを修正してみた。
↓そのプログラムの実行結果

灰色の四角がパドル(のつもり)、緑色の円がボール(のつもり)で、矢印キーでボールを動かし、マウスやトラックパッドでボールの進行方向を動かします。
↓動きの動画キャプチャ

白い点がそれぞれのポイント、ワインレッドの線がボールの進行方向、茶色の線がパドルの角とボールの中心を結ぶ線です。
一番下の「RESULT」でFALSEかTRUEの結果を表しています。
丁度、ワインレッドの線がパドルの横に掛かると、TRUEになるのがわかるでしょうか?
↓そのチェックプログラムのカートリッジです。

今回は、解析に結構かかりました。
コメント