takoya 发表于 2008-2-4 09:39:11

[求教]如何修改KRKR自帶的文字履歷界面?

KRKR中有個自帶的文字履歷界面
不過那個界面看上去非常寒磣
想要求教一下如何修改它。
比如説給它貼個背景圖片、用圖片按鈕取代系統自帶的"前一頁"、"后一頁"、"返回"的鏈接。

我猜想可能是在system文件夾下面的HistoryLayer文件中修改
不過不知道具體的代碼修改位置和方法

還請知道的大人多多指教
謝謝!

sarah707 发表于 2008-2-4 09:55:50

修改那个不如自己用kag直接重写一个,先,然后设定某个按钮call到自己写的履历界面去,履历的文字都记录在kag.historyLayer.data[]里,最近的一句就是kag.historyLayer.data,显示的时候从这个开始向上算就好

takoya 发表于 2008-2-4 10:13:53

首先非常感謝sarah大的回復與指點。
看來要實現自己設定的界面是非學KAG不可了OTZ
+++++++++++++++++++++++++++++++++++++++++++
不好意思我發現我是把KAG與TJS的概念搞混了
其實我是不清楚怎麽使用kag.historyLayer.data[]
是不是把kag.historyLayer.data[]當作一個變量來使用?

CountD 发表于 2008-2-4 11:49:47

对的...
那是一个数组,然后每个记录一行的对话...=.=
直接用"]就可以显示了...
-2的话就是继续往上...

takoya 发表于 2008-2-4 14:46:08

按照二位的建議我做了個殼,
思路是這樣的:
first.ks文件為用於實驗的對話文本
rclick.ks文件為右鍵菜單(提供了跳轉到"對話履歷"的選項)
history.ks文件為顯示對話履歷界面

first.ks代碼如下

;〓〓〓〓〓〓〓〓〓〓〓〓〓
;進入系統
;〓〓〓〓〓〓〓〓〓〓〓〓〓
*start
;關閉顯示歷史紀錄

;〓〓〓〓〓〓〓〓〓〓〓〓〓
;文本試驗
;〓〓〓〓〓〓〓〓〓〓〓〓〓
*test|



*|

【段落1】
段落1_1
段落1_2
*|

【段落2】
段落2
*|

【段落3】
段落3
*|

【段落4】
段落4
*|

【段落5】
段落5
*|

【段落6】
段落6
*|

【段落7】
段落7
*|

【段落8】
段落8
*|

【段落9】
段落9



rclick.ks代碼如下

;〓〓〓〓〓〓〓〓〓〓〓〓〓
;右鍵菜單
;〓〓〓〓〓〓〓〓〓〓〓〓〓
*start





對話履歷

;〓〓〓〓〓〓〓〓〓〓〓〓〓
;返回
;〓〓〓〓〓〓〓〓〓〓〓〓〓
*exit







history.ks代碼如下

;〓〓〓〓〓〓〓〓〓〓〓〓〓
;對話履歷
;〓〓〓〓〓〓〓〓〓〓〓〓〓
*start





*history

"]
"]
"]
"]
"]
返回



問題是在運行第一段落、右鍵單擊並選擇了"對話履歷"選項后,
所顯示出來的對話並非是預期的
【段落1】
段落1_1
段落1_2

而是
段落1_2
【段落1】
段落1_2
【段落1】
【段落1】

我想可能是我的*history処的代碼有誤?
還請知道的大人指點
謝謝!

sarah707 发表于 2008-2-4 15:47:25

因为你用emb显示对话也纪录进history了阿…………kag.historyLayer.dataPos这个值就变动了……
解决方法应该是在显示履历的时候就把history的输出关上,应该是吧……

takoya 发表于 2008-2-4 19:48:22

sarah大,我按照你的指點修改了一下rclick.ks和history.ks的代碼
具體如下所示

+++++++++++rclick.ks+++++++++++
;〓〓〓〓〓〓〓〓〓〓〓〓〓
;右鍵菜單
;〓〓〓〓〓〓〓〓〓〓〓〓〓
*start






對話履歷

;〓〓〓〓〓〓〓〓〓〓〓〓〓
;返回
;〓〓〓〓〓〓〓〓〓〓〓〓〓
*exit







+++++++++++history.ks+++++++++++
;〓〓〓〓〓〓〓〓〓〓〓〓〓
;對話履歷
;〓〓〓〓〓〓〓〓〓〓〓〓〓
*start






*history


"]
"]
"]
"]
"]
返回


修改后顯示的情況較之前有所好轉
不過還是有問題
比如説在運行了第一段文字、單擊右鍵選擇"對話履歷"后,
顯示的内容如下所示:
http://pddl02.mofile.com/p/1/2008/2/4/V8/V8L009H2DB_202.jpg

我感覺主要問題是在於history.ks文件中沒有對kag.historyLayer.data這個變量作判斷。
比如説第一段文字一共只有3小節
我在history.ks裏設定一個頁面顯示5小節的話
這樣勢必會發生問題
是否有什麽辦法判斷kag.historyLayer.data是否為空
黨它為空時就不做操作。。。

sarah707 发表于 2008-2-5 02:34:28

用cond或者if判断kag.historyLayer.data是不是void,另外履历的显示可以用循环……

*history



;假如一页显示5段
*history_1
" cond="kag.historyLayer.data


返回

takoya 发表于 2008-2-5 10:38:02

感謝sarah不厭其煩地回復,
不過還是有問題。

顯示圖片如下:
http://pddl02.mofile.com/p/1/2008/2/5/PB/PBGATTRKK0_202.jpg

它最上行多顯示了1次"段落1_2",
也就是說系統把POS-1的記錄顯示了兩次
這種顯示狀況是在first.ks代碼為

*|

【段落1】
段落1_1
段落1_2

時發生的。

然後我多事把那個改成了
結果發現它的顯示更爲不正常了
顯示圖片如下
http://pddl02.mofile.com/p/1/2008/2/5/VX/VXDJS0JDTX_202.jpg

可以發現它沒有顯示"段落1_2"這個小節
並且它重復顯示了1次
"【段落1】
段落1_1"


於是我想看看系統自帶的那個履歷囘放界面是否也有這種問題
然而它是正常顯示的囧

代碼到底是哪裏出問題了?

sarah707 发表于 2008-2-5 12:36:33

每行后边用点击等待,shift+f3打开即时刷新变量显示看一下kag.historyLayer.dataPos的数字究竟是怎么变化的,还有如果怕这个数字一直变来变去就直接把它赋值在一个变量上用那个变量来进行之后的计算和显示
页: [1] 2 3
查看完整版本: [求教]如何修改KRKR自帶的文字履歷界面?