Анимация в Паскале, Дык, помогите. |
Анимация в Паскале, Дык, помогите. |
LHx |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: 0 |
Я хочу сделать в игрухе постоянно (часто) обновляемый экран. Для этого меняю страницы. Изображение мелькает, раздваивается, а местами вообще исчезает. Как быть? (мне бы с игрухой до осени управиться, а то в башке засела - не вышибешь. Как заноза. ПОМОГИТЕ.)
-------------------- Если отладка - процесс удаления ошибок из программы, то программирование должно быть процессом их внесения.
|
arhimag |
Сообщение
#2
|
Знаток Группа: Пользователи Сообщений: 424 Пол: Мужской Репутация: 2 |
А помогите пожалуйста улучшить это ( мигает, а это не приятно!)
Код program DRAW_BLAD; uses crt, graph; const left = #75; right = #77; up = #72; down = #80; var x, y, Driver, mode: integer; c: char; ekran:word; procedure drawhead(x,y: integer); var i:integer; begin setfillStyle (solidfill, yellow); Pieslice(x,y,0,360,4); setcolor(blue); line(x-7, y-1, x+6, y-4); line(x-7, y-2, x+6, y-4); setcolor(black); line(x-4, y-3, x+3, y-4); setcolor(lightblue); for i:= 1 to 3 do line(x-4, y-3-i, x+3, y-5-i); setcolor(lightblue); setfillstyle(solidfill, lightblue); pieslice(x+1,y-1,0, 360, 1); end; procedure drawbody(x,y: integer); var i: integer; begin x:=x; y:=y+7; setfillstyle (solidfill, lightblue); bar( x-2, y, x+3, y+15 ); setcolor(red); line(x-4, y-3, x+3, y); line(x-4, y-2, x+3, y); line(x-4, y-1, x+3, y); setcolor(white); line(x-4, y-4, x+2, y-1); setfillstyle ( 1 , lightblue); pieslice( x-1, y+2, 0, 360, 2); for i:= 0 to 4 do begin if (i=0) or (i=4) then setcolor(white) else setcolor(lightblue); line(x-1, y+i, x+4, y+14+i); end; setcolor(yellow); setfillstyle( 1, yellow); pieslice( x+4, y+16, 0, 360, 2); end; procedure drawlegs(x,y:integer); begin x:=x; y:=y+7+15; setcolor(red); setfillstyle(1,red); bar(x-2, y, x+3, y+2); setcolor(blue); setfillstyle(1, lightblue); bar(x-2,y+2,x+3, y+12); setcolor(yellow); setfillstyle( 1, yellow); bar(x-1,y+12,x+1, y+14); setcolor(black); setfillstyle(1, black); bar(x-1,y+14,x+2, y+17); bar(x-2,y+15,x+5, y+18); pieslice( x+5, y+16, 0 , 360, 2); end; procedure drawblad (x,y:integer); begin drawhead(x,y); drawbody(x,y); drawlegs(x,y); end; Begin ekran:=0; x:=100; y:=200; driver:=9; Mode:=1; initgraph( driver, mode , ''); setactivepage(ekran); setvisualpage(ekran); setfillstyle(1, green); bar(0,0, getmaxx, getmaxy); drawblad(x,y); repeat ekran:= ekran+1; ekran:= ekran mod 2; c:=readkey; setactivepage(ekran); case c of #0: case readkey of left : begin dec(x); clrscr; setfillstyle(1,green); bar(0,0,getmaxx, getmaxy); drawblad(x,y); end; right: begin inc(x); clrscr; setfillstyle(1,green); bar(0,0,getmaxx, getmaxy); drawblad(x,y); end; up : begin dec(y); clrscr; setfillstyle(1,green); bar(0,0,getmaxx, getmaxy); drawblad(x,y); end; down : begin inc(y); clrscr; setfillstyle(1,green); bar(0,0,getmaxx, getmaxy); drawblad(x,y); end; end; end; setvisualpage(ekran); until x=200; readln; end. -------------------- Чего хочет женщина – того хочет Бог
|
Текстовая версия | 3.05.2024 11:07 |