Во многих играх есть нужда в подстройке управления под игрока.
...
|
Хм, тут есть повеселее методы. Ну вот, к примеру.
С именами просто. Чтоб не набивать код программы не нужной пургой, создаем .CFG файл со сканкодами клавиш. А в конце- имена кнопок мыша(!). См.аттач.
Загружаем всю эту радость в массив и выводим потом по мере необходимости в меню.
Dim KeyName$(255)
LoadKeyName=ReadFile("Scancodes.cfg")
While Not Eof(LoadKeyName)
KeyName$(q)=ReadLine(LoadKeyName)
Wend
...
А так проверяем в настройках ввод пользователя и присваиваем комманде с номером "Option" соответствующий сканкод:
Repeat
;Проверка нажатия клавиши
*For NCode=1 To 237
* If KeyHit(NCode) Then
* *KeyCommand(Option)=nCode
Goto PrCheckKey
* EndIf
*Next
;Проверка нажатия кнопки мыша
*For MBtn=1 To 3
* If MouseHit(MBtn) Then
* *KeyCommand(Option)=MBtn+237
Goto PrCheckKey
* EndIf
*Next
Forever
.PrCheckKey
А потом в игре просто проверяем:
...
;комманда №6: действие
If (KeyHit(KeyCommand(6))=True Or MouseHit(KeyCommand(6)-237)) Then Action(Player)
;комманда №7: прыжок.
If (KeyHit(KeyCommand(7))=True Or MouseHit(KeyCommand(7)-237)) Then Jump(Player)
...
Универсально, коротко и держит мышь.
P.S. Очепятка была. Поправил.