置頂資訊

*2016年8月15日更新

網站入口 (3選1)

Ability (無廣告,穩定度不明)

UEUO (含廣告,穩定度不明)

WIKI版 (GOOGLE內建)

舊BLOG放置區(只供瀏覽)

LOFTER(間中才掃塵)

LOGO圖:

請多多支持IC論壇:

Sorry, this blog contains Traditional Chinese!

注意:本網誌內文使用的表情圖片均來自洋蔥酷樂部喔!

BLOG主CP喜好

*UL轉型成休閒玩家ING*
<本命cp>
薔薇百合:犬眼鏡、貝傑貝、奇利、王子姬、雪多雪、米菇、鋼彈組、康庫、希拉莉X諾伊、出迪、勞瑟
BG向:閃喵、薩蕾薩、沃肯米亞、修帕、帝國夫婦、少爺魔女、凱碧、泰C、里露、教主修女、林奈娜汀

<也會吃的cp>
薔薇百合:犬閃犬、犬貝犬、利貝利(偏好利貝)、閃伯閃、梅倫布勞、店長布勞、梅店(勉強吃,喜歡店長受)、偵探博士、偵探布勞、帕茉史普、貓CC貓、柯沃、梅莉露露、林奈泰瑞
BG向:王子喵、王子貝姐、伯恩瑪格
其他:鳥波伯恩(!?)、希爾夫*史普、伯恩妖妃(!?)

<喜歡的組合(無cp傾向)>
御三家、新手五俠(OR連隊少年組)、連隊前輩/教官組、人偶家族、侍僧組(+大小姐)、火箭隊(羅瑪米)、工程師組、魯比歐那組、魔都超人組、大善鐵三角、卡爾杜斯戰隊、小家庭組合
地雷:沒特別提可逆基本都雷、阿修羅受、布朗寧受、梅倫受、康拉德受、庫碧(想想決定加這個,真的雷到受不了Orz)

*APH回萌期,天天刷LOFTER*
腐向CP:花夫婦(可接受獨=/=神)、初戀組、親子分、伊雙子(偏南北)、紅色夫婦、極東兄弟、味音痴、DOVER、北/米雙子、冷戰組、雪兔組、山菜組、花雞蛋夫婦、百合組、家暴組、小鳥組、樞/軸兄組、串刺優格、白骨組
BG向CP:中/歐夫婦、啾花組、菊梅、香梅、中立兄妹、法貞
非CP:亞細亞、數字9、連/五、北/歐、方向戰隊
雷區:獨受(性轉獨例外)、東西兄弟(戀愛向)、獨奧獨 (可能會增加)
如果不雷基本雜食XD

2010年12月24日星期五

班門弄斧的NS偽教學2:自定名字

嗯……就說了會不定時更新,所以上星期沒更新不是我的錯……(喂)
其實我本來真的沒打算繼續寫(喂)

這篇要說的是自定名字的程式碼~其實很快就說完了?(爆)
因為只有3種程式碼啊XD

好,廢話不多說囉,入正題……

正如我上面所說,有3種程式碼可以做出自定名字的效果~但都不太美觀就對了XD
包括inputinputstrtextfield三種!它們當然也用在執行區(*start)內喔!
基本上,這三個程式碼不是只用作自定名字,更確切去說,是輸入文字XD
我逐一逐一解釋吧!

(1) 輸入文字--介紹input
首先,先看看用input所做出的效果:

input的程式碼是長成這模樣……
input (a)文字變數,(b)對話框訊息文字,(c)輸入欄預定文字,(d)可輸入文字數量,(e)全形或半形選擇
我每個項目都解釋一下吧!
(a)文字變數
就是你希望輸入文字後,把它儲存於哪個變數~
注意文字變數的符號是"$"喔!

(b)對話框訊息文字
就是上方示範圖中,你希望在"請輸入你的名字"的位置顯示什麼文字~
記得打的時候要配上一對""喔!

(c)輸入欄預定文字
當然就是白色欄顯示的文字啊XD
如示範圖裡的"未命名"~
注意:除了直接輸入文字,也可以輸入文字變數!

(d)可輸入文字數量
這個是輸入數字……
然後它以半形為一單位(1 unit),所以如果只想輸入全形字,就別輸入單數
以半形為一單位是什麼意思?
那首先我們要先分辨什麼是半形跟全形……用符號跟文比較好說明……
,」跟「」都是逗號(comma),前者是半形,後者是全形……
comma」跟「comma」都是逗號的英文,前者是半形,後者是全形……
至於中文字,不用說,一定都是全形
所以……假設你希望玩家最多只可以輸入5個(全形)字,你應該在這項填上10

你可能會問,那麼如果我想輸入5個半形字,上面打5不就可以了嗎?
沒錯是的……但要注意NS比較麻煩,如果半形字湊夠雙數不會有問題,但如果是單數的話……自己試試會發生什麼事?(汗)
所以輸入時,我比較推薦全形字……不然出錯不負責喔!(汗)

注:english這指令沒什麼用……沒辦法用在中英夾雜的句子裡囧

(e)全形或半形選擇
這裡只可以填0或10代表半形1代表全形……
然後……我不知道是我下載的版本有問題還是什麼……如果你在這項輸入,你會發現錯誤連連……所以,我放棄了,我打0……囧

好,總結一下,上方示範圖的程式碼應該這樣打:
input $0,"請輸入你的名字","未命名",10,0
上方的程式碼等如在遊戲建立一個輸入文字的box,文字欄顯示的是"請輸入你的名字",輸入欄預設的文字是"未命名"。玩家最多可以輸入5個全形字,輸入完畢後會把文字儲存於$0這個文字變數內

不過,這樣寫會有一個缺點……嗯~怎樣說呢,先丟圖:


