三角関数をつかって移動処理をしているのですが、6パターンくらいの角度しかうごきません

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

シエル

Re:三角関数をつかって移動処理をしているのですが、6パターンくらいの角度しかうごきません

#2

投稿記事 by シエル » 15年前

このような質問で、あなたの求める回答が得られると思いますか?

白い時空

Re:三角関数をつかって移動処理をしているのですが、6パターンくらいの角度しかうごきません

#3

投稿記事 by 白い時空 » 15年前

ただの推測ですが、360°を一周とする度数法でやってませんか?
プログラミングで使うのは、2πを一周とする孤度法です。


KEN

Re:三角関数をつかって移動処理をしているのですが、6パターンくらいの角度しかうごきません

#5

投稿記事 by KEN » 15年前

今自分も同じ事をしています
もし自分の思い違いでなければ
これで角度はでます

自分はアークタンジェントを使ってます

atan2( 物.y - 物.y, 物.x - 物.x );

へろりくしょん

Re:三角関数をつかって移動処理をしているのですが、6パターンくらいの角度しかうごきません

#6

投稿記事 by へろりくしょん » 15年前

6パターンくらいの角度というのが解りませんが、三角関数ですからまず角度を与えるものだと思うのですが。

難しく考えすぎではありませんか? 単純に公式に当てはめればいいだけだと思いますよ。

下記のコードは45度の角度で1移動したときのx座標とy座標をもとめています。
#define PI        3.141592

main
{
    double r = 45 * PI / 180;    //45度
    double y = sin(r);
    double x = cos(r);

    printf("x = %f, y = %f\n", x, y);
}

KEYONN_

Re:三角関数をつかって移動処理をしているのですが、6パターンくらいの角度しかうごきません

#7

投稿記事 by KEYONN_ » 15年前

#define RAD (3.14159265/180)

float angle=30.0f;

x+=cos(angle*RAD)*Speed;
y-=sin(angle*RAD)*Speed;

これでどうでしょうか?

KEYONN_

Re:三角関数をつかって移動処理をしているのですが、6パターンくらいの角度しかうごきません

#8

投稿記事 by KEYONN_ » 15年前

もしかして、STGの自機の動きでしょうか?

左上↑右上
 ← →
左下↓右下

だとすると、普通8パターンくらいしか動きませんよ。


前に回答者さんが言っていましたが、詳しく状況を書かないと詳しい回答が得られません。
詳しく開発環境から疑問している部分とソースコードを提示してください。

閉鎖

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