Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.06.2016, 17:29   #1
Hinc
Пользователь
 
Регистрация: 14.05.2016
Сообщений: 33
Восклицание Помогите доделать анимацию (элемент)

Приветствую.

Делаю анимацию. 3 ракеты летят вверх 5 раз. Ракеты летят вверх, это все циклом прописал, но мне нужно еще чтобы огонь внизу (дуги) увеличивался и уменьшался во время движения ракет. Сделал цикл для уменьшения дуг (огня) ракет, но куда не вставлю его, выходит не очень...
Помогите пожалуйста делать так, чтобы во время движения ракеты на 1 пиксель вверх, огонь уменьшался на 1 пиксель.
Когда огонь уменьшится на 10 пикселей нужно чтобы он увеличивался на 10 пикселей по одному пикселю и снова же, когда он увеличится на 10 пикселей, чтобы уменьшался и т.д. циклично.

Код:



1. Все три ракеты летят вверх:
Код:
Program Animation;
Uses GraphABC;
Var i,j,k:integer;
Begin
SetWindowSize(800,600);
LockDrawing;
//Raketa_One;
//Raketa_Two;
//Raketa_Three;
 
For j:=0 to 5 do
Begin
// Animation!
For i:=0 to 360 do
begin
ClearWindow(clWhite);
// Raketa One!
Rectangle(55,176+510-i*9,205,426+510-i*9);
Line(55,276+510-i*9,0,426+510-i*9);
Line(0,426+510-i*9,55,426+510-i*9);
Line(205,276+510-i*9,260,426+510-i*9);
Line(205,426+510-i*9,260,426+510-i*9);
Circle(130,250+510-i*9,35);
Circle(130,350+510-i*9,35);
Arc(205,176+510-i*9,150,120,181);
Arc(55,176+510-i*9,150,0,60);
Arc(215,426+510-i*9,150,180,236);
Arc(45,426+510-i*9,150,304,360);
Arc(215,426+510-i*9,120,180,225);
Arc(45,426+510-i*9,120,315,360);
FloodFill(130,55+510-i*9,RGB(255,0,0));
FloodFill(130,175+510-i*9,RGB(255,0,0));
FloodFill(130,300+510-i*9,RGB(236,236,236));
FloodFill(130,424+510-i*9,RGB(236,236,236));
FloodFill(32,424+510-i*9,RGB(255,0,0));
FloodFill(232,424+510-i*9,RGB(255,0,0));
FloodFill(130,220+510-i*9,RGB(52,158,221));
FloodFill(130,320+510-i*9,RGB(52,158,221));
FloodFill(130,283+510-i*9,RGB(52,158,221));
FloodFill(130,383+510-i*9,RGB(52,158,221));
FloodFill(130,430+510-i*9,RGB(255,197,35));
FloodFill(130,504+510-i*9,RGB(255,197,35));
FloodFill(80,430+510-i*9,RGB(255,64,0));
FloodFill(180,430+510-i*9,RGB(255,64,0));
FloodFill(130,524+510-i*9,RGB(255,64,0));
// Raketa One!
 
// Raketa Two!
Rectangle(55+270,176+510-i*6,205+270,426+510-i*6);
Line(55+270,276+510-i*6,0+270,426+510-i*6);
Line(0+270,426+510-i*6,55+270,426+510-i*6);
Line(205+270,276+510-i*6,260+270,426+510-i*6);
Line(205+270,426+510-i*6,260+270,426+510-i*6);
Circle(130+270,250+510-i*6,35);
Circle(130+270,350+510-i*6,35);
Arc(205+270,176+510-i*6,150,120,181);
Arc(55+270,176+510-i*6,150,0,60);
Arc(215+270,426+510-i*6,150,180,236);
Arc(45+270,426+510-i*6,150,304,360);
Arc(215+270,426+510-i*6,120,180,225);
Arc(45+270,426+510-i*6,120,315,360);
FloodFill(130+270,55+510-i*6,RGB(255,0,0));
FloodFill(130+270,175+510-i*6,RGB(255,0,0));
FloodFill(130+270,300+510-i*6,RGB(236,236,236));
FloodFill(130+270,424+510-i*6,RGB(236,236,236));
FloodFill(32+270,424+510-i*6,RGB(255,0,0));
FloodFill(232+270,424+510-i*6,RGB(255,0,0));
FloodFill(130+270,220+510-i*6,RGB(52,158,221));
FloodFill(130+270,320+510-i*6,RGB(52,158,221));
FloodFill(130+270,283+510-i*6,RGB(52,158,221));
FloodFill(130+270,383+510-i*6,RGB(52,158,221));
FloodFill(130+270,430+510-i*6,RGB(255,197,35));
FloodFill(130+270,504+510-i*6,RGB(255,197,35));
FloodFill(80+270,430+510-i*6,RGB(255,64,0));
FloodFill(180+270,430+510-i*6,RGB(255,64,0));
FloodFill(130+270,524+510-i*6,RGB(255,64,0));
// Raketa Two!
 
