2015年5月30日 星期六

【自製遊戲】放置型養成RPG-掌中冒險者進度報告(8)

這次是久違的進度報告~
大概在上禮拜天左右下了一個決定,就是要透過Unity裡的UI功能把遊戲場景裡的物件全部做一個調整,以及將不變的數值與玩家可變動的數值做一個大整理。
首先是畫面上方人物狀態,為ActorStateCanvas下的UI物件,含目前血量的文字血條、經驗值的icon文字、金錢的icon文字、背景。

註:ActorStateCanvas下的ActorFace為sprtie物件。
自製遊戲報告

2015年5月23日 星期六

【自製小遊戲】仿cookie clicker Idle game - 冒險者公會(1)

這次做的是Idle game,也就是所謂的放置型遊戲,順便測試UI物件。
遊戲的系統來自cookie clicker,點擊金幣袋增加金錢,透過金錢雇用角色,角色被放置在畫面時會自動回饋金錢,遊戲目標只有增加金錢那麼簡單。
Idle game

2015年5月22日 星期五

【Unity】PlayerPrefs存取中文字

這次要提的是PlayerPrefs存取中文字的問題,用的方法有一點鑽漏洞但並不複雜。
PlayerPrefs.SetString是Unity內存取字串的語法,但是過幾次後發現有些中文字因為編碼的問題在GetString會抓到空白字串,如果中文字串是製作方能自己設定就繞個彎避開就好,但可以讓玩家設定的情況就需要找個方法解決了。
自己查了一下,常見的建議方法多半是將中文字轉成編碼,將編碼存下來,讀取的時候再轉換回來。
所以重點在中文字的編碼轉換,於是找到了這一篇:
http://game.ceeger.com/forum/read.php?tid=5897&fid=2&page=1

文中6樓的將中文字轉換成網址編碼來存取,也就是:
PlayerPrefs.SetString ("playerName", WWW.EscapeURL(inputName));//存檔
playerName = WWW.UnEscapeURL(PlayerPrefs.GetString ("playerName"));//讀檔

不過問題點也是文中其他樓提到的字串長度翻倍。

2015年5月18日 星期一

【Unity】android加速度(acceleration)小測試

這次來提Unity在android上的加速度,可以透過android內加速度感測器(accelerometer)抓到的值來做控制物件等功能。
在asset store內找到一個不錯的範例:
https://www.assetstore.unity3d.com/en/#!/content/8566
accelerometer
StarTrooper

2015年5月16日 星期六

【Unity】UI物件 Canvas設定(1)

這次提的是Canvas的Render 調整,UI物件生成之後全部都是在Canvas之下,設定的好可以處理掉許多解析度的問題。
首先隨便新增一個UI物件,新增後Canvas會自動產生,Canvas產生後點擊Canvas看到Component下有Render Mode:

2015年5月14日 星期四

2015年5月11日 星期一

【Unity】遊戲存檔功能(PlayerPrefs)

這是要談的是遊戲存檔的功能,前陣子在做自製遊戲時是透過PlayerPrefs來進行存檔讀檔,所以就先從PlayerPrefs談起。
PlayerPrefs可以在應用程式內做資料存取的動作,可存取的資料型態為int、float、string三種類型,以下是存檔語法:
PlayerPrefs.SetInt ("儲存名稱I", 整數變數);
PlayerPrefs.SetFloat ("儲存名稱F", 浮點數變數);
PlayerPrefs.SetString ("儲存名稱S", 字串變數);

存好資料以後,若要讀取資料則是:
整數變數 = PlayerPrefs.GetInt ("儲存名稱I");
浮點數變數 = PlayerPrefs.GetFloat ("儲存名稱F");
字串變數 = PlayerPrefs.GetString ("儲存名稱S");

2015年5月10日 星期日

【Unity】UI物件 InputField名稱輸入

這次要做Unity內的UI物件測試,就如標題所寫的要完成的是:
1.玩家輸入名稱。
2.按下確定。
3.顯示輸入名稱。
對自己來說拿GameObject物件做是比較熟悉的方法,不過既然功能都放在那裡就拿來試試看吧。
上圖為這次完成的畫面,至於成品結果點這裡

2015年5月6日 星期三

Unity Web Player在google chrome無法執行的問題

請看這篇:
google Chrome版本45 無法執行Unity Web Player

這個問題困擾自己有一陣子了,而且發生的很突然。
某天用chrome開啟自己的遊戲時竟然叫我安裝Web Player。

起初以為是自己遊戲的問題,但重裝Web Player好幾次,用firefox開又可以正常執行,就確定毛病是發生在chrome身上。
就這樣同時開著chrome和firefox好幾天,真的有點受不了就決定來把問題處理掉。
最後從日本的Unity官方找到解決方法(不要問我為什麼)。
http://japan.unity3d.com/blog/?p=2276

2015年5月5日 星期二

【自製遊戲】放置型養成RPG-掌中冒險者進度報告(7.5)

這次不算太正式的進度報告,主要是大修整個專案的架構,所以就用7.5,也不會有目前遊戲開發的畫面。
之前由於太急著想在投稿日前做完它,導致整個專案在變數命名、物件名稱還有程式架構出了一些問題,這些不先解決後面只會越來越累。
所以在新功能冒出來之前,要把該修的都修一修才能進行下一步。
(1)Project檔案分類和重新命名:
含背景圖(Background)、圖案(Icon)、按鈕(Button)、音效(Music)、資源(Resources)、腳本(Script)、場景(Scene)等資料夾,物件名稱也做了修改。

(2)腳本的變數修改和註解:
變數上在開發初期有太多沒設想到的地方,如裝備設定成三個和新增場景物件的功能,這些都做了修改,另外在預定擴展功能的地方也做了註解。

(3)資源(Resources)的延伸性:
資源引用上先前寫得太死,這次做了修改後不論事之後新增人物、敵人或關卡上都變得比較方便。

大量修改後專案變得清爽看的也舒服,總之這次就到這裡。

2015年5月3日 星期日

【Unity】鍵盤移動控制 - 下

上篇
在上次我們完成方向的控制,接下來把人物移動補上後就完成了。這次的結果點這裡
但在之前先把剩下的方向補上,補完之後就是完整的八方向控制。
透過鍵盤操控mmd4mecanim模型

2015年5月1日 星期五

【Unity】鍵盤移動控制 - 上

文章標題是在三月底開起來的,想不到一欠就是一個月。
這次主題是人物模型的鍵盤方向以及移動控制,這篇上篇主要是講方向的控制,而移動部分會留在下篇,這次的結果點這裡

首先提一下目標,以攝影機為拍攝方向為中心點,在玩家按下鍵盤W鍵時角色面向前方,按下D角色面向右方,按下S角色面向後方,按下A角色面向左方。
攝影機受mouselook控制會做Y軸的旋轉,當攝影機拍攝方向改變時,按下WASD後角色方向會與攝影機座標一致,也就是說不會有按下W角色卻面向左方或後方的情況。

【自製小遊戲】水平思考猜謎(海龜湯)

遊戲連結 海龜湯的玩法是由出題者提出一個難以理解的事件,參與猜題者可以提出任何問題以試圖縮小範圍並找出事件背後真正的原因。但出題者僅能以「是」、「不是」或「沒有關係」來回答問題。 本遊戲蒐集各種論壇、平台的42個題目,提供給想玩海龜湯卻愁找不到題目的你們。 ...