TeamworkCastが配信している、PICO-8のチュートリアル動画の解説を連載中です。
前回はこちら。
そして今回の動画はこちらです。
【解説メモ】
function serveball()〜end内
ball_x=pad_x+flr(pad_w/2)
ball_y=pad_y-ball_r
ball_dx=1
ball_dy=-1
ball_ang=1
↓
ball={}
ball[1] = newball()
ball[1].x=pad_x+flr(pad_w/2)
ball[1].y=pad_y-ball_r
ball[1].dx=1
ball[1].dy=-1
ball[1].ang=1
function serveball()〜endの後ろに
function newball()
b = {}
b.x = 0
b.y = 0
b.dx = 0
b.dy = 0
b.ang = 1
return b
endを作る
function setang(ang)の引数にblを追加
function setang(ang)〜end内の
引数blに対応するように変更
ball_→bl.
function update_game()〜end内
if sticky then〜else〜endをカット
function update_game()〜endの後ろに
function updateball(bi)〜endをつくりその中にペーストペーストした内容を書き換える
if sticky thenの
ball_xはball[1].xに
ball_yはball[1].yに
if sticky elseの
ball_xはmyball.xに
ball_yはmyball.yに
ball_dxはmyball.dxに
ball_dyはmyball.dyに
setang(mid(0,ball_ang-1,2))はsetang(myball,mid(0,myball.ang-1,2))に
setang(mid(0,ball_ang+1,2))はsetang(myball,mid(0,myball.ang+1,2))に
カットした所にfor bi=#ball,1,-1 do updateball(bi) end
function draw_game()〜end内for i=1,#ball do〜endでballテーブルの内容を全て描画
【自分の感想】
今回は、ボールの情報をテーブルにして複数管理できるようにする
サーブの時(ボールがスティッキー)、パドルの移動にわせて、ボールの進行方向が変化しないずっと右斜め上を向いている動作チェックの時も、すぐにサーブを行ったので、気付かなかったかもしれない次回で改善されると思う(多分)
コメント