アプリ版:「スタンプのみでお礼する」機能のリリースについて

#include <math.h>
#include "DxLib.h"

#define PI 3.1415926f

int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK );

int Handle[3];
LoadDivGraph( "画像/弾01.png", 3, 3, 1, 14, 16, Handle );

float x=320,y=240,angle=0,speed=1;


while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){

x += cos( angle ) * speed;

DrawRotaGraph( x, y, 1.0, angle+PI/2, Handle[0], TRUE );
}

DxLib_End();
return 0;
}
これを実行すると画像が右に動いていくのですが、なぜ動くのかわかりません。

x += cos( angle ) * speed; の部分はx=320+0*1という事だと思っているのですが、これだとxはずっと320のままで画像が右に動いて行かないと思います。

教えてくださいm(_ _ )m

A 回答 (2件)

> そのx = x + cos( angle ) * speed;


> に数字(x=320,angle=0,speed=1)を当てはめるとx=320+0*1に
> なると思っているのですがあっているのでしょうか?
落ち着いて式を見直し、三角関数の値を思い出しましょう。
(sin(0)ではなく)cos(0)はいくつですか?
    • good
    • 0
この回答へのお礼

cos(0)は1でした。ありがとうございますm(_ _ )m

お礼日時:2012/11/06 23:14

x += cos( angle ) * speed;


ならば
x = x + cos( angle ) * speed;
になるのでは。

この回答への補足

そのx = x + cos( angle ) * speed;
に数字(x=320,angle=0,speed=1)を当てはめるとx=320+0*1になると思っているのですがあっているのでしょうか?

補足日時:2012/11/06 19:19
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!