- 注册时间
- 2009-2-11
- 最后登录
- 2012-12-31
③业余
- 积分
- 108
|
楼主 |
发表于 2009-5-11 17:28:16
|
显示全部楼层
*define
;-----各种初期设定-----
caption "System Customization Sample"
versionstr "System Customization Sample","自由挪用改变"
nsa
effectcut
;transmode alpha
clickstr "。!?」",2
;defaultfont "MS Gothic"
rubyon 10,10;,"MS Gothic"
savedir "savedata"
maxkaisoupage 15
lookbackcolor #c8c8ff
defaultspeed 50,25,0
menusetwindow 21,21,0,10,1,1,#666666
selectcolor #ffffff,#666666
windoweffect 10,250
filelog
labellog
globalon
;kidokuskip
resetmenu
insertmenu "终了",END
insertmenu "情报",VERSION
insertmenu "已读跳过",SKIP
insertmenu "画面",SUB
insertmenu "全画面",FULL,1
insertmenu "视窗",WINDOW,1
insertmenu "文字设定",SUB
insertmenu "表示量",SUB,1
insertmenu "通常",CLICKDEF,2
insertmenu "页数单位",CLICKPAGE,2
insertmenu "显示速度",SUB,1
insertmenu "慢速",TEXTSLOW,2
insertmenu "正常",TEXTMIDDLE,2
insertmenu "高速",TEXTFAST,2
insertmenu "字型",FONT,1
effect 2,6,250
effect 3,7,250
effect 4,8,250
effect 5,9,250
effect 6,6,500
effect 7,7,500
effect 8,8,500
effect 9,9,500
effect 10,6,1000
effect 11,7,1000
effect 12,8,1000
effect 13,9,1000
effect 14,10,1000
effect 15,10,500
effect 16,10,250
;-----Alias定义-----
;使用变数编号领域。
mov %0,150 ;数字变数
mov %1,150 ;文字变数
;好好使用变数
;数字变数 座标
numalias x,%0:inc %0
numalias y,%0:inc %0
;数字变数 按钮Return值
numalias BtnRes,%0:inc %0
;选项Customization用
;数字变数 选项之数
numalias TextSelectionNum,%0:inc %0
numalias TextSelectionPitchY,%0:inc %0
;数字变数 必要的TextWIndow数值
numalias TextWindowFontSizeY,%0:inc %0
numalias TextWindowFontPitchY,%0:inc %0
;Click等待Icon的Alias定义
;定数 Click等待Icon的Sprite编号
numalias TextCC1SpNum,801
numalias TextCC2SpNum,802
;数字变数 Click等待Icon的文字传送、改页判定用
numalias TextCC12Flug,%0:inc %0
;csp命令定义
;数字变数 csp命令叁变数
numalias CspParam,%0:inc %0
defsub csp
humanz 900 ;立缯Sprite900号之下显示
windowback ;TextWindow在立绘以上显示
textgosub *text_cw ;文字?页传送Subroutine指定
;-----按钮Weight用-----
usewheel ;MouseWheel判定
useescspc ;Esc,SpaceKey判定
game
;-----TextWindowSubroutine-----
*textset_01
rmode 1
texton
setwindow 40,30,30,15,24,24,0,9,20,0,1,#666666,0,0,800,600
return
;-----TextWindowSubroutine2(透明/右Click禁止/正文显示禁止)-----
*textset_02
rmode 0
setwindow 40,30,30,15,24,24,0,9,20,0,1,#ffffff,0,0,800,600
return
;==========System Customized Block==========
;-----csp-----
*csp
getparam %CspParam
if %CspParam=-1 _csp -1:lsph TextCC1SpNum,":1/3,160,2;sys/cursor0.bmp",0,0:lsph TextCC2SpNum,":1/3,160,2;sys/cursor1.bmp",0,0:lsph 98,":c/2,0,3;sys/down.jpg",770,570:lsph 99,":c/2,0,3;sys/up.jpg",770,5:return
_csp %CspParam:return
;-----Click等待Subroutine-----
*text_cw
getcursorpos %x,%y ;Cursor位置取得
ispage %TextCC12Flug ;Click等待or改页的判别
;将TextWindow在Effect时也显示
erasetextwindow 0
;Click等待Icon表示
if %TextCC12Flug=0 amsp TextCC1SpNum,%X,%Y+7:vsp TextCC1SpNum,1
if %TextCC12Flug=1 amsp TextCC2SpNum,%X,%Y+7:vsp TextCC2SpNum,1
print 1
btndef clear ;按钮定义Clear
getenter ;EnterKey受付
;-----Click等待按钮Loop-----
*text_cwlp
saveon ;Save可
getcursor
textbtnwait %BtnRes ;Click等待按钮Weight
;输入判定
if %BtnRes=0 goto *text_cw_next ;左Click
if %BtnRes=-42 goto *text_cw_next ;↓
if %BtnRes=-3 goto *text_cw_next ;????下
if %BtnRes=-11 goto *text_cw_next ;Space
if %BtnRes=-19 goto *text_cw_next ;Enter
if %BtnRes=-1 getscreenshot 80,60:gosub *text_cw_rclk:goto *text_cw ;右Click
if %BtnRes=-10 getscreenshot 80,60:gosub *text_cw_rclk:goto *text_cw ;Esc
if %BtnRes=-2 gosub *text_cw_lookback:goto *text_cw ;????上(回想)
if %BtnRes=-40 gosub *text_cw_lookback:goto *text_cw ;↑
;(这里尤其没看懂)
;以外的输入会Loop
goto *text_cwlp
;-----Click等待到左Click-----
*text_cw_next
;Click等待Icon的非表示
vsp TextCC1SpNum,0:vsp TextCC2SpNum,0
print 1
texec ;改页等待的场合Text消去
;将TextWindow在Effect时非显示
erasetextwindow 1
return
;-----Click等待到右Click-----
*text_cw_rclk
;Click等待Icon的非表示
vsp TextCC1SpNum,0:vsp TextCC2SpNum,0
print 1
gosub *rmenu_custom
return
;-----回想------
*text_cw_lookback
vsp TextCC1SpNum,0
vsp TextCC2SpNum,0
print 1
gosub *backlog
return
;-----选项(6个对应)-----
*customsel
skipoff
texton
getcselnum %2
getcursorpos %0,%1
btndef clear
cselbtn 0,1,%0+24,%1+10:if %2=1 goto *csel_lp
cselbtn 1,2,%0+24,%1+45:if %2=2 goto *csel_lp
cselbtn 2,3,%0+24,%1+80:if %2=2 goto *csel_lp
cselbtn 3,4,%0+24,%1+115:if %2=2 goto *csel_lp
cselbtn 4,5,%0+24,%1+150:if %2=2 goto *csel_lp
cselbtn 5,6,%0+24,%1+185:if %2=2 goto *csel_lp
*csel_lp
getcursor
selectbtnwait %BtnRes
if %BtnRes=1 cselgoto 0
if %BtnRes=2 cselgoto 1
if %BtnRes=3 cselgoto 2
if %BtnRes=4 cselgoto 3
if %BtnRes=5 cselgoto 4
if %BtnRes=6 cselgoto 5
if %BtnRes=-1 getscreenshot 80,60:gosub *rmenu_custom:goto *customsel
if %BtnRes=-10 getscreenshot 80,60:gosub *rmenu_custom:goto *customsel
if %BtnRes=-2 gosub *text_cw_lookback:goto *customsel
if %BtnRes=-40 gosub *text_cw_lookback:goto *customsel
goto *csel_lp
;-----右ClickMenu-----
*rmenu_custom
*rmenu_custom_spset
lsp 799,":a;sys/menu.jpg",0,0
lsp 701,":s/13,15,0,0;#ffffff#999999 SAVE",600,200
lsp 702,":s/13,15,0,0;#ffffff#999999 LOAD",600,230
lsp 703,":s/13,15,0,0;#ffffff#999999 SKIP",600,260
lsp 704,":s/13,15,0,0;#ffffff#999999 BACKLOG",600,290
lsp 705,":s/13,15,0,0;#ffffff#999999BACKGROUND",600,320
lsp 706,":s/13,15,0,0;#ffffff#999999 RESET",600,350
print 10,250
*rmenu_custom_btset
btndef ""
spbtn 701,1:spbtn 702,2:spbtn 703,3:spbtn 704,4:spbtn 705,5:spbtn 706,6
*rmenu_custom_btlp
btnwait2 %BtnRes
if %BtnRes=0 goto *rmenu_custom_btlp
if %BtnRes=-1 goto *rmenu_custom_end
if %BtnRes=1 btndef clear:csp -1:gosub *save
if %BtnRes=2 btndef clear:csp -1:gosub *load
if %BtnRes=3 btndef clear:csp -1:systemcall skip:return
if %BtnRes=4 btndef clear:csp -1:gosub *backlog
if %BtnRes=5 btndef clear:csp -1:systemcall windowerase:return
if %BtnRes=6 btndef clear:csp -1:goto *reset
*rmenu_custom_end
btndef clear
for %0=701 to 706
csp %0
next
csp 799
print 10,250
return
;-----Reset画面-----
*reset
lsp 799,":a;sys/menu.jpg",0,0
lsp 701,":s/13,15,0,0;#ffffffReset并回到TITLE吗?",290,200
lsp 702,":s/13,15,0,0;#ffffff#999999YES",310,230
lsp 703,":s/13,15,0,0;#ffffff#999999NO",450,230
btndef ""
spbtn 702,1:spbtn 703,2
*reset_lp
btnwait2 %BtnRes
if %BtnRes=0 goto *reset_lp
if %BtnRes=-1 goto *rmenu_custom
if %BtnRes=1 reset
if %BtnRes=2 btndef clear:csp -1:goto *rmenu_custom
这是上次问的帖子里别人给的范本的内容,其中没有rmenu,所以我不知道代码表里的rmenu怎么用了- -
=================================
defsub明白了,谢谢> < |
|