私はこれを読んでいたtopicと私はそれを打つことにしました。私の驚きには、私が思っているよりも簡単に思えた。私は "DesiredPos"変数についていくらか混乱しています。私の実装では少なくとも。私は常に窓を動かそうとしていて、モニターの端に当たるとボールのように反応します。ゲームのポンのボールのように。私はマウスを動かすこのようなプログラムを作ったが、私はこの1つの周りに頭を抱えるように見えない。ウィンドウの動きをシミュレートして衝突に反応する
これは、Windows APIの関数の多くに来るとき、私はこれまでのところ、私は経験が限られているものです。これはハードコアの大まかなドラフトです。
EDIT 私はまだ衝突検出のいずれかを実装していない私はちょうど移動する部分が働いて取得したいです。
#include <windows.h>
#include <math.h>
int newX(int oldx);
int newY(int oldy);
double SmoothMoveELX(double x);
int main()
{
int lengthInMs = 10*1000;
HWND notepad = FindWindow("Notepad",NULL);
RECT window;
SetTimer(
notepad,
NULL,
30,
(TIMERPROC)NULL
);
int startTime = GetTickCount();
int pos = elap/lengthInMs;
while(1)
{
RECT window;
GetWindowRect(notepad,&window);
int elap = (GetTickCount() - startTime);
if(elap >= lengthInMs)
{
int NEWX = NewX(window.x);
int NEWY = NewY(window.y);
MoveWindow(
notepad,
NEWX,
NEWY,
100,
100,
TRUE
);
}
}
}
int NewX(int oldx)
{
int newx = oldx*(1-SmoothMoveELX(pos))
+ 10 *SmoothMoveELX(pos));
return newx;
}
int newY(int oldy)
{
int newy = oldy*(1-SmoothMoveELX(pos))
+ 10 *SmoothMoveELX(pos));
return newy;
}
double SmoothMoveELX(double x)
{
double PI = Atan(1) * 4;
return ((cos(1 - x) * PI + 1) /2)
}
あなたの質問は何ですか? – Blorgbeard