| 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. -------------------- Чего хочет женщина – того хочет Бог
|
LHx Анимация в Паскале 3.07.2004 2:13
NetAnton для анимации используют спрайты. подробнее о них п… 3.07.2004 2:44
GLuk Выложи код, поглядим... 3.07.2004 14:14
trminator Экран моргает. 60 раз в секунду (стандартно для гр… 3.07.2004 15:30
warner
А есть во FreePascal что-то похожее?? потому что… 20.04.2005 19:13
Altair Можно использовать переключение видеостраниц.
Тогд… 4.07.2004 17:16
GLuk
Судя по сабжу он и так юзает переключение страниц… 4.07.2004 18:21
Altair Ага, все ясно, точно, он использует переключение в… 4.07.2004 19:31
LHx Мне больше нравится путь самурая oleg_7 :). Какой … 6.07.2004 1:38
Altair Прошу не путать, я не самурай, а извращенец! … 6.07.2004 2:30
LHx А vga-никак нельзя?? Ну вы в натуре извращенец, ми… 7.07.2004 0:03
BlackShadow Ну почему нельзя?
Oleg_Z, ты же не думаешь, что ма… 7.07.2004 15:52
LHx Вообще-то, я уже попробовал ega - заработало. :D … 7.07.2004 23:37
BlackShadow Объясняю.
Есть несколько очаровательнвх режимов, … 8.07.2004 18:03
LHx Я бы с большой радостью все понял, но я исключител… 10.07.2004 0:14
Altair LHx, сосредоточся на цели - ускорить вывод на экра… 10.07.2004 0:21
SKVOZNJAK Или же выбрать компилятор помощнее и наплевать на … 10.07.2004 10:04
trminator Вот цикл статей на osp.ru/pcworld
http://www.osp.… 10.07.2004 21:20
volvo Ну, на данном этапе видеостраницы тебе только меша… 23.12.2005 23:08
Gothic_Snake В таком случае тебе лучше будет перевести свою про… 24.12.2005 2:31
spectrum люди помогите плз. обясните чайнику как открыть фа… 10.10.2008 19:38
Lapp люди помогите плз. обясните чайнику как открыть фа… 14.10.2008 2:40
arhimag А можно ли от него совсем избавиться??? 23.12.2005 23:11
arhimag А если её перевести в фпс то ничего не измениться?… 24.12.2005 4:12
Gothic_Snake
А если её перевести в фпс то ничего не измениться… 25.12.2005 23:35
GoodWind можно и в FPC, как больше нравится 25.12.2005 18:00
ey Народ, вопрос по теме.
Использовал раньше графичес… 12.07.2008 22:49
volvo В режиме Graph 640*480 всего одна видеостраница, н… 12.07.2008 23:05
Гость Как в ФПС переключать видео страницы? 12.07.2008 23:28![]() ![]() |
|
Текстовая версия | 5.11.2025 12:46 |