Mar 6, 2015

[Lua] 簡易模擬 C# Delegate Type 行為

因為工作需求,準備開始學習 C#,這兩天研究一些公開的 Unity 原始碼發現 C# 有個 Delegate Type 很有意思,它可以利用 + 與 - 將需要搭配執行的 function 指派到委任者然後一起執行。如:

//C#, d1 and d2 are functions
allMethodsDelegate += d1;
allMethodsDelegate += d2;
allMethodsDelegate(); // d1(), d2()
allMethodsDelegate -= d2;
allMethodsDelegate(); // d1()

參考資料:使用委派 (C# 程式設計手冊)

Edit: 03, 08, 2015, 感謝 fb@shanyungyang 的提醒可以使用 Lua 的 metamethod 實作,為了達到屬性能往下傳,本來是打算採用 * / 但是又怕太混亂,最後就是由另外一個 meta2 來達到效果囉! ^^

Jan 8, 2015

[JSFL] Export MovieClip For TexturePacker

一般可分析 swf 的軟體都是針對 main timeline 做定位,所以直接從 Adobe Flash 的 Library 選單輸出的 MovieClip .swf 對其來說都是不合法的格式,如果一個 app 使用的動畫量並不多的話,將 MovieClip 轉拉到新文件重新輸出到不是太麻煩的一件事,但是...為了秉持懶人精神,當然是用 Adobe JavaScript API來製作 ,傑克真的太神奇了,想要的格式都可以透過這個修改輸出...說實話,現在一堆手持裝置用 App 的編輯軟體,再如何也沒有 Flash 好用啊! Flash 大回春!!!!!

首先完成的是 Export MovieClip For TexturePacker:
可直接將 MovieClip 輸出成 TexturePacker 可以分析的 swf 格式,其他的可分析 swf 的 spritesheet 包裝軟體也可以使用。共有兩種輸出模式,你可以直接將主場景影格1中所有的 MovieClip 實體輸出,或者選擇你要輸出的 MovieClip 實體即可。

Nov 3, 2014

[TexturePacker] Batch converting images to rgba4444

因為需要大量將圖片轉檔成較省空間的 rgba4444 格式,研究了一下 TexturePacker command line tool, 只能說,TexturePacker 真的太好用了啊!!!!

轉檔邏輯為將指定檔案夾下所有的 .png 原圖命名加後綴 @2x 順便輸出 0.5 scale 的小圖,所以不需要兩種輸出的可以將最後兩段倍數輸出設定刪除。
--variant 1:@2x \
--variant 0.5:



Sep 22, 2014

[CoronaSDK] FLSprite: Flash Sprite Sheet Parser

由於手上有個案子會使用到大量的動畫,之前與客戶配合時為了方便客戶製作,素材都是採用 Flash 或 PhotoShop 輸出 TexturePacker 可打包格式做 sprite sheet 使用。不過為了打包需要輸出大量的 swf,雖然可以使用 Flash 製作 app 用動畫已經簡化的很多步驟,但是某程度上還是有點不便,於是簡單研究了一下 Flash CS6+ 的內建輸出 Sprite Sheet 功能,並分析其輸出的 JSON-Array 格式給 CoronaSDK 使用。

不過嚴格說起來, Flash 打包 Sprite Sheet 的算法並沒有很好,尤其是有些時候,判定整個 MovieClip 範圍的長寬會有錯誤,這時候就是調整一下 MovieClip 後重新打包,也許就會正確,但是其判定規則因為沒有多加研究,所以目前不明,請有發現的朋友們告知一下,謝謝。


Mar 6, 2014

[App] 1Sec. 一秒反應王 v1.1.0 (v1.1.1)

反正就是為了降低失智症發生機率所產生的遊戲...XD
認識我的朋友都知道,我的腦記憶體 80% 都是用在工作上,所以日常生活常常呈現一種失智的狀態,為了避免朋友們的擔心,所以花了些時間製作了一個 App 來幫助其他人與自己多活動腦部細胞,來吧!大家一起來運動...腦細胞!!


魔方網製作的影片介紹:(大感恩啦!!!!)

遊戲速播:(大感恩啦!!!!)


佛心評測:
*重灌狂人:超刺激!「1Sec.-一秒反應王」在一秒間腦力瞬間爆發(iPhone, Android)
*app01:只有1秒鐘!超刺激「1Sec.-一秒反應王」活化你的大腦!
*魔方網:《1Sec. 一秒反應王》考驗你的反應跟耐心

專訪:
*魔方網:絕不要變痴呆!《1Sec. 一秒反應王》專訪

Universal Version includes iOS and Android


Feb 5, 2014

[Corona SDK] 多螢幕支援定位函式


為方便 Universal version 的製作,在畫面配置上,我都是採用對應螢幕四方界線方式做定位如 top, left, right, bottom, centerX, centerY,這樣在多螢幕顯示時,物件的位置才能一致,以下是定位函式分享,提供給有需要的朋友使用。

Jan 17, 2014

[App] 國道計程收費速算器 v1.1.1


視覺化快選國道里程費用計算。
跟上個壽司比起來,這個App真的幸福太多了...短短不到一週含上架就完成了,如果您操作上發現問題的話,請不吝於告知,我會儘快處理的,謝謝。

佛心評測:
* PunPop :【國道計程收費速算器】算好錢才不會弄錯錢。
* 硬式要學 :計程收費怎算?「國道計程收費速算器 」3 秒算給妳

Universal Version includes iOS and Android





Nov 4, 2013

[App] SushiMaster-壽司達人


這個大概是我做過最悲情的遊戲了吧....

Universal Version includes iOS and Android
佛心評測:
* punapp.com :【Sushi Master-壽司達人】可惡,想吃。
* Free4u FB粉絲團:【APP推介】看著肚子都要餓了哦~~~!


Jul 3, 2013

[CoronaSDK] Coroutine 狀態機

最近手上的案子是個麻煩的遊戲,對於遊戲開發來說狀態機(state machine)是很重要的流程控制器,認真研究了一下 Lua 才發現原來它有 Coroutine(協同程序)這個有趣的功能(AS 系列是沒有這種東西的,請原諒我的無知),有興趣搞懂 Coroutine 的朋友可以參考:electronic_blue 的使用 Coroutine 改寫狀態機,它恰恰是以 CoronaSDK 為範本作教學,簡單參考了它的範例程式,打包成了 statemachine.lua 供 CoronaSDK 開發使用。

May 23, 2013

[543] 開發用工具箱

這兩年除了偶而用用 Flash Builder and Flash 寫寫 as 家族外,幾乎主要都是做 app 開發,以下就是介紹 Erin 最近愛用的開發工具: