imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 07.12.2003, 20:02     # 1
7en
Newbie
 
Регистрация: 11.01.2003
Адрес: c:\windows\system32
Сообщения: 28

7en Путь к славе только начался
TASM HELP (mouse)

Подскажите пожалуйста, как работать с кликом мышки, мне надо сделать не большую игру (морской бой) и в ней я должен выбирать кораблик ( первый клик) (кораблик ето 10 колонок заполненные цветом) и ставить его на поле (второй клик) для инициализации клика мышки я сделал:

MOV АХ,0003h
int 33h

П.С. Я работаю в текстовом режиме (80 колонок х 25 линий)

Заранее cпасибо
7en вне форума  
Старый 10.12.2003, 14:34     # 2
CEO
Full Member
 
Аватар для CEO
 
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998

CEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собой
Доступ к функциям драйвера мыши реализуется
с помощью 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).
Вложения
Тип файла: zip mouse.zip (28.7 Кбайт, 17 просмотров - Кто скачивал? )
__________________
Старые игры раздают здесь
CEO вне форума  
Старый 10.12.2003, 16:56     # 3
7en
Newbie
 
Регистрация: 11.01.2003
Адрес: c:\windows\system32
Сообщения: 28

7en Путь к славе только начался
Спасибо за подробное описание. Ето мне понадобится.
7en вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 21:30.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.