More ... | スクリーンをモジュールで管理#module mainScreen id, text, events #define global new_mainScreen(%1, %2) %tnew_mainScreen \ if 0 : *%i {\ _thismod@mainScreen = %1 :\ gosub *button_click@mainScreen :\ return } :\ %i@mainScreen = *%p1 :\ newmod %1, mainScreen, %2, %o@mainScreen %o0 #define ctype register_event(%1) %tregister_event \ events(%1) = *%i :\ if 0 : *%o #modinit int screenId, var dispatcher dimtype events, vartype("label"), 64 screen screenId, 640, 480 button gosub "mes", dispatcher register_event(stat) { mes get_text(_thismod@mainScreen) return } button gosub "dialog", dispatcher register_event(stat) { dialog get_text(_thismod@mainScreen) return } text = "Hello World!!" return #modcfunc get_text return text #modfunc dispatch int objid gosub events(objid) return *button_click dispatch _thismod@mainScreen, stat return #global new_mainScreen main, 0 |