【PICO-8入門(3)】線、四角、円を動かして遊ぼう

この記事はPICO-8を使ってゲームを作りに挑戦する初心者向けの記事です。連載になっているので初回から見たい方はこちらからどうぞ。

▷ レトロ風ゲームエンジンPICO-8でゲーム作ってみよう

 

今回は線を引いたり円を描いたりして遊んでみましょう。

単純な線や円や四角は関数で簡単に書けるようになっています。

早速いろいろ描いてみる

描くだけなら簡単なので一気に紹介します。

cls()
x = 10
y = 10
col = 7
pset(x, y, col)
y = 20
line(x, y, x+20, y+5  , col)
y = 30
rectfill(x, y, x+20, y+20, col+1)
rect(x, y, x+20, y+20, col)
x = 20
y = 70
r = 10 
circfill(x, y, r, col+1)
circ(x, y, r, col)

↑を入力して実行すると下のように表示されます。

図形を描く

さっくり説明するとまずは変数のx、yが座標です。colは色、rは半径です。

関数はpset()がピクセル(点)、line()が線、rect()は四角の線のみでrectfillが塗りつぶしあり、circ()が円の線のみでcircfill()が塗りつぶしありです。

line()は最初の2つの引数が線を引き始める場所、次の2つが線を引き終える場所です。

rect()の最初の2つは四角の左上の点、次が幅、その次が高さになります。

円と四角がそれぞれ2つの関数が重なる位置になってますが塗りつぶしの上に線が表示されています。プログラムでは後に実行されたものが上に表示されます。

とりあえず数字をいじって遊んでください(‘ω’)ノ

図形を動かそうぜ!!

描くだけなんてのはプログラムでもなんでもないしゲームっぽくもない!やっぱ動かしたいよな!!!

というわけで前回使った_update()と_draw()を使って動かして遊びましょう。

function _init()
  x = 0
  y = 0
  w = 1
  col = 7
end
function _update()
  w += 1
  y += 1
end
function _draw()
  cls()
  line(x, y, x+w, y , col)
  if y > 127 then
    y = 0
    w = 0
  end
end

これは線が下に移動しながら広がっていく感じになります。簡単ですね(*‘∀‘)

他のも同様に作っていろいろ動かしてみてください(‘ω’)ノ

もっとすごい動きをつけるぞ!!

やっぱさ、ゲームってもっと動きすごいじゃん?(`・ω・´)

なんかクネクネしたりウネウネしたりボヨンボヨンしたりなんかすごいじゃん?

ということでそれっぽいやつをちょっとやりたいと思います。

そこで三角関数ですよ

数学嫌いな人もいるとは思いますが、必要なんですよ、数学(´・ω・`)

まぁでも今回は三角関数でちょっと動きつけるくらいで大して難しくないので頑張りましょう(書いてる私もほんとは数学全然できないんです(^^;))

function _init()
  x = 64
  y = 0
  r = 15
  col = 7
  angle = 0
end
function _update()
  y += 1
  angle += 0.02
  if angle > 1 then
    angle -= 1
  end 
end
function _draw()
  cls()
  circ(x + cos(angle)*50, y, r + sin(angle)*10, col)
  if y > 127 then
    y = 0
  end
end

↑を入力して実行するとこうなります。

図形動かす

すごいっしょ?(`・ω・´)

なんか急にめちゃくちゃすごいことしちゃってる感じでしょ?

PICO-8のcon()とsin()

PICO-8のコサインとサインはcos()とsin()に角度を引数で渡すと値を返してくれます。

ただこの角度が360度の度数ではなく0~1です。0が0度で1が360度です。だから90度だと0.25です。

分かりづらいですが実際ゲーム内で「ここは絶対120度!」みたいに自分で指定することはほぼ無いです。だいたい式を書いておいてそれが計算されて表示されることがほとんどです。

なのであんま気にせずいじくり倒してみればなんとなくわかるよ!!( `ー´)b

あとはいじくり倒して遊んでね

もうここまでできればあとはx、y、幅、高さあちこちにcos()とsin()をぶち込んで遊ぶだけだぜ!!

いろいろ動かしてみる

というわけでいろいろ作ってみたんで皆さんも同じようなもの作って遊んでみてね。

ではまた次回(‘ω’)ノ

次回 ▷ キャラクタを表示して操作してみよう

 

BOOTHでサンプルプログラム無料ダウンロードできます

BOOTHでこのPICO-8入門講座で紹介したサンプルプログラムをダウンロードできます。

今回の記事の最後のプログラムが「sample3.p8」という名前で入っています。

同カテゴリー記事

記事の感想・コメント

※コメントはまだありません※

コメントを残す

メールアドレスが公開されることはありません。

最近作ったゲーム