# [titanium]JustPuzzle

- URL: https://justfly.idv.tw/titaniumjustpuzzle/
- 日期: 2013-12-06
- 分類: WEB&amp;RIA
- 標籤: enchantjs, error, Titanium

![justPuzzle_ICON]好長好長的一段時間，光是遊戲的動畫製作跟插畫的發注管理，就把我的時間榨的乾乾淨淨，不要說去參加不定期的使用者分享會，不翻翻BLOG，連自己有多久沒有打開TITANIUM來看看它有什摩改變都不知道了。剛好趁著這兩天有一點在等素材的空檔就打開來瞧瞧，才注意到他的版本已經排到從v3.1了!!但究竟有甚麼不同，就稍微做個簡單的小APP來試試看吧~

為了想要在有限的時間中快速的完成一個簡單的app，所以構想是還是採用webview的方式來做主軸，加上一點點原生的平台來包裝。平台部分當然是由TITANIUM來製作，webview的部份就用[enchant.js](http://enchantjs.com/)的前人作品「[コンボパズル](http://9leap.net/games/1761)」來當藍圖。外觀就用大約10年前的flash版justblog的素材來完成（再次謝謝老橘子艾倫的設計^^”）。

實作後，就變成這個樣子：

https://justfly.idv.tw/wp-content/uploads/2013/12/justPUZZLE.jpg

開頭的出場跟當時用flash做的動態一樣，太空艙打開後就是webview的視窗。再把コンボパズル換上一層安迪太空衣，也還算是有模有樣了~

遊戲規則跟一般的puzzle(パズル)其實大同小異，一樣是轉珠到三顆以上就可以消珠記分。稍微不同的是:

1.轉珠不以時間計算而是以「移動步數」來計算，每跟一顆珠子交換就會扣一點，扣完即遊戲結束(gameover)。

 2.每次達成連消(combo)即可增加連消數的「移動步數」，最多99。

也就是說，如果連消算的好的話，這遊戲就會無止境的繼續下去……!!?

但是由於珠子的種類一共12種，沒錯就是12星座!然後目前為了改動整個轉珠區域的Y軸位移，以致在操作上會有一點點的小誤差，再加上原本webview+javascript就會有點重…所以其實也很難超過1000分。

至於titanium部分，最麻煩的就是在3.1版要[使用facebook的api的話必須改為Modules](http://docs.appcelerator.com/titanium/latest/#!/api/Modules.Facebook)的方式。而我一直卡在第二次使用requestWithGraphPath就會出現「 com.SDK.facebook error 5」的錯誤…..目前嘗試了幾種方式都沒有辦法順利解決。像是:

1.利用fb應用程式的id跟秘密碼重新取得accessToken,使用requestWithGraphPath呼叫api時再把accessToken一起丟給facebook。

 2.share時，重新登出再登入。

 3.使用舊版的Titanium.Facebook。

等等…，但其實看來看去應該是第一種方式比較符合邏輯，就等待下次再繼續研究囉。

其實說實在應該也不太會有人會想要把這種遊戲的結果share到自己的facebook，或許換個方式來做排行榜會更有意思?
