Движение в игре??? |
Движение в игре??? |
Kolan |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 11 Репутация: 0 |
У меня есть игра. Там два шарика друг в друга стреляют. А движение играков я в бесконечном цикле считываю readkey и получается , что нажать и держать клавишу оба игрока не могут тогда другой не может играть??? Как исправить? ???
|
zx1024 |
Сообщение
#2
|
Пионер Группа: Пользователи Сообщений: 119 Пол: Мужской Репутация: 0 |
if keypressed then readkey;
|
Kolan |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 11 Репутация: 0 |
У меня так и сделано ???
|
AlaRic |
Сообщение
#4
|
... Группа: Пользователи Сообщений: 1 347 Пол: Мужской Репутация: 3 |
to Kolan: сырец случайно не скинешь? Посетителям было бы проще ответить, а может и подскажут что получше!
|
Nemo |
Сообщение
#5
|
Гость |
Вариант типа If KeyPressed then Readkey - фигня. Не буду вдаваться в подробности, но скажу, что нужно записать адрес концаа буфера клавиатуры в адрес начала, магическая строка:
MemW[0:$41a]:=MemW[0:$41c]; |
Kuzmitin |
Сообщение
#6
|
Гость |
Люди, качайте модуль ля реализации проверки нажатия клавиш.
Работает офигительно быстро, иногда надо вставлять delay... Использование: суешь в цикл процедуру key; и пишешь if keys[код опроса нужной клавиши ($XX)] then ; Код UNIT KeyBoard; INTERFACE Var Keys:array[1..128] of boolean; Procedure Key; IMPLEMENTATION Uses Crt; Procedure Key; var a:byte; ch:char; begin a:=port[$60]; if a>128 then keys[a-128]:=false else keys[a]:=true; while keypressed do ch:=readkey; end; END. PEACE всем!!!!!!!!!!!!!!!! ; |
AlaRic |
Сообщение
#7
|
... Группа: Пользователи Сообщений: 1 347 Пол: Мужской Репутация: 3 |
Спасибо уже взяли ;)
|
Текстовая версия | 3.05.2024 6:15 |