ゲームプログラムなら俺に聞け
■ このスレッドは過去ログ倉庫に格納されています
0891デフォルトの名無しさん
2009/07/07(火) 11:46:00壁が3Dの複雑な形状でなければ、
一つ前のフレームと今のフレームの座標を出して、その座標間に壁があるかどうかを判定して、
その間に壁があればそこまでの移動で止める。
wall_x = 320;//壁のx座標
posx_a = 310;//前フレームのキャラのx座標
posx_b = 328;//今のフレームのキャラのx座標
if ( ( posx_a < wall_x )&&( posx_b > wall_x ) ){//壁に左からぶつかったとき
posx_b = 319;
}else if ( ( posx_a > wall_x )&&( posx_b < wall_x ) ){//壁に右からぶつかったとき
posx_b = 321;
}
これならキャラの速度が瞬速で、壁が紙のように薄くても大丈夫。
■ このスレッドは過去ログ倉庫に格納されています