Member 13475664 Ответов: 1

Нарисуйте кривую и переместите ее в форму


Point p61 = Point(x3,y3);
Point p64 = Point(x4,y4);
Point p65 = Point(x5,y5);

cli::array<point>^ curvePoint6 = { p61,p64,p65 };
g->DrawCurve(blackpen, curvePoint6);

это код для рисования кривой
и я хочу, чтобы эта кривая двигалась в любом направлении
private: System::Void timer1_Tick(System::Object^  sender, System::EventArgs^  e) {
//here i am trying to move it from left to right
x3++;
x4++;
x5++;
Refresh();
//when x4 reach 100 place 

while(x4 = 100 )
{
y3++;
y4++;
y5++;
Refresh();
}
}
я учил этот метод работает но вся кривая не движется вместо этого она увеличивается и кривая становится больше
пожалуйста, дайте мне знать, если есть какой-либо другой способ сделать это
спасибо

Что я уже пробовал:

я попробовал увеличить тиковую функцию таймера

jeron1

Хотя я не использовал CLI и не смотрел на вашу логику, я знаю, что это утверждение
хотя(x4 = 100 ) выглядит подозрительно и, вероятно, не делает того, что вы думаете, он присваивает значение 100 x4, он не проверяет, равен ли x4 100.
попробуйте вместо этого использовать while (x4 == 100).

Member 13475664

я попробовал это не работает

jeron1

Вы прошли через код с помощью отладчика?

1 Ответов

Рейтинг:
0

KarstenK

Как написал Джерон, это время глючит и не нужно.

Почему вы не используете удобную функцию Графика.FillEllipse?

Если вы хотите вручную нарисовать круг вам нужны некоторые знания о нем тригономия и некоторый код C++ .


Member 13475664

мне не нужен круг я хочу чтобы линия или кривая двигались по форме