Player_Move部分)ダッシュのボタンを押さずにすれば基本的に大丈夫なんですが、ダッシュ時に上手く曲がりません・・・。斜め方向にも進みません。);}一応コードを載せておきます。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。相変わらずの遅返信すみません。自分が考えたやり方は、キーを押した方向に対応した角度をangに入れ、sin、cosを使って移動速度をx成分、y成分に分けるという方法です。入力した方向*1/2πをしてやると、ちょうどその方向にangをあわせることができます。ここまではできました。次に、斜め方向では、Inputpadをn番だけでなく、n+1番も観測させます。そのためInputpad[4]は[0]と同じく右キーとなっています。両方とも押されているなら、1/2パイ*(n+0.5)で、n番と、n+1番を間の、斜め方向に向かせます。プログラム内にもコメントを追加しました。8年前とりあえず変な角度には動かないようにしましたが、ダッシュするキャラを綺麗にカーブさせたいならベクトルの合成で元の移動方向ベクトルと新たな角度のベクトルを合成したほうが思うような動きになると思います。ang,nang,dushper=1;//angはプレイヤーの現在向いている方向。nangはプレイヤーが向こうとしている方向。);/*ボタン配置説明Inputpad[i]120(4)3*///-----------------------------------------//通常移動用の角度算出。ダッシュ前のアングルも求めます。KeyAngle[index];}}//-----------------------------------------//ダッシュをしているときのアングル計算。{nang=ang;//もし何も方向キーをおしていないなら、今向いている方向に向かいます。}//ここからは今の方向と向かおうとしている方向から//時計回りが早いのか、反時計が早いのか計算し、//今向いている方向を、向かおうとしている方向に近づけさせます。{x=Player->x,y=Player->y;//一旦x,yに代入mx=Player->sp*dushper*cos(ang);//x方向の移動距離計算my=Player->sp*dushper*sin(ang);//y方向の移動距離計算x+=mx,y+=my;//x,yに加算//本来ここにステージの接触を観測させます。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。8年前なるほど、ベクトル合成をすればいいんですね。ミクプラは自由にリンクできます。