2016-03-09 1 views
1

Я попытался сделать игру в ассемблерной программе (в графическом режиме), в которой у меня есть провидение какого-то существа, которое перемещается по экрану. Дело в том, что я хочу добавить мышь на экран и код, в котором каждый раз, когда кто-то нажимает на правую кнопку мыши, существо исчезнет. У меня есть проказ о исчезновении существа, мне просто нужно позвонить ей. Кто-то может мне помочь?Игра в программе ассемблера (в графическом режиме)

+0

Вы не указали, какую ОС вы нацеливаете. Если это DOS, вам придется искать соответствующие прерывания для использования (это 33h IIRC); если это Windows, вы должны использовать Windows API; если это Linux/BSD/OSX, то я понятия не имею. – Michael

+0

Это ДОС. Я использовал некоторые из 33-х прерываний, чтобы показать мышь непосредственно на экране. Проблема в том, что я не нашел прерываний. Не могли бы вы получить ссылку на некоторые из них? –

+0

Просто google "int 33h". – Michael

ответ

1
  1. Сначала убедитесь, что ваш прок от disapearing существа оканчивается RETF инструкции.
  2. Затем используйте Set User-Defined Event Handler функцию функций int 33h мыши:

    mov ax, 000Ch   ;Function number 
    mov cx, 0008h   ;Call mask: bit 3=ON means RightButtonPressed 
    mov dx, Offset of your procedure 
    mov es, Segment of your procedure 
    int 33h 
    

Было бы лучше, если ваша процедура сохраняется флаги и все регистры, которые он использует.
При вызове вы можете полагаться только на регистр сегмента CS. Регистры AX, BX, CX, DX, SI и DI имеют все значения, связанные с мышью, но они не имеют никакого значения для вашей текущей цели.

Смежные вопросы