見出し画像

PICO-8で遊ぼう(UIとか編

前々回の記事からの続きです。ブルラビくんの全方位STGっぽい何かをちゃんと全方位STGゲームとして仕上げていきます。
いきなり完成とは当然いかないのでしばらくはチマチマとした進捗報告なnoteになる予定です。

追加するUIはこれ

スプライトエディタに♥︎♡とゲージを描いてブルラビくんの体力とビームのチャージゲージ、タイマーのUIを追加します

UIの下準備

_draw()draw_ui()を追加してUI描画専用の関数を用意
draw_ui()にはdraw_timer()、draw_life()、draw_charge()のそれぞれのUIの描画関数を用意。
UIを描画する前にcamera()でカメラをリセットかけてUIが画面内からずれないようにしてる。

draw_timer()

経過時間のフォーマットを整えて単純にprint()すればタイマーの描画完了ですが、print_outline()関数を別途用意して上下左右に1pxずらした黒の文字列をprint()することで文字を縁取りしています。

縁取りのありとなしの比較。
ないやつもこれはこれでありだな・・・

draw_life()

max_lifeに設定した数値分の空の♡のスプライトを描画。pc.lifeの数値分♥︎を描画。
pc.lifeの数値を2にした場合

draw_charge()

max_charge:チャージ量の最大値(4)
pc.gun_charge:現在のプレイヤーのチャージ量(4)
max_charge分のチャージゲージのスプライトを配置して、その後ろにpc.gun_charge分の長さのオレンジの矩形を描画することでチャージゲージを表現しています。

チャージビームのロジック

  1. pc.gun_chargeが1以上の場合、ビームが撃てる

  2. ビームを撃つときにpc.gun_chargeを-1する

  3. フレーム毎(_update_pc())pc.gun_chargemax_charge以下だったら+0.02する

input()関数内のビームを撃つ(btn(4)押下時)ロジック。
上記の1,2が該当する。
update_pc()関数内で上記の3pc.gun_chargemax_charge以下だったら+0.02するを実行している
ビーム撃つたびにゲージが減少してジワジワと回復してる様子。
ビームの形状も黄色の糸からエネルギー弾ぽくしてみた。
体力減少のロジックは未実装なのでスライムに絡まれても体力は減らない。

続く!





この記事が気に入ったらサポートをしてみませんか?