- 450 名前:名前は開発中のものです。 mailto:sage [2006/10/27(金) 20:56:10 ID:/wN8VReA]
- 立ち絵をどのように動かしてるのか知らんが、
俺ならタイマー測って、コマ数を変化するようにする。 例えば、100ドットほど移動させる場合、 for〜nextで1ドットずつスプライト移動させたら マシン性能によって移動スピードが異なってしまう。 けど、その100ドット移動させるのに1秒(1000ミリ秒)とかける決めてしまって、 移動開始時にresettimerしておき、 スプライトを表示する際にgettimerで時間を取得し、 その数値÷1000ミリ秒で全体の移動割合を求め、 それと始点、終点の座標から表示座標を 求めれば、マシン性能に関わらず、移動スピードは一定にできる。 1回のスプライト表示に対して 10ミリ秒かかるなら、1ドットずつ移動して、 50ミリ秒かかるなら、5ドットずつ移動する。 始点を(X1,Y1)、終点を(X2,Y2)、移動にかける時間をTとする。 最初にresettimerしておき、スプライトを表示する際にgettimerで取得した時間をGとすると、 その時点で表示すべき座標(X3,Y3)は X3 = X1 + ( X2 - X1 ) * G / T Y3 = Y1 + ( Y2 - Y1 ) * G / T で求められる。
|

|