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

Тема в разделе "Pascal and Delphi", создана пользователем -, 10 фев 2011.

Статус темы:
Закрыта.
  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 если надо чтобы груз потом на экране остался?? и далее я хочу нарисовать под ним линию что для этого нужно сделать?

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

    nayke Well-Known Member

    Регистрация:
    4 авг 2010
    Сообщения:
    310
    Симпатии:
    0
    until - условие для выхода судя по всему i=280

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




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

    nayke Well-Known Member

    Регистрация:
    4 авг 2010
    Сообщения:
    310
    Симпатии:
    0
    что именно пишите что не выходит.. может подробнее?

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

    acorn PHP Developer

    Регистрация:
    29 авг 2004
    Сообщения:
    599
    Симпатии:
    3
    есть там delay


    а так должен груз остаться, хоть и код топорный, переделан из вашего
    Код (Delphi):
    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);
     
  6. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    а может:
    Код (Delphi):
    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. Гость



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

    Добавлено:


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

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Код (Text):
    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;
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей