Project1
标题:
臉圖使用方式
[打印本页]
作者:
燕征
时间:
2016-4-26 03:21
标题:
臉圖使用方式
一般使用臉圖使用方式都是
\f[檔名]
想知道裡面的檔名用這兩種方式替代為何失去作用?
設一個變數,值為檔名:
$game_variables[n] = "檔名"
1. 用 \v[n] 代入 : \f[\v[n]]
2. 用 #{$game_variables[n]} 代入 : \f[#{$game_variables[n]}]
作者:
yang1zhi
时间:
2016-4-26 12:24
应该是这个对话脚本没有在得出\v[n]= "檔名"后再算 \f,而是直接\f[\v[n]]
作者:
燕征
时间:
2016-4-27 01:12
不管是 \v[] 還是\n[] 等,都在我外加來的腳本重新定義了
我使用的聽說是一個廣為人知和使用的"文字顯示強化"腳本(by 桜雅 在土, 和希, RaTTiE)
涉及 \f[] 的部分是在 77-99行
腳本第77-99行
那這樣我想這裡因為正規表示法的解析,放在\f[]裡的東西我看不太懂
(.+?)
RUBY 代码
复制
/\A\\
[
Ff
]
\
[
(
.+?
)
\
]
/.
match
(
@now_text
)
/\A\\
[
Ff
]
\
[
(
.+?
)
\
]
/.
match
(
@now_text
)
應該就是
(.+?)
不知道解讀成什麼了,如果這邊是 \v[n]他不會去使用之後\v[n]的解讀
但上一行我仍不敢確定就是原因了──雖然假如他是,我還是不知道這邊正規表示法該寫什麼
因為之後提到的 $1 看起來簡直是憑空出現的(我全文搜索過,他第一次出現就是在上面單獨抽出來的第4行,整份的第80行)
而它代表的就是檔名,不知道跟上面的正則表達有什麼關係
文字顯示強化腳本,裡面有修改過一些東西
作者:
燕征
时间:
2016-4-27 01:55
針對 \v[n] 的解法已解出
將122行對 \v[] 的轉換 往前放到 76行之後就可以順利辨別
本來我看不懂的正則表示 (.+?) 我推測是裡面不管什麼反正他就照吃,重要的是後面的
.match(@now_text)
122行對\v[]的轉換在78行之後,所以她啥都不知道大概是正常的
但我自己對於(.+?)為何這樣就匹配的上還是感到奇怪拉
假設現在設定長這樣: \f[\v[n]],\v[n] = "test"
(/+?) 我覺得這時應該是 \v[n],而match裡的@now_text已經解析為 test,還是不匹配呀?
if (/\A\\[Ff]\[(.+?)\]/.match(@now_text))!=nil then
复制代码
我看起來他也沒有要他們相等的意思,只是想知道他不是nil就往後執行,但理論上這回傳的不是 true就是false吧?於是一定會進去if裡
然後就碰上了我百思不得其解的 $1部分
雖然其中一個解了並且最主要是我想要的東西可以做出來了,但這個解裡面又有好多問題
以及
#{$game_variables[n]}
還是無解
希望可以知道得明白點比較安心
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1