投稿
てっみえ qwdfbnjkop
浮いてる方に重力を付けて落ちる様にするにはどうすれば良いのですか?
0そうだね
プレイ済み
返信[1]
親投稿
MIKI ifconfig
高校の物理でやったアレ。 spset 0,0 py=0:px=0 'm vy=0:vx=5 'm/s g=9.8 'm/s/s k=8 'm/pix while 1 vsync vy=vy+g/60 py=py+vy/60 px=px+vx/60 spofs 0,px*k,py*k wend
0そうだね
プレイ済み
返信[2]
親投稿
簡単なのは、常に下方向に移動させる処理すればそれっぽく見えますよ。 
0そうだね
プレイ済み
返信[3]
親投稿
てっみえ qwdfbnjkop
みき★さんのを試して見ましたが、プレイヤーが動かなくなってしまいました…
0そうだね
プレイ済み
返信[4]
親投稿
MIKI ifconfig
えと、もともとメインループあるでしょ?? その中に vy=vy+g/60 py=py+vy/60 px=px+vx/60 に相当する命令を入れてください。 ここで px と py は浮いてるほうの座標(m)。 g は重力加速度 (m/s/s) vx, vy はういてるやつの速度 (m/s) なので、それを適切なグラフィック座標に変換するために k を適当に設定してちょ。 距離の単位を m じゃなくて pixel にしたほうがわかりやすいかも。 vx = 1 (pixel/s) g = ?? (pixel/s/s) vy = vy + g/60 (pixel/s) py = py + vy/60 (pixel) px = px + vx/60 (pixel)
0そうだね
プレイ済み
返信[5]
親投稿
浮く数値と落ちる数値がつり合ってるかね?
0そうだね
プレイ済み
返信[6]
親投稿
MIKI ifconfig
ああ、重力というのは言葉のあやで、単に下に落ちればいいのか。 浮いているほうの y 座標を表す変数があるでしょ? それのループの中で 1 ずつ増やせばいいのです。 @loop vsync 自分を動かす処理 py = py + 1 ' 浮いているほうを一ドット下に移動 spofs ?,px,py '浮いているほうの位置を更新 goto @loop
0そうだね
プレイ済み