【34】いっしょにまなぼう

Breakout #34 - Blinking Text - Pico-8 Hero PICO-8
Breakout #34 - Blinking Text - Pico-8 Hero

 TeamworkCastが配信している、PICO-8のチュートリアル動画の解説を連載中です。

前回はこちら

そして今回の動画はこちらです。

Breakout #34 – Blinking Text – Pico-8 Hero

【解説メモ】

はじめに、PICO-8のテキストエディタのタブ機能について説明。
タブでプログラムを(視覚的に)分けることで、見やすくなる。

【注意】この動画でいつも概要欄にソースコードのURLが貼られていますが、今回は昔のコードになっていて使えません(前回記述したdoshake関数も書かれていない)。

タイトル画面の「press ❎ to start」の文字を ❎ボタンが押されたら、点滅するようにする。

function _init()内の最後にblink_g=7を記述。

function draw_start()内の

print("press ❎ to start",32,80,11)

print("press ❎ to start",32,80,blink_g)

に変更、これで文字列の表示色がblink_gの内容になる。

function doshake()〜endの後に、

function doblink()
end

を記述(内容はまだ書かない)。

function _update60()の中のはじめにdoblink()を記述。

function _init()内の最後にあるblink_g=7の後ろにblinkframe=0を記述。

function doblink()のところに戻り、内容を記述。

function doblink()
    blinkframe+=1
    if blinkframe>5 then
        blinkframe=0
        if blink_g==7 then
            blink_g=11
        else
            blink_g=7
        end
    end
end

実行させて、「press ❎ to start」の色が変わることを確認。

function _init()の中の最後にblinkspeed=5を加える。

function doblink()のif blinkframe>5 thenをif blinkframe>blinkspeed thenに変更。

function _init()の中の最後にblinkspeed=5を1、10、20に変更して、実行してみる。

function doblink()の中のはじめにlocal g_seq={3,11,10,7}を記述。

function _init()のblink_g=7の後にblink_g_i=1を記述。

function doblink()内の

if blink_g==7 then
    blink_g=11
else
    blink_g=7
end

の部分を

blink_g_i+=1
if blink_g_i>#g_seq then
    blink_g_i=1
end
blink_g=g_seq[blink_g_i]

に変更。

function doblink()内のlocal g_seq={3,11,10,7}をlocal g_seq={3,11,7,11}に変更。

function _init()内のblinkspeed=8に変更。

function _init()内の最後にstartcountdown=-1を記述。

function update_start()内を

function update_start()
    if startcountdown<0 then
        if btn(❎) then
            startcountdown=60
        end
    else
        startcountdown-=1
        doblink()
        if startcountdown<=0 then
            startcountdown=-1
            startgame()
        end
    end
end

に変更。

更に、doblink()を増やす。

function update_start()
    if startcountdown<0 then
        if btn(❎) then
            startcountdown=60
        end
    else
        startcountdown-=1
        doblink()
        doblink()
        doblink()
        doblink()
        doblink()
        doblink()
        if startcountdown<=0 then
            startcountdown=-1
            startgame()
        end
    end
end

次はSE作り。

文章で書く事が出来ないので、SEエディタをスナップショットしておきます。

SE番号12番のパラメータ
SE番号12番のパラメータ

function update_start()内のstartcountdown=60の後ろにsfx(12)を記述。

音が鳴るかを試す。

function update_start()内のstartcountdown=60を80に変更して調整。

Xボタンを押す 動画
Xボタンを押す 動画

【自分の感想】

スタート時のエフェクト1つの実装で、チュートリアル動画1回分です。

しかし、このような小さい事ひとつひとつに対して、きちんと手を加えていく大切さを学んだ気がします。

そして、それが出来ているか いないかで、クオリティの差が開いていきます。

勉強になりました。

コメント

タイトルとURLをコピーしました