TeamworkCastが配信している、PICO-8のチュートリアル動画の解説を連載中です。
前回はこちら。
そして今回の動画はこちらです。
【解説メモ】
はじめに、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エディタをスナップショットしておきます。
function update_start()内のstartcountdown=60の後ろにsfx(12)を記述。
音が鳴るかを試す。
function update_start()内のstartcountdown=60を80に変更して調整。
【自分の感想】
スタート時のエフェクト1つの実装で、チュートリアル動画1回分です。
しかし、このような小さい事ひとつひとつに対して、きちんと手を加えていく大切さを学んだ気がします。
そして、それが出来ているか いないかで、クオリティの差が開いていきます。
勉強になりました。
コメント