オプションの動作

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ft

オプションの動作

#1

投稿記事 by ft » 16年前

キャラに付随しているオプションの事なのですが、
通常時と低速時に位置が変わる際に移動する間も描写したいのですが
どのようにすればいいでしょうか?

チルチル

Re:オプションの動作

#2

投稿記事 by チルチル » 16年前

シフトキーが押されている時間から座標を求めれば良いんじゃないでしょうか?

ft

Re:オプションの動作

#3

投稿記事 by ft » 16年前

シフトキーが押されている時間を使って、通常→スローの場合の描写はうまくいきました。
ありがとうございます!
しかし、スロー→通常の際にはシフトキーは押されていないため、
何かうまくカウントを取る方法がないでしょうか?

もしくは、オプションの現在位置を示していると思われるsx,syを用いて
sx++;
sy++;
などのような計算で、目標座標との差分をなくすように変化させようと思ったのですが、
エラーが出てしまい困っております。

チルチル

Re:オプションの動作

#4

投稿記事 by チルチル » 16年前

私の使っている方法だと自機の構造体に
unsigned char Shift;//低速移動成分
のような変数を追加します

オプションの移動を10カウントで行うとして
Shiftが0~10まで変化するようにします
0の時は通常
10の時は低速
1~9の時は変化中です

龍神録などで入力状態を取得している方法はよく知りませんが
ゲームプログラミングの館で言うと

if( Key[KEY_INPUT_LSHIFT]>0 ){if( Player.Shift<10 )++Player.Shift;}//低速移動成分を増やす

else{if( Player.Shift>0 )--Player.Shift;}//低速移動成分を減らす

こんな感じです

通常時の座標に低速時の座標までの距離を10で割ってShiftをかけた値を足せば移動すると思います

しかし等速で移動すると不自然なので物理的移動を使った方が良いと思います

ft

Re:オプションの動作

#5

投稿記事 by ft » 16年前

細かいアドバイスありがとうございます!
おかげできちんと描写する事ができました!

閉鎖

“C言語何でも質問掲示板” へ戻る