大家輸入名字的畫面大致上跟它差不多吧?
就是輸入完再按okay鍵就正式遊戲之類的設定……
如果你是個三心兩意的玩家(例如我XD),可能會改變主意,改之前打好的名字,如果用上面的方法,會發現輸入欄的文字為什麼還是先前預設的文字?是否代表我之前輸入的文字無效?
咳,其實不是的XD 是這條程式的錯(爆)

所以,為免引起麻煩,以上的程式碼可以寫成:
input $0,"請輸入你的名字",$0,10,0
跟之前的有什麼分別?就是預設文字的位置我改為文字變數!而且跟用以儲存的文字變數一樣!
那就可以即時改變文字欄的文字了~
唯一要注意的是:按esc會跳過這行程式喔……

這是第一種輸入文字的方法~現在要介紹第二種喔,跟第一種其實很像……

(2) 輸入文字--介紹inputstr
 咳咳……循例我們也要放圖出來XD

inputstr的程式碼是長成這模樣……
inputstr (a)文字變數,(b)對話框訊息文字,(c)可輸入文字數量,(d)全形或半形選擇
唯一跟input不同的是,它沒有預設文字,其他都一樣喔~所以我就不多說了XD
而且也不可以用esc跳過~

所以我們來看第三種是什麼吧XD

(3) 輸入文字--介紹textfield
首先,也是圖……

然後textfield的程式碼是這樣:
textfield (a)用於輸入及儲存的文字變數,(b)左上x座標,(c)左上y座標,(d)右下x座標,(e)右下y座標,(f)文字長度,(g)文字高度,(h)半形或全形選擇

(a)用於輸入及儲存的文字變數
跟之前兩種程式碼的(a)沒什麼分別……
不過textfield比較特別,如果該文字變數本來沒有儲存任何資料(即是""),那麼空白格內會是空白喔!
另外NS ver2.82或以上才會看到輸入的中文字不是亂碼!我用2.74會出現怪獸字喔!
按esc會全清文字~按enter代表輸入完成!

(b)至(e)
就是上方空白格的大小,座標什麼開編圖軟件就知道了……
以上用作示範的是800x600的視窗……

你問我可不可以不要白色,改為其他顏色?
嗯……你去問高橋吧XD (原作者)

(f)及(g)
沒記錯也就是像素(pixel)了XD
所以……還是開編圖軟件看看大約多大吧……

(h)半形或全形選擇
跟之前介紹的沒有分別啊XD

然後……你留意到吧?textfield沒有限制玩家輸入多少文字
所以,如果要限制文字數量,你還要配搭len這個程式碼跟if……

例如:
*entername
textfield $0,340,190,470,210,10,20,1
len %0,$0 ;用%0測試$0這個文字變數到底有多長 (以半形為單位,即1個全形=2個半形)
if %0>10 goto *entername ;如果$0含超過5個全形字,跳去*entername這個label(即是一直迴圈啦XD)



說完文字輸入,之後當然要說顯示~
通常輸入完文字後,當然不會直接繼續遊戲,至少要讓玩家看一次名字是否ok再繼續嘛~
所以一定會用到顯示文字的功能~

至於如何顯示文字,我記得戀模板有教過啊……現在再貼一次好了:
lsp (a)編號,":s/(b)文字長,(c)文字寬,(d)字距,(e)文字風格[可忽略];(f)文字顏色碼(g)想顯示的文字",(h)x座標,(i)y座標,(j)透明度[可忽略]

(a)編號
其實跟一般的lsp一樣啊……戀模跟recrit也有啊~(不過recrit教的是strsp)
總之就是數字愈小,圖片的順序就愈在前面囉~

(b)至(e)
其實整串程式碼是可以忽略的!如果忽略,會沿用setwindow或spfont的設定!
(b)至(d)基本也很容易理解嘛……
唯一比較特別的是(e),不過老實說我覺得可以忽略……(喂)
(e)的位置可以輸入0,1跟2,0代表文字會採用預設風格,1代表不採用任何風格,2呢…特殊風格吧?XD
實際測試的結果是:0是一般文字(沒加粗體),1是粗體,2會有黑邊,所以文字顏色不要用黑色XD
平時不打(e)項會沿用setwindow的風格! (即對話框)

(f)文字顏色碼
顏色碼是什麼?就是#開頭那些……詳情可以開編圖軟件或者顏色碼表也可以……
值得一提的是,如果想把該lsp做成文字按鈕,連打兩個顏色碼(沒有空格、沒有符號)的話,會是這個意思:
lsp 0,":s#FFFFFF#000000測試",100,100
即代表滑鼠未點選文字時,文字顏色會是#FFFFFF(白色),點選文字時,會是#000000(黑色)這樣~

(g)想顯示的文字
要跟顏色碼連在一起喔!然後……就打你想打的文字吧XD
只可以打一行的文字,如果要顯示多於一行文字,請多開幾個lsp或者乾脆用strsp~

(h)至(i)
座標什麼的……沒什麼好說吧?

(j)透明度
這個平時可以忽略~數字愈小代表文字/圖片的透明度愈高~(最低0,最高255)

其實文字顯示並不難懂啦~重點是我不是只想教大家如何用lsp顯示文字!
通常就是輸入完文字,然後用lsp顯示的文字應該要同步改變才對吧?
嗯……我也想這樣,但其實要多打幾句XD
如果想lsp顯示的文字改變,一定要先清除(用csp),再重新顯示才ok……養成數值都是這樣用……

其實我還想說lsp的算式運用……不過留待顯示選項再慢慢說也不晚XD
那麼~這次的偽教學又到此為止了喔~下次就說動畫?XD

沒有留言:

SiteTag