- 1 名前:名前は開発中のものです。 [2020/01/16(木) 19:39:22.13 ID:R1+QguPT.net]
- c++、DXlibな者です。
メインループ内で x*=0.9f; なりをまわすとぬるっとxが0に近づいていく。 ぬるっとしてるのでUIがリッチっぽくなるけど、 x+=0.1f; などと違い、フレームレートが変動しても fps=35; x+=0.1f*60.f/fps; みたいに補正することができない。 対策として、フレームレートに応じた値を保持しといて入れ替える std::array<float,60> temp; とか、 マリオのジャンプ式 x+=y; y--; みたいなのを考えていた。でも、 前者はメモリを食うし小数点以下を考えるとつらみ。 後者も等加速度直線運動なんで精度に難がある。
- 2 名前:名前は開発中のものです。 [2020/01/16(木) 19:40:28.14 ID:R1+QguPT.net]
- 誰か対策を…そして4年の呪縛から解き放ってくれ…
- 3 名前:名前は開発中のものです。 mailto:sage [2020/01/17(金) 03:08:10.39 ID:xbKTeYck.net]
- HTML5のCSSアニメーションには多様なパラメータが用意されていて
少ないコード量で膨大なパターンを手軽に試行錯誤することができる 今回の件であれば キーフレーム(何ミリ秒後にどういう状態にしたいか)の概念を取り入れるとか、 途中の状態の計算方法としてイージング(ease)を使ってみるとか
- 4 名前:名前は開発中のものです。 mailto:sage [2020/01/17(金) 10:48:45 ID:878dgjlU.net]
- よくわからない、ガンダムで例えてくれ...
- 5 名前:名前は開発中のものです。 [2020/01/17(金) 17:44:47.78 ID:dI55HHmX.net]
- >>4
ガンダムがアムロの動きに合ってくれないのでマグネットコーティングの塗り方教えてくれ
- 6 名前:名前は開発中のものです。 [2020/01/17(金) 20:49:46.75 ID:YRNiJPaW.net]
- アムロ父が酸素欠乏症だった感じ
- 7 名前:名前は開発中のものです。 mailto:sage [2020/01/18(土) 19:55:44.33 ID:vHCBk4qI.net]
- よくわからないガンダム=武者ガンダム
- 8 名前:名前は開発中のものです。 [2020/01/19(日) 12:41:27.38 ID:naY6xUXg.net]
- x*=0.9f ^ (60/フレームレート)
じゃダメなのか?
- 9 名前:名前は開発中のものです。 [2020/01/19(日) 12:55:01.10 ID:naY6xUXg.net]
- cだと^はビット演算なのか
x*=pow(0.9f, 60/fps)ね
- 10 名前:名前は開発中のものです。 [2020/01/19(日) 18:43:23.28 ID:6oYVQhv+.net]
- p+=x*60.0f/fps
x*=pow(0.9f,60.0/fps) これで行けたわ、9サンガツ (試験用にHSPで組んだやつ) repeat 2 if(cnt=0){ fps=60.0 : color 0,0,255 } else{ fps=75.0 : color 255,0,0 } p=0.0 : q=0.0 : x=1.0 line 0,0,0,0 repeat int(fps) q+=60.0/fps p+=x*60.0/fps : x*=powf(0.9,60.0/fps) line q*10,p*10 loop loop stop
- 11 名前:名前は開発中のものです。 mailto:sage [2023/10/12(木) 15:30:48.02 ID:Sd4ANNLC.net]
- ~~~-y( -)^^) ブチュッ
- 12 名前:過去ログ ★ [[過去ログ]]
- ■ このスレッドは過去ログ倉庫に格納されています
|

|