1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

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

Тема в разделе "Вопросы новичков и не только", создана пользователем -, 10 фев 2011.

Статус темы:
Закрыта.
  1. Гость

    Репутация:
    0
    Кран поднимает некоторый груз, перемещая с одного места на другое.

    Значит есть груз 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

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

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

    Репутация:
    0



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

    nayke Well-Known Member

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

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

    acorn PHP Developer

    Репутация:
    0
    Регистрация:
    29 авг 2004
    Сообщения:
    585
    Симпатии:
    3
    есть там 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);
     
  6. Dock1100

    Dock1100 :-]

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

    Репутация:
    0


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

    Добавлено:


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

    Dock1100 :-]

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

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