哈囉大家好,歡迎來到醬汁の變數之旅~~
在這裡,希望能讓各位同人作家們能夠清楚地了解到變數的基礎概念。也希望有野心的新手作家們,可以在這篇文章找到一片新天地~
廢話不多說,請大家細心品嘗!
前言
在這篇文章中,將會介紹人物變數、自訂變數、地圖變數以及數學式。這篇也很榮幸一起邀請ゞ火魂、共同眷寫!
一、人物變數與自訂變數
人物變數有點類似”人物代碼”,大家可以想成該變數的數值就是人物代碼。
然而,有個滿特殊的地方就是它分成”任務/(變數代碼)”還有”事件/(變數代碼),這個有牽扯到”全域變數”以及”局域變數(或稱區域變數)"。
簡單來說,事件/(變數)只會在該事件內存在,別的事件是無法找到那個變數的。而任務/(變數)則是整個任務都能找到。
自訂變數:
可以在”動作-人物屬性狀態”中的”自訂變數”中設定(如下圖)。
設定範圍在整數、字串、數學式。
比起任務變數,自訂變數只會針對人物設定,在一些設定上可以減少許多bug,但是因為設定上以及可設定範圍有點少,所以使用率偏低。
補充:在先前,自訂變數無法使用%{}%做輸出,但是在先前的更新中,已經可以使用%E{(人物變數).(自訂變數代碼)}%做輸出的動作了!
(假醬:讀檔RPG的超大福音!!!!)
二、地圖變數
地圖變數也是一個特殊的變數,地圖變數是以”座標位置”儲存的,在設定的時候可以調整座標位置並且做偏移,或者是儲存距離地圖邊界的剩餘格數等,在數學式更新之後也可以利用各種運算來設定地圖變數。
(假醬:關於用數學式放地圖特效可以參考研討中心的”鼠標存取”部分,之後也會有一篇會寫入關於數學式與地圖變數的特殊運用。)
三、數學式
數學式跟計算整數很像,但是因為可以輸入sin().cos()...等各種函數協助運算,也可以輸入{人物變數.location.x}...等系統變數進行計算,因此在運用上面是高於計算整數好幾個層次的!
下面會介紹各種在數學式內可以使用的函數以及變數。
sin() | cos() |
tan() | cot() |
sec() | csc() |
asin() | acos() |
atan() | acot() |
asec() | acsc() |
atan2(y,x) | (小哈:atan2超重要!用來算夾角的利器!) |
round() | 四捨五入 |
ceil() | 無條件進位 |
floor() | 無條件捨去 |
sqrt() | 平方根 |
ln() | 對數 |
log2() | 以2為底數的對數 |
log10() | 以10為底數的對數 |
abs() | 絕對值 |
pow(x,y) | 計算x的y次方(等於x^y) |
mod(x,y) | 計算x/y後得到的餘數(等於x%y) |
deg() | 弧度轉角度 |
rad() | 角度轉弧度 |
rand(x,y) | 取x,y之間的隨機整數值 |
max(x,y) | 比較x,y的大小,並輸出較大值 |
min(x,y) | 比較x,y的大小,並輸出較小值 |
系統變數
{pi} | 取得圓周率3.14159265358979323846 |
{(人物變數).location.x} | 存取人物所在位置的x座標 |
{(人物變數).location.y} | 存取人物所在位置的y座標 |
{(人物變數).(自訂變數)} | 存取該人物的自訂變數數值 |
{(地圖變數).x} | 存取地圖變數的x座標 |
{(地圖變數).y} | 存取地圖變數的y座標 |
鼠標系列-
{game.mouse.x} | 存取玩家的滑鼠指標在場上的"x"座標位置(以像素存取)(單人遊戲適用) |
{game.mouse.y} | 存取玩家的滑鼠指標在場上的"y"座標位置(以像素存取)(單人遊戲適用) |
{game.screenmouse.x} | 存取玩家的滑鼠指標在畫面上的"x"座標位置(以像素存取)(單人遊戲適用) |
{game.screenmouse.y} | 存取玩家的滑鼠指標在畫面上的"y"座標位置(以像素存取)(單人遊戲適用) |
{game.mouseLoc.x} | 存取玩家的滑鼠指標在戰場上的”x”座標位置(以座標存取)(單人遊戲適用) |
{game.mouseLoc.y} | 存取玩家的滑鼠指標在戰場上的”y”座標位置(以座標存取)(單人遊戲適用) |
時間系列-
{game.now} | 從戰鬥開始經過的秒數 |
{game.datetime.year} | 回傳 今年年份 |
{game.datetime.month} | 回傳 這個月的月份 |
{game.datetime.date} | 回傳 今天幾號 |
{game.datetime.day} | 回傳 今天星期幾 |
{game.datetime.hours} | 回傳 現在幾時 |
{game.datetime.minutes} | 回傳 現在幾分 |
{game.datetime.seconds} | 回傳 現在幾秒 |
{game.datetime.milliseconds} | 回傳 現在幾毫秒 |
{game.datetime.time} | 回傳由1970年至今經過的秒數 |
以上函數以及變數,是目前光暈公開的全部變數/函數,至於如何使用,只要在"數學式"中打上該變數/函數,並適當調整內容即可。
補充:在%E{}%更新之後可以直接做運算後輸出,在一些地方不必再重新設定變數了!
原先:C={A}+{B}
輸出:%{C}%
更新後:
輸出:%E{{A}+{B}}%
雖然這樣方便很多,但是還是要視情況選擇使用哪一個才會避免做多餘的設定喔!
這篇的教學大致上到這裡結束,如果有疑問希望大家能在下面留言中提出。
另外,【醬汁の變數之旅】裡面的教學會以基礎以及常用的為主,至於怎麼靈活運用,就只能依靠大家不斷的練習了。
若有想要學習的技術,也歡迎在下面留言提出,之後會以"回復"或者直接放在新文章來解決大家的疑問。
最後,感謝大家耐心地觀看這些教學,期待我們下次再會~
推
回覆刪除U值
回覆刪除變數回顧
回覆刪除