анимация в pascal abc



Setpencolor

Автор Дима Вагин задал вопрос в разделе Другие языки и технологии

Как сделать анимацию в Paskal Abc.net ? и получил лучший ответ

Ответ от Sasha Programmer[гуру]
uses
GraphABC;
var
x : integer;
begin
//for x := 0 to 500 do begin
while (x <> 1000) do begin
lockdrawing;
floodfill(1+x, 1, cllightSkyBlue);
setwindowsize(1000, 700);
SetPenColor(clBlack);
SetPenWidth(5);
line(440+x, 310, 375+x, 250); // ещё одна антена
line(0, 555, 1000, 555);
floodfill(1, 600, clGreen);
SetPenWidth(10);
setpencolor(clBlack);
//rectangle(100, 400, 600, 500);
rectangle(100+x, 400, 600+x, 500); // кузов
rectangle(200+x, 310, 500+x, 400); // кабина
floodfill(310+x, 450, clGreen );
circle(150+x, 500, 50); // левое колесо
circle(550+x, 500, 50); // правое колесо
setpencolor(clRed);
rectangle(100+x, 400, 160+x, 430); // задняя фара
floodfill(111+x, 411, clRed); // цвет задней фары
SetPenWidth(20);
setpencolor(clYellow);
circle(575+x, 425, 10); // передняя фара
setpencolor(clBlue);
SetPenWidth(10);
rectangle(225+x, 325, 325+x, 385); // левое окно
rectangle(375+x, 325, 475+x, 385); // правое окно
floodfill(236+x, 336, clBlue); // цвет правого окна
floodfill(386+x, 336, clBlue); // цвет левого окна
floodfill(216+x, 316, clGreen); // цвет кабины
floodfill(150+x, 500, clGoldenrod); // цвет левого колеса
floodfill(550+x, 500, clGoldenrod); // цвет правого колеса
SetPenColor(clBlack);
SetPenWidth(5);
line(440+x, 310, 375+x, 250); // антена
line(0+x, 555, 1000+x, 555); // непонятно что
floodfill(1, 600, clGreen); // цвет грунта
//hidecursor;
lockdrawing;
//redraw;
Redraw;
Sleep(1);
clearwindow;
inc(x,3);
end;
end.

Ответ от Дима мищенко[активный]
program corablik;
uses Graph, Crt;
var
grDriver: integer;
grMode: integer;
ErrCode: integer;
x,y,y0,a,b: integer;{a,b-переменные для линии моря, чтоб они не зависели от х, у}
procedure more(a,b:integer);
begin
moveto(0,y0);
setcolor(blue);
for a:=0 to 680 do{слева направо рисуем синусоиду синего чвета}
begin
b:=y0-round(sin(a*pi/180)*30);{30-коэффициент масштабирования по оси Х,
чем больше, тем волна круче}
lineto(a,b);
end;
end;
begin
grDriver := Detect;
InitGraph(grDriver, grMode, '..BGI');
ErrCode := GraphResult;
y0 := 250;
if ErrCode = grOk then
begin
x:=600;
while x>=0 do{лучше использовать цикл while, можно менять величину шага,
что тоже влияет на скорость и частоту смены картинки}
begin
cleardevice;
more(a,b);{рисуем волну}
setcolor(white);{устанавливаем цвет кораблика}
y:=y0-40-round(sin(x*pi/180)*30);{движемся по волне}
MoveTo(x - 40, y + 20);
LineTo(x - 20, y + 40);
LineTo(x + 20, y + 40);
LineTo(x + 40, y + 20);
LineTo(x - 40, y + 20);
MoveTo(x + 15, y + 20);
LineTo(x + 15, y - 40);
LineTo(x - 20, y + 20);
LineTo(x + 15, y + 20);
delay(100); {нормальная скорость, если модули *.TPL не глючные как у Вас,
время должно быть в миллисекундах, а не в каких-нибудь наносекундах}
x:=x-2;{шаг движения}
end;
end
else Writeln('Graphics error: ', GraphErrorMsg(ErrCode));
Settextstyle(0,0,3);{устанавливаем стиль шрифта}
cleardevice;
setcolor(red);
OuttextXY(200,240,'Rejs zavershen!');{выводим надпись (для понта) }
readln;
CloseGraph;
end.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Как сделать анимацию в Paskal Abc.net ?

надо нарисовать машинку в abc pascal как можно проще помогите
В принципе тут нет ничего сложного. Вот что у меня получилось:
uses GraphABC,crt;
var
подробнее...

Как в Pascal ABC с помощью модуля graph abc нарисовать это
Решение на Pascal ABC

program star;
uses graphabc;
var k, xw, s: integer;подробнее...
спросили в Vocaloid
Написать программу на Pascal ABC с графикой
program salyt;
uses crt,graphABC;
var vx,vy: integer;

procedure Vzlet(x,k:
подробнее...

Помогите по программе паскаль
Setcolor нет вроде в Pascal ABC.
Используйте Setpencolor() - цвет пера (границы) или
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в Randomness Игры Level 5
Приведите пример игры которая написана на Pascal ABC.
uses GraphABC, crt;
label metka,metka2;
var x,y: array [1..100] of integer;подробнее...

ПАСКАЛЬ и ГРАФИКА
Подпрограммы для работы с пером

Рисование линий осуществляется текущим пером. Доступ к
подробнее...

Не работает GraphABC в PascalABC
ты рисуешь белый круг на белом
подробнее...

Информатика Pascal ABC Нарисовать простой дом
program dom;
uses graphABC;
begin
setwindowwidth(700);
setwindowheight(700);подробнее...
спросили в Randomness
как в паскале ABC нарисовать круг?
uses graphabc;
var a,b,c,i,count:integer;

begin
floodfill(1, 1, clblue);
подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*