そういえばこのブログの趣旨はなんだったかな。
ああ、なんかプログラムのことを書く予定でしたわね。
最近更新が滞ってる上に技術系の話なんか一切出てこないしね。
話が進んでないけどどうなったのさと自分に突っ込みたい気分です。
というわけでソースを。
--ここから--
r = 0 : g = 0 : b = 0
x = winx / 2 - 40 : y = winy / 2 - 8
mx = 1 : my = 1
repeat
redraw 0
color 0,0,0
boxf
;"+="は『足して代入する』
r += 1
g += 2
b += 3
;HSPの場合、命令のあとに":(コロン)"を付けると続けて命令が書けます
;ここの部分は、それぞれの変数の内容が255(RGBの上限値)を超えたら255を引いています
if r >= 255 : r -= 255
if g >= 255 : g -= 255
if b >= 255 : b -= 255
color r,g,b
;以下の命令で、ウィンドウの枠との当たり判定をしています
;当たった場合、"-1"を変数に掛けて符号を反転(つまり進む方向を逆)にしています
if x + 80 >= winx : mx = mx * (-1)
if x <= 0 : mx = mx * (-1)
if y + 16 >= winy : my = my * (-1)
if y <= 0 : my = my * (-1)
;文字列の位置を1(もしくは-1)づつ増やして動かしています
x += mx : y += my
pos x,y : mes "あいうえお"
redraw 1
await 1
loop
--ここまで--
「あいうえお」が色を変えながら画面内を跳ね回ります。
当たり判定の初歩みたいなロジックですね。
シューティングなどなどに応用が利くと思います。
ああ、なんかプログラムのことを書く予定でしたわね。
最近更新が滞ってる上に技術系の話なんか一切出てこないしね。
話が進んでないけどどうなったのさと自分に突っ込みたい気分です。
というわけでソースを。
--ここから--
r = 0 : g = 0 : b = 0
x = winx / 2 - 40 : y = winy / 2 - 8
mx = 1 : my = 1
repeat
redraw 0
color 0,0,0
boxf
;"+="は『足して代入する』
r += 1
g += 2
b += 3
;HSPの場合、命令のあとに":(コロン)"を付けると続けて命令が書けます
;ここの部分は、それぞれの変数の内容が255(RGBの上限値)を超えたら255を引いています
if r >= 255 : r -= 255
if g >= 255 : g -= 255
if b >= 255 : b -= 255
color r,g,b
;以下の命令で、ウィンドウの枠との当たり判定をしています
;当たった場合、"-1"を変数に掛けて符号を反転(つまり進む方向を逆)にしています
if x + 80 >= winx : mx = mx * (-1)
if x <= 0 : mx = mx * (-1)
if y + 16 >= winy : my = my * (-1)
if y <= 0 : my = my * (-1)
;文字列の位置を1(もしくは-1)づつ増やして動かしています
x += mx : y += my
pos x,y : mes "あいうえお"
redraw 1
await 1
loop
--ここまで--
「あいうえお」が色を変えながら画面内を跳ね回ります。
当たり判定の初歩みたいなロジックですね。
シューティングなどなどに応用が利くと思います。