Skip to main content

Posts

Showing posts from 2015

[CoronaSDK] TweenTrain, the transition helper class

上週新上架了一個 CoronaSDK transition API helper plugin,主要的目的是為了可以用 string 設定控制所有的動作巨集,方便動作資料預設。 一般來說,如果要使用 transition 達成物件跳躍後往右邊移動,一般語法如下: transition.to( target, {y = target.y-100, transition=easing.outSine, time = 400} ) transition.to( target, {y = target.y+100, transition=easing.inSine, time = 300, delay=400} ) transition.to( target, {x = target.x+300, transition=easing.inSine, time = 600, delay=700} ) 如果改用 tweentrain 就可以寫成: tweentrain.set( target, { "transition:to", {y="-100", transition="outSine", time=400} }, { "transition:to", {y="100", transition="inSine", time=300} }, { "transition:to", {x="300", transition="inSine", time=600} } ) tweentrain.start( target ) 是不是就簡單很多了呢? View the Document on Github Get it from Corona Plugin Store now. =D

[CoronaSDK] 多國語系支援

CoronaSDK 中取得 Android 與 iOS 語系方法並不相同,繁體與簡體取得名稱也不一樣,為了簡化兩系統的繁體與簡體語系支持,所以特別打包了一支函式來控制多國語設定,之前一直忘了分享出來也剛好很久沒更新 Blog 了...=D 使用方法很簡單: 將語系字串放在 locale/ 並以 strings.i18n(預設)與 strings_[ISO_639-1].i18n 繁體共用命名:zh_hant 簡體共用命名:zh_hans 語系字串資料採用 JSON 格式: locale/strings.i18n { "hello" : "Hello", "welcome" : "Welcome" } locale/strings_zh_hant.i18n { "welcome" : "歡迎" } 執行:Global function L( str: String ) -> String Usage: local i18n = require( "i18n" ) -- set device language -> locale/strings_[device setting].i18n i18n.setLocale() -- 假使目前語系為 i18n.language = "zh_hant" print( L("hello"), L("welcome"), L("no data")) -- Hello 歡迎 no data -- 動態更改支援語系到預設值 i18n.setLocale("") print( L("hello"), L("welcome"), L("no data")) -- Hello Welcome no data 備註:僅測試於 Android 與 iOS 系統,如其他裝置需要做修正的話,請自行 DIY。

[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 來達到效果囉! ^^

[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 實體即可。