現在マウスカーソルから光を放出するソフトを書いています。
そこで、画像の動かし方について質問があります。
添付画像のように動かしたいのですが、どのように動かせばいいのでしょうか。 色々試してみましたが、直角に反射するような動きまでしか描けませんでした。
今はこのような形でただ、右下にフェードするだけの処理になっています。
変数はnAlphaが0になったとき、それぞれ再初期化するような処理にしています。
typedef struct{
HBITMAP hBitmap;
HWND hChild;
int nAlpha;
png_uint_32 nWidth;
png_uint_32 nHeight;
POINT wndPos;//画像の位置
SIZE wndSize;//ウインドウサイズ
int nMoveY;//Y移動量
int nMoveX;//X移動量
int nCount;//sinを使うためのループカウンタ
int nAccY;//Y加速度
int nAccX;//X加速度
bool bRetrunFlag;//頂点から引き返すフラグ
}DATA,*lpData;
int CEffect::Move(){
WndData.nCount++;
//Y軸の移動
WndData.nMoveY -= sin(WndData.nCount * 3.14/ 180) * 3;
//X軸の移動
WndData.nMoveX -= sin(WndData.nCount * 3.14/ 180) * 3;
return 0;
}