// Raketa Three!
Rectangle(55+540,176+510-i*3,205+540,426+510-i*3);
Line(55+540,276+510-i*3,0+540,426+510-i*3);
Line(0+540,426+510-i*3,55+540,426+510-i*3);
Line(205+540,276+510-i*3,260+540,426+510-i*3);
Line(205+540,426+510-i*3,260+540,426+510-i*3);
Circle(130+540,250+510-i*3,35);
Circle(130+540,350+510-i*3,35);
Arc(205+540,176+510-i*3,150,120,181);
Arc(55+540,176+510-i*3,150,0,60);
Arc(215+540,426+510-i*3,150,180,236);
Arc(45+540,426+510-i*3,150,304,360);
Arc(215+540,426+510-i*3,120,180,225);
Arc(45+540,426+510-i*3,120,315,360);
FloodFill(130+540,55+510-i*3,RGB(255,0,0));
FloodFill(130+540,175+510-i*3,RGB(255,0,0));
FloodFill(130+540,300+510-i*3,RGB(236,236,236));
FloodFill(130+540,424+510-i*3,RGB(236,236,236));
FloodFill(32+540,424+510-i*3,RGB(255,0,0));
FloodFill(232+540,424+510-i*3,RGB(255,0,0));
FloodFill(130+540,220+510-i*3,RGB(52,158,221));
FloodFill(130+540,320+510-i*3,RGB(52,158,221));
FloodFill(130+540,283+510-i*3,RGB(52,158,221));
FloodFill(130+540,383+510-i*3,RGB(52,158,221));
FloodFill(130+540,430+510-i*3,RGB(255,197,35));
FloodFill(130+540,504+510-i*3,RGB(255,197,35));
FloodFill(80+540,430+510-i*3,RGB(255,64,0));
FloodFill(180+540,430+510-i*3,RGB(255,64,0));
FloodFill(130+540,524+510-i*3,RGB(255,64,0));
// Raketa Three!
Redraw;
Sleep(1);
end;
// Animation
End;
 
End.

2. Одна ракета летит вверх: (мне хотя бы для одной такое сделать , для других сам):

Код:
Program Animation;
Uses GraphABC;
Var i,j,k:integer;
Begin
SetWindowSize(800,600);
LockDrawing;
//Raketa_One;
//Raketa_Two;
//Raketa_Three;
 
For j:=0 to 5 do
Begin
// Animation!
For i:=0 to 360 do
begin
ClearWindow(clWhite);
// Raketa One!
Rectangle(55,176+510-i*9,205,426+510-i*9);
Line(55,276+510-i*9,0,426+510-i*9);
Line(0,426+510-i*9,55,426+510-i*9);
Line(205,276+510-i*9,260,426+510-i*9);
Line(205,426+510-i*9,260,426+510-i*9);
Circle(130,250+510-i*9,35);
Circle(130,350+510-i*9,35);
Arc(205,176+510-i*9,150,120,181);
Arc(55,176+510-i*9,150,0,60);
Arc(215,426+510-i*9,150,180,236);
Arc(45,426+510-i*9,150,304,360);
Arc(215,426+510-i*9,120,180,225);
Arc(45,426+510-i*9,120,315,360);
FloodFill(130,55+510-i*9,RGB(255,0,0));
FloodFill(130,175+510-i*9,RGB(255,0,0));
FloodFill(130,300+510-i*9,RGB(236,236,236));
FloodFill(130,424+510-i*9,RGB(236,236,236));
FloodFill(32,424+510-i*9,RGB(255,0,0));
FloodFill(232,424+510-i*9,RGB(255,0,0));
FloodFill(130,220+510-i*9,RGB(52,158,221));
FloodFill(130,320+510-i*9,RGB(52,158,221));
FloodFill(130,283+510-i*9,RGB(52,158,221));
FloodFill(130,383+510-i*9,RGB(52,158,221));
FloodFill(130,430+510-i*9,RGB(255,197,35));
FloodFill(130,504+510-i*9,RGB(255,197,35));
FloodFill(80,430+510-i*9,RGB(255,64,0));
FloodFill(180,430+510-i*9,RGB(255,64,0));
FloodFill(130,524+510-i*9,RGB(255,64,0));
// Raketa One!
Redraw;
Sleep(1);
end;
// Animation
End;
 
End.
3. Анимация самого огня (уменьшение дуг):
Код:
Program Animation;
Uses GraphABC;
Var j,k:integer;
Begin
 
SetWindowSize(800,600);
LockDrawing;
 
 
For j:=1 to 100 do
Begin
For k:=1 to 10 do
Begin
If k<10 then
Begin
ClearWindow(clWhite);
Rectangle(55,176,205,426);
Arc(215+k*2,426,150,180,236-k);
Arc(45-k*2,426,150,304+k,360);
Redraw;
Sleep(100);
End;
End;
End;
 
 
END.
Hinc вне форума Ответить с цитированием
Старый 11.06.2016, 18:15   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию


А, я понял! Это шутка, да?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 11.06.2016, 18:24   #3
Hinc
Пользователь
 
Регистрация: 14.05.2016
Сообщений: 33
По умолчанию

???
Hinc вне форума Ответить с цитированием
Старый 11.06.2016, 18:35   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
???
ты реально надеешься, что в интернетах найдётся хотя бы 1 говночист-мизантроп, который будет в ЭТОМ ковыряться?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 11.06.2016, 19:53   #5
Hinc
Пользователь
 
Регистрация: 14.05.2016
Сообщений: 33
По умолчанию

Возможно.
Тогда зачем этот форум?
Hinc вне форума Ответить с цитированием
Старый 11.06.2016, 20:08   #6
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Тогда зачем этот форум?
мысли глобальнее - от общего к частному. Для начала: зачем вообще этот интернет?

А я тебе отвечу!


Смотреть, конечно, с вывернутым на 100% громкость звуком!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста создать анимацию робота в паскале. I_R_I_A_N_A Помощь студентам 11 04.05.2014 08:21
Помогите доделать Bay Паскаль, Turbo Pascal, PascalABC.NET 1 05.01.2009 15:01