Bei mir geht es:
Code: Alles auswählen
Structure TCOD_key_t
vk.l
c.b
pressed.b
lalt.b
lctrl.b
ralt.b
rctrl.b
shift.b
PB_Align(0,1)
EndStructure
CompilerIf #PB_Compiler_Unicode
CompilerError "unicode ausschalten"
CompilerEndIf
CompilerIf #PB_Compiler_Debugger=0
CompilerError "debugger anschalten"
CompilerEndIf
PrototypeC TCOD_console_wait_for_keypress(*ret.TCOD_key_t,flush.l)
PrototypeC TCOD_console_init_root(w.l,h.l,*title,fullscreen.l)
libtcod = OpenLibrary(#PB_Any,"libtcod-mingw.dll")
If libtcod <> 0
init.TCOD_console_init_root = GetFunction(libtcod,"TCOD_console_init_root")
init(100,100,@"title",0)
console_wait_for_keypress.TCOD_console_wait_for_keypress = GetFunction(libtcod,"TCOD_console_wait_for_keypress")
key.TCOD_key_t
While key\vk <> 1 ; escape
Debug console_wait_for_keypress(@key,#True)
If key\vk
Debug key\vk
Debug key\c
Else
Delay(100)
EndIf
Wend
CloseLibrary(libtcod)
EndIf
Getestet mit
http://doryen.eptalys.net/libtcod/download/ -> libtcod-1.5.0-mingw32.zip
libtcod-1.5.0-MSVC.zip geht auch, ich würde lieber die nehmen, kenne VC++ besser. Ist auch noch kleiner.
libtcod = OpenLibrary(#PB_Any,"libtcod-vs.dll")
Beenden mit Escape.
Du hast im obigen Code check und wait gemischt, aber die haben andere Parameter.
Einmal bool flush und das andere erwartet int flags (die man evtl. richtig setzen sollte).
Vor dem CloseLibrary() muß noch irgendeine libtcode funktion zum beenden hin, aber
ich kenne diese Lib nicht. Das mußt Du wissen. Momentan mußt Du es mit dem Debugger
beenden, nachdem Du ESC gedrückt hast. Ist ja nur ein Test für die versteckte Rückgabestruktur.
PrototypeC sollte richtig sein.