雖然不曉得為什麼,但我好像只要工作一段時間就會陷入整體工作停擺的狀況;人還是每天去上班,週遭的一切也仍然在進行,但就是只有我會呈現一個被專案或團隊遺忘的狀態,雖然還是一樣坐在那但不會有任何事發生,就好像徹底從團隊中消失一樣。
個人把這段時間稱為「放生期」。這現象還蠻奇妙的,出社會前不曾想過會有這種情況,明明身處其中卻又像是隱形的存在一樣,除了說「真的很妙」外我還真心想不到太多形容詞。
不過人生會發生什麼事有時候也不是自己能選的,往好處想:至少有段空檔能思考近況然後投資些不同事情的時間,其實也不壞。
最後決定重新練習一下之前唸完沒機會用然後就忘的一乾二淨的CSS,近年因為前端和UI相關技術聲勢大漲的原因,網頁技術成了一種基本門檻,雖然我到現在還是不曉得究竟網頁技術和UI設計有什麼關係,但學會總是不吃虧。
說不定還有可能從遊戲開發這個無間地獄解放出來,但對這個圈子的心得有點難整理,也許留待後話吧。
2016年12月15日
2016年8月4日
C#陣列的使用
陣列是之前碰到一個相當複雜的問題,不過一方面大概也是我的腦容量不足以承擔那麼多數值的關係。範例是製作如圖般的結果,以兩個一維陣列將姓名和分數列出來,再以Array.Sort()方法排序後讓分數和姓名的部份相關聯。
參考:
學習隨手札:[Array][coding] GetUpperBound, GetLength 陣列維度/長度的取得
MSDN:Array.GetUpperBound方法(Int32)
![]() |
| 範例製作結果 |
![]() |
| 範例原始碼 |
Array.Sort()
範例用到最主要的方法,用來排序(由小到大)使用。若只寫Array.Sort(score)是對score陣列作排序,但如果寫複數陣列的話如Array.Sort(score,name)則是讓後者(name)跟隨前者(score)的排序。GetUpperBound()
會回傳陣列的「索引上限」,也就是這個陣列能夠容納的索引中最大的那個。這個範例中以score而言的話會回傳5(陣列由0開始,所以維度是0,1,2,3,4,5);括號中需要的參數是dimension(維度),同樣也是由0開始計算,所以一維的話就是(0),而二維則可以寫(0)也可以寫(1)。GetLength()
會回傳陣列的索引長度,或是說「這個陣列內含的索引總數(看有幾個索引)」,但因為索引的數量是從1開始計算,所以在這個範例中要-1,不然會超過陣列的上限(5)而報錯。這部份我理解了一下才想通。括號內的參數一樣是dimension(維度),和GetUpperBound()相同。參考:
學習隨手札:[Array][coding] GetUpperBound, GetLength 陣列維度/長度的取得
MSDN:Array.GetUpperBound方法(Int32)
2016年7月29日
C#變數的使用彈性
就目前的經驗,程式的基本大概都是相同的。例如一定會宣告變數來存放資料、條件判斷(if)、迴圈(for、switch或while)之類,除了寫法不同之外這些部份大致不會變,有點像是基本工具那樣。
理解這些規則雖然花時間,但定義並不是那麼難理解。就像背了一堆文法後也不見得能把文章寫好一樣,目前對於入門如我,最大的門檻是在於將這些規則組織起來,最大的問題在於「無法想到『應該這麼寫』」。
在練習判斷式的時候,書上有個例題是「列出1到100中4的倍數,同時每列出5個就換行」。
由於這邊必須要「每列出5個就換行」,最初的時候其實想不太到要怎麼去處理換行的部份;看過實例的演示才會曉得,其實可以利用一個變數寫在判斷式中,讓它跟著4的倍數判斷一起進行計算,再利用巢狀if的方式進行斷行的判斷。
就目前的我來說是個蠻巧妙的作法,也提醒自己在變數和陳述的使用上可以再更有想像力(彈性)一點。
理解這些規則雖然花時間,但定義並不是那麼難理解。就像背了一堆文法後也不見得能把文章寫好一樣,目前對於入門如我,最大的門檻是在於將這些規則組織起來,最大的問題在於「無法想到『應該這麼寫』」。
在練習判斷式的時候,書上有個例題是「列出1到100中4的倍數,同時每列出5個就換行」。
由於這邊必須要「每列出5個就換行」,最初的時候其實想不太到要怎麼去處理換行的部份;看過實例的演示才會曉得,其實可以利用一個變數寫在判斷式中,讓它跟著4的倍數判斷一起進行計算,再利用巢狀if的方式進行斷行的判斷。
就目前的我來說是個蠻巧妙的作法,也提醒自己在變數和陳述的使用上可以再更有想像力(彈性)一點。
2016年7月25日
於是又開始看起程式
最早有想要學程式的念頭,是因為第一份工作體認到和程式溝通需要了解一些相關的邏輯和運作方式,在設計遊戲需要的規格時也需要更加系統化的思考方式。所以還花錢去上了速成課程,當然這之中也有想過如果真的能就此學會,多一項技能也不錯。
但是從最早投入的AS2、AS3到現在的C#,差不多都是半途而廢。要講理由的話就是程式在術語和機制上其實有些抽象,例如「實體化一個宣告對象」之類的,雖然單詞能懂,但整句湊在一起真是蠻像廟裡的籤詩。
再者是終於習慣了語法和規則後,實作時的思考又是另一回事,組成架構的方式不見得只有一種,便是程式之所以也能作為一種設計的理由。但同時帶來的挫敗感也很大,總之是半途而廢沒什麼好說的,理由可以有很多但結果就只有一個而已。
在這麼多次的淺嘗輒止又失敗的過程中,往好處想每次投入所累積的時間還是多少讓這些許多似懂非懂的東西一點一點被打通或連結起來,或許也可以看成是某種額外的收獲,雖然如果持之以恆勢必更有所成,不過那也就不會有這段感慨了。
在接觸Unity後,希望也許哪一天可以自己也作個簡單的東西出來所以開始摸了C#。和Action Script不同的是C#發展已久,而Unity也不過是最近幾年流行起來的東西,大概不會這麼快掛點。
即便哪一天和Flash一樣邁向滅亡,C#也還是可以用在其它地方。
一邊想著投報率的問題,一邊選擇性的遺忘自己根本就沒有真的把一項語言學到完過,去年興沖沖買了本書就投入,然後不負眾望(誰)的看了幾個月後又這麼擱下了。
這回想說順手來記錄一下過程,看會在哪一步停下來好像也不錯。
2014年4月29日
以BMfont打包美術字型的方式
遊戲製作中經常需要使用不同的字型,受限於動態字型能選擇的種類並不多,要增加就需要打包新的字集進引擎,但整個字集動輒數MB,匯入引擎又增加整體的下載容量大小,並不是個很經濟的方式。
先前在工作上遇到這個問題,經由和程式討論得到「可以利用工具將字集中的個別文字拆出,並拼成一張字型貼圖」的作法,所以記錄一下。由於一個字集包含許多符號及冷僻字,其實只要挑出所需的文字就可以,不需將一整個字集匯入,徒增專案容量大小。
訂閱:
文章 (Atom)
後會無期了,Smash & Magic
從去年發佈後玩到現在的彈珠like手遊『Smash & Magic』在昨天例行更新後發佈了停止營運的公告,這之後一直到今年的10/31關閉為止,就是這款手遊的最後一哩路了。
-
最早看到鈦極筆的消息大約是在去年年尾的樣子。 當時還正處在 集資階段 ,金屬質感加上一體成型的造型設計實在很吸引我,只是可惜近5000元的價格實在遠遠超出我認知中的一般自動鉛筆,所以一直關注到整個集資活動結束,幾次想要參與但最後還是作罷。
-
遊戲製作中經常需要使用不同的字型,受限於動態字型能選擇的種類並不多,要增加就需要打包新的字集進引擎,但整個字集動輒數MB,匯入引擎又增加整體的下載容量大小,並不是個很經濟的方式。 先前在工作上遇到這個問題,經由和程式討論得到「可以利用工具將字集中的個別文字拆出,並拼成一...


