| imho.ws |
![]() |
|
|
|
# 1 |
|
Newbie
Регистрация: 11.01.2003
Адрес: c:\windows\system32
Сообщения: 28
![]() |
TASM HELP (mouse)
Подскажите пожалуйста, как работать с кликом мышки, мне надо сделать не большую игру (морской бой) и в ней я должен выбирать кораблик ( первый клик) (кораблик ето 10 колонок заполненные цветом) и ставить его на поле (второй клик) для инициализации клика мышки я сделал:
MOV АХ,0003h int 33h П.С. Я работаю в текстовом режиме (80 колонок х 25 линий) Заранее cпасибо |
|
|
|
|
# 2 |
|
Full Member
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Доступ к функциям драйвера мыши реализуется
с помощью 33h-го прерывания ДОС. Вот Функции этого прерывания: 00h -- сбросить драйвер 01h -- показать указатель мыши 02h -- убрать указатель мыши 03h -- получить текушие координаты и сосотояние кнопок 04h -- переместить указатель в новое положение 05h -- получить информацию о нажатии кнопки 06h -- получить информацию об отпускании кнопки 07h -- установить область перемещения указателя по горизонтали 08h -- установить область перемещения указателя по вертикали 09h -- задать форму указателя для графического режима 0Ah -- задать форму указателя для текстового режима 0Bh -- получить счетчик шагов перемещения 0Ch -- задать условия вызова программы пользователя 0Dh -- включить эмуляцию светового пера 0Eh -- выключить эмуляцию светового пера 0Fh -- установить отношение числа шагов на единицу виртуального экрана 13h -- установить порог удвоения скорости смещения указателя мыши 14h -- заменить процедуру пользователя 15h -- получить размер буфера, необходимого для сохранения состояния драйвера 16h -- сохранить текущее состояние драйвера 17h -- восстановить состояние драйвера 1Dh -- задать видеостраницу для отображения указателя 1Eh -- получить номер видеостраницы, в которой отображается указатель. Как это использовать? Вот примеры: ----------- 1.показать указатель мыши: ----------- mov ah,01h int 33h ----------- 2.получить текущие координаты указателя мыши и состояние клавиш: ----------- mov ah,03h int 33h ;если bx:бит 0 - левая клавиша(1-нажата, 2-отпущена), ;бит 1 - правая кнопка, бит 2 - средняя кнопка. ;cx - горизонтальная координата ;dx - вертикальная координата ----------- 3.Переместить указатель в заданную точку экрана: ----------- mov ah,04h int 33h ;CX - x-координата ;DX - y-координата ----------- 4.Получить информацию о нажатии кнопки мыши: ----------- mov ah,05h ;в BX можно поместить идентификатор кнопки, ;которую нужно проверить int 33h ;AX - текущее состояние кнопок ;BX - количество нажатий указанной кнопки ;CX,DX - координаты, соответствующие нажатию кнопки. ----------- 5.Форма указателя в текстовом режиме: ----------- mov ah,0ah ;BX - поместить флаг указателя ;(0-программное управление формой, 1-аппаратное управление) ;CX - маска для экрана или верхняя строка развертки ;DX - маска для экрана или нижняя строка развертки int 33h Так же можешь скачать доку по работе с мышью и несколько примеров на асме (см файл mouse.zip).
__________________
Старые игры раздают здесь |
|
|