kurori 发表于 2009-3-23 22:41:28

[求助]按右键进入SAVE菜单及存储档案速度过慢问题(已解

目前在拿D桑的範例在看。把save部分單獨拿出來作了個“點擊右鍵進入save畫面,再按右鍵的話退回到遊戲畫面”的效果。

基本功能沒問題,能進入save頁面,能存檔能看到存檔的時間,截圖。
現在的問題是:
1 從遊戲界面按右鍵,到進入save頁面,會花費大概5秒的樣子。
而如果想存檔,從點了某個存檔,到存檔結束,也會愣個5秒。

2 從save頁面,按右鍵回去,看上去界面一切都正常,但文本卻無法繼續讀入。卡在了進入save時的那句話的後面(回去的時候還能在那個句子的後面看到提示繼續讀入的三角符號,按一下左鍵提示符號消失,文本無法繼續)。

不知道這兩個是啥原因造成的……鞠躬謝謝。

下面是代碼:

先是first.ks

*start
@call storage=macro.ks

@rclick enabled=true call=true storage=saveload.ks target=*save

@bg storage=black
@position layer=message0 frame=frame top=0 left=0 visible=true page=fore marginl=0 marginb=10 marginr=300 margint=450 page=fore
@current layer=message0 visible=true page=fore


這裡開始barabara
@lr
這裡開始barabara
@p
這裡開始barabara
@lr
這裡開始barabara
@p
這裡開始barabara
@p



macro.ks,基本就照搬d桑的代碼(orz)

*start

@layopt layer=0 index=1000
@layopt layer=message0 index=2000
@layopt layer=1 index=3000
@layopt layer=2 index=4000
@layopt layer=message1 index=5000



function checkdata(num)
{
var cd = Storages.isExistentStorage(kag.saveDataLocation+'/data'+num+'.bmp');
return cd;
}

function showsnap(num)
{
if (checkdata(num)==true)
   {
   kag.fore.layers.loadImages(%['storage'=>kag.getBookMarkFileNameAtNum(num),'visible'=>true,'left'=>90,'top'=>395]);
   }
}

function hidesnap()
{

   kag.fore.layers.visible=false;
}



@macro name=showsave

@locate x=420 y=180
@link exp="tf.savenum=1" target=%target onenter="showsnap(1)" onleave="hidesnap()"
File No.1



@locate x=420 y=210
@link exp="tf.savenum=2" target=%target onenter="showsnap(2)" onleave="hidesnap()"
File No.2



@locate x=420 y=240
@link exp="tf.savenum=3" target=%target onenter="showsnap(3)" onleave="hidesnap()"
File No.3



@locate x=420 y=270
@link exp="tf.savenum=4" target=%target onenter="showsnap(4)" onleave="hidesnap()"
File No.4



@locate x=420 y=300
@link exp="tf.savenum=5" target=%target onenter="showsnap(5)" onleave="hidesnap()"
File No.5



@endmacro

@return


存檔文件saveload.ks

*save

@history enabled=false output=false
@locksnapshot
@rclick enabled="true" jump="true" storage="saveload.ks" target=*return

@stopse
@backlay
@layopt layer=message0 visible=false

*start

@image layer=1 page=back storage=savebg left=0 top=0 visible=true
@position layer=message1 page=back top=0 left=0 marginl=0 marginr=0 margint=0 marginb=0 visible=true
@current layer=message1 page=back
@er
@showsave target=*savedata
;是說有在懷疑耗費時間是不是因爲這句話的關係,因爲進入save和存檔后都有用這句話……但找不出會耗費時間的原因
@trans method=crossfade time=200
@wt
@s

*savedata
@save place=&tf.savenum ask=true

@current layer=message1 page=back
@er
@showsave target=*savedata
@trans method=crossfade time=200
@wt
@s


@wt
@s

*return
@backlay
@layopt layer=message0 visible=true
@freeimage layer=1 page=back
@freeimage layer=2 page=back
@current layer=message1 page=back
@er
@trans method=crossfade time=1000
@wt
@rclick enabled=true call=true storage=saveload.ks target=*save
@unlocksnapshot
@history enabled=true output=true
@return

pengyu5008 发表于 2009-3-24 00:06:25

显示慢的话,大概是因为定义showsave时没加nowait吧,记得别忘了在定义结束前加上endnowait。。
至于返回不能继续显示文字,我想是你*return里少了吧。。。

kurori 发表于 2009-3-24 00:23:15

囧了………………原來如此………………俺是笨蛋………………
多謝
页: [1]
查看完整版本: [求助]按右键进入SAVE菜单及存储档案速度过慢问题(已解