ページ 11

ジャンプ時のキャラ描画について

Posted: 2010年11月23日(火) 18:35
by れん
2D横スクロールのマリオ的なゲームを作ろうとしているのですが、ジャンプのキャラ描画がキチンとしたものに出来ません


 // 高度処理
 ch.chaY -= JumpPower ;
 // 落下加速度加算
 JumpPower -= 1 ;

 if(JumpPower <=15 && JumpPower >= 8 )ch.chaGraph = chaJump[0];
 else if(JumpPower < 8 && JumpPower > 4)ch.chaGraph = chaJump[1];
 else if(JumpPower <= 4 && JumpPower > 1)ch.chaGraph = chaJump[2];//ここまで上昇画像
 else if(JumpPower <= 1 && JumpPower > -1)ch.chaGraph = chaJump[3];//ジャンプ頂点画像
 else if(JumpPower <= -1 && JumpPower > -3)ch.chaGraph = chaJump[4];//ここから下降画像
 else if(JumpPower <= -3 && JumpPower > -5)ch.chaGraph = chaJump[5];
 else if(JumpPower <= -5 && JumpPower > -7)ch.chaGraph = chaJump[6];
 else if(JumpPower <= -7 && JumpPower > -9)ch.chaGraph = chaJump[7];
 else if(JumpPower <= -9) ch.chaGraph = chaJump[(t%48)/24+7] ;//48周期で2枚。飾りひらひらさせる


現在はこのように無理やりジャンプの高度で描画する画像を指定していますが、コレだと見づらいですし、現状はジャンプ力固定ですが、今後キー入力の長さでジャンプ力を変えたり二段ジャンプを導入しようと考えたらおの描画方法では問題が出る気がしまして…
数式も考えましたが数学が苦手なので規則性も見えず、現在考えあぐねています…

Re:ジャンプ時のキャラ描画について

Posted: 2010年11月23日(火) 20:26
by dic
2次関数は大丈夫でしょうか?
図のような放物線でいけると思います

//==============================================
あれ、x = 0 のとき y = -16 で図が間違ってますね 画像

Re:ジャンプ時のキャラ描画について

Posted: 2010年11月23日(火) 22:04
by れん
>dicさん

返答ありがとうございます
しかし、私の質問の仕方が悪かったみたいですね

ジャンプした時のキャラの画像の表示タイミングがこれと同じで、且つこの書き方を短縮出来ないか、という意味です
回答いただいたもので短い書き方ができるのかもしれませんが、色々と試してみましたが私ではその式をうまく使えないようです…

Re:ジャンプ時のキャラ描画について

Posted: 2010年11月23日(火) 22:07
by はんなり
僕の思いつく限りでは短縮する方法は思いつきません。

思いついても、短縮しないです。(わかりづらくなるからです)

Re:ジャンプ時のキャラ描画について

Posted: 2010年11月23日(火) 22:13
by れん
>はんなりさん

返答ありがとうございます

やはりこれを短くしてしまうと分かりにくくなってしまうのですね
現在は特に不具合が出ているわけでもないので、今後の機能で不具合が出た場合は個別に対応するか新しい描画を考えることにします



質問に答えてくれた方、ありがとうございました