그래서이 특정 세트에서 작업이 끝나기 시작했습니다. 타원은 타이머가 틱 할 때마다 그려집니다. 타이머는 기본적으로 활성화되어 있으며 각 타이머 틱의 간격은 100ms입니다. 디버깅을 실행하면 하나의 타원이 캔버스에 그려집니다. 더 이상은 아닙니다. 이미 for 루프와 while 루프를 시도하여 각 타이머 틱에서 임의의 양의 타원을 그릴 수는 있지만 작동하지 않습니다. . 이상적으로는 타이머를 켜고 끄는 버튼을 만들려고합니다. (해결 방법은 이전 문제 덕분에이 작업을 수행하는 방법에 대한 몇 가지 아이디어가 있습니다.) 먼저 타이머 코드를 얻고 싶습니다. 아래 코드는 지금까지 얻을 관리해야한다 : 아마 하나 또는 두 개의 중요한 것을 놓치고각 타이머 틱에 임의의 너비, 높이, x 위치 및 y 위치가있는 타원을 그립니다. (Visual C++)
private: System::Void timer1_Tick(System::Object^ sender, System::EventArgs^ e)
{
Random^ rGen;
timer1->Enabled = true;
Graphics^ mainCanvas = CreateGraphics();
// while loop to set upper limit for no# of ellipses
// note: this is just for testing - would like to have
// ellipses drawn automatically at random etc.
int i = 0;
while(i < 20)
{
rGen = gcnew Random();
Brush^ greenBrush = gcnew SolidBrush(Color::Green);
static int randX = rGen->Next(Width); //random x co-ordinate
static int randY = rGen->Next(Height); //random y co-ordinate
static int randWidth = rGen->Next(100); //random ellipse width
static int randHeight = rGen->Next(100); //random ellipse height
mainCanvas->FillEllipse(greenBrush, randX,randY,randWidth,randHeight);
i++;
}
}
, 나는 또한 나의 머리가 거의 폭발하는 동시에 C# 및 ASP.NET을 배우고있다 너무 많이 쌓여있다. 어떤 도움을 주셔서 감사합니다 :).
얼마만큼의 타원을 그리시겠습니까? while 루프에서 동일한 타원을 20 번 그립니다. 좌표를 변경하려면 무작위 생성을 루프 내에 두십시오. 또한 생성자 또는 무언가와 같이 전역에 임의의 무작위를 만들려고 할 수 있습니다. 동일한 시드를 사용하여 동일한 무작위를 만들 수 있으므로 타이머 틱마다 X, Y에 대해 동일한 결과를 줄 수 있습니다. – Blablablaster
@Blablablaster이 스레드에서 코드를 업데이트했지만 여전히 동일한 결과를 생성합니다 ... – Rob