Tonyu基礎練習 - 練習:数学基礎知識とゲームへの活用 - 三角関数(sin,cos)の応用 - 円形の描画方法 オブジェクトを、このようなだ円形に沿って動かすには、次のようなプログラムを使います。 例 (100,100)を中心とし、半径40の円形(1フレームごとに角度を1増やした場合) while(1){ x=100+40*cos(angle); y=100+40*sin(angle); angle+=1; update(); } 例 (100,150)を中心とし、半径60の円形(1フレームごとに角度を3増やした場合)} while(1){ x=100+60*cos(angle); y=150+60*sin(angle); angle+=3; update(); } 例 (200,200)を座標の中心とし、長径40短径20の楕円。(1フレームごとに角度を10増やした場合) while(1){ x=100+80*cos(angle); y=100+40*sin(angle); angle+=10; update(); } 例 (300,300)を座標の中心とし、長径120短径80の楕円に扁平率を用いた場合。(1フレームごとに角度を10増やした場合) r=1/4; while(1){ x=300+120*r*cos(angle); y=300+80*r*sin(angle); angle+=10; update(); } (Rはメソッドの引数もしくはコンストラクターに渡すときに設定してあげると、「敵や弾などを同じ周期でありながら異なる大きさで描写させる時」などに有用です) |