
PICO-8で遊ぼう(ビームを当てる編
先日、海外の方から記事読んでるぜ!的なツイートをいただきました。
一応書くたびにTwitterに流しているものの、誰も読んでるわけないだろと思っていたのですが、まさか海外の方から反応いただけるとは予想外でした。
わざわざ日本語の記事を読んでくれるなんて…と思いましたが、技術的な記事なら私も海外のものでも見にいく(英語は分かんないけどプログラム言語は読める)ので同じ様な感覚なのでしょうか??
I love these articles. I already know about this, but I just love reading pico-8 articles.
— Marina Makes Games (@MarinaMakes) November 9, 2022
今回はビームにNPCを倒す処理を追加して、シューティング・ゲームっぽい何かに仕立てます。
本日の教科書
ビームが画面外に出たら削除
オーバーフロー対策として、update_beam()にビームが画面外に出たらテーブルbeamsから削除する処理を追加します。

ビームとNPCの衝突判定
スライム(NPC)同士が重ならないようする処理avoidance_npc()でも使った衝突判定collision()を使ってビームとNPCの衝突判定処理hit_npc()を作ります。

見つからなければnil(空)を返す。
この関数hit_npc()をupdate_beam()の中に組み込みます。

ビームもbeamsから削除。

飛び散るスライム!
撃たれてただ消えるだけでは味気ないので、以前作った打ち上げ花火のデモからパーティクル(particle)の処理も持ってきてスライムが撃たれたら破片(?)が飛び散るような演出をつけてみます。

add_ptcl():テーブルptclsにパーティクル追加
update_ptcl():パーティクルの更新
draw_ptcl():パーティクルの描画



パーティクルの演出
もう少し、っぽくしたいので演出を加えます。
まずはビームの当たる向きに合わせてパーティクルが飛び散るようにしてみます。



パーティクルの色を変える
黄色のパーティクルでも火花が弾け飛んでる感があっていいのですが、スライムの肉片(?)が弾ける感じにしたいのでパーティクルの色がスライムの色に合わせて変わるようにします。

