Нужно в Паскале нарисовать анимацию

  • Автор темы -
  • Дата начала
Статус
Закрыто для дальнейших ответов.

Гость
#1
Кран поднимает некоторый груз, перемещая с одного места на другое.

Значит есть груз Rectangle(250,525,350,588); я его поднимаю вверх

i:=1;
repeat
setcolor(white);
Rectangle(250,525-i,350,588-i);
delay(10);
setcolor(black);
Rectangle(250,525-i,350,588-i);
if i<280 then i:=i+1;
until ;

Что нужно написать в until если надо чтобы груз потом на экране остался?? и далее я хочу нарисовать под ним линию что для этого нужно сделать?

Помогите пожажуйста!!!
 

nayke

Well-Known Member
04.08.2010
310
0
#2
Что нужно написать в until если надо чтобы груз потом на экране остался?? и далее я хочу нарисовать под ним линию что для этого нужно сделать?

Помогите пожажуйста!!!
until - условие для выхода судя по всему i=280

не помню точно но помоему в паскале линия рисуется moveTo(перемещаемся в точку откуда рисуем) -LineTo(рисуем линию от начальной точки до задаваемой).
 

Гость
#3
until - условие для выхода судя по всему i=280

не помню точно но помоему в паскале линия рисуется moveTo(перемещаемся в точку откуда рисуем) -LineTo(рисуем линию от начальной точки до задаваемой).



это да, но я пишу ниже этого ничего не выходит...
 

nayke

Well-Known Member
04.08.2010
310
0
#4
это да, но я пишу ниже этого ничего не выходит...
что именно пишите что не выходит.. может подробнее?

Да и не сразу увидел что у вас анимация. поставте Sleep(100) после REPEAT. Может это имелось ввиду/
Хотя в паскале она наверное называлась delay
 

acorn

PHP Developer
29.08.2004
585
3
#5
Да и не сразу увидел что у вас анимация. поставте Sleep(100) после REPEAT. Может это имелось ввиду/
Хотя в паскале она наверное называлась delay
есть там delay


а так должен груз остаться, хоть и код топорный, переделан из вашего
Код:
i:=1;
repeat
setcolor(white);
Rectangle(250,525-i,350,588-i);
delay(10);
setcolor(black);
Rectangle(250,525-i,350,588-i);
if i<280 then i:=i+1;
until i = 280;

setcolor(white);
Rectangle(250,525-i,350,588-i);
 
09.11.2009
665
1
#6
а может:
Код:
for i:=1 to 140 do
begin
setcolor(white);
moveto(250+50,325-i);
Lineto(250+50,525-i);
setcolor(black);
Rectangle(250,525-i,350,588-i);
delay(10);
end;
 

Гость
#7
а может:
Код:
for i:=1 to 140 do
begin
setcolor(white);
moveto(250+50,325-i);
Lineto(250+50,525-i);
setcolor(black);
Rectangle(250,525-i,350,588-i);
delay(10);
end;


Вот мне надо чтобы линия по горизонтали выехала с начала экрана))

Добавлено:
а может:
Код:
for i:=1 to 140 do
begin
setcolor(white);
moveto(250+50,325-i);
Lineto(250+50,525-i);
setcolor(black);
Rectangle(250,525-i,350,588-i);
delay(10);
end;


Вот мне надо чтобы линия по горизонтали выехала с начала экрана))
 
09.11.2009
665
1
#8
Код:
for i:=1 to 140 do
begin
setcolor(white);
moveto(250+50,0+i);
Lineto(250+50,200+i);
setcolor(black);
Rectangle(250,0+i,350,(588-525)+i);
delay(10);
end;
 
Статус
Закрыто для дальнейших ответов.