網頁

2015年4月17日 星期五

安裝Cocos2D 3.x在Mac

最近想做點什麼,想到之前用過Cocos2D 2.x,不過一年沒用後,看來改變不小,不像以前直接安裝在xCode之中,看了半天MAC OSX INSTALLATION AND SETUP覺得有被誤導的狀況,看了Mac环境下Cocos2d-x开发环境完全指南cocos2d-x 3.x Mac环境下搭建, 创建Xcode项目Cocos2d-x 3.x 全平台新手开发配置教程才ok,大致步驟如下:
  1. 安裝Xcode
  2. 下載Cocos2d 3.x(http://www.cocos2d-x.org/download/)
  3. 將下載檔複製到你要的目標,解壓縮(如:我下載cocos2d-x-3.5,解壓縮後出現cocos2d-x-3.5的目錄
  4. 執行目錄裡的setup.py
  5. 執行"source ~/.bash_profile"
這樣就完成了,要新建一個Proejct,只要開terminate.app,執行底下script,就會多出一個Xcode project可以用了
cocos new 專案名稱 -p com.你的名稱 -l cpp -d 目錄路徑 


參考網址:
Mac环境下Cocos2d-x开发环境完全指南
Cocos2d-x 3.x 全平台新手开发配置教程
MAC OSX INSTALLATION AND SETUP
cocos2d-x 3.x Mac环境下搭建, 创建Xcode项目
How can I include cocos2d-x templates in Xcode?

2015年3月14日 星期六

Javascript學習筆記- change value in IE 7

最近一個案子,因為蠻在意IE的舊版本,如:IE 7。在select中常會使用change再載入另一個select的值,如市及區的連動。但在IE 7發現有個狀況,可以看到下圖的按鈕重疊在上頭。

一開始以為這部分主要是設計師在css上的處理方式有問題,將select的寬度做了固定,而資料的長度又會變動,但後來發現,可能是在處理change event的方式直接使用jquery的change function,而它並沒有相容到ie使用的(如:propertychange | onpropertychange eventonpropertychange event | propertychange event所述)

所以使用上為了能相容,所以改用成底下的方式:
$('#object').bind('propertychange change', function (e) {
   //實際要執行的code   
   $(this).blur();
});

其實在使用上有發現,即使加入了propertychange,可能沒效果,但其實只要滑鼠點擊其他元件就正常了,所以可以看到上述程式加入$(this).blur(),來達到這個效果,這樣就ok了

參考網址:
propertychange | onpropertychange event
onpropertychange event | propertychange event

2015年2月20日 星期五

iOS開發筆記 - What is ObjC

之前老是在Other linker flags設定-ObjC,總是不大懂為什麼,查了下,在Technical Q&A QA1490 - Building Objective-C static libraries with categories中提到如下:

The -ObjC Linker Flag

Passing the -ObjC option to the linker causes it to load all members of static libraries that implement any Objective-C class or category. This will pickup any category method implementations. But it can make the resulting executable larger, and may pickup unnecessary objects. For this reason it is not on by default.
看起來簡單的解釋是:要載入其他用Objective-C寫的靜態library,要設定這個flag。而這個flag也有造成執行檔肥大的問題。

這倒讓我想到那有可能不用這個設定嗎???

參考網址:
What does the -ObjC linker flag do?
Technical Q&A QA1490 - Building Objective-C static libraries with categories

2015年2月18日 星期三

不錯的字型

http://free.com.tw/input-fonts

照著做就好 XD

取得使用者目前的時區

最近一個網站的對象是整個美國,加上有每日記錄的問題,發生了使用者在同一個做記錄,卻沒多久就變隔一天的窘境,查了半天看起來strtotime預設用的是UTC,除非特別寫進去要parser的字串中或設定php.ini,但重點在我不能固定在一個時區,歸納了有底下幾個需求
  1. 要取得使用者目前所在的時區
  2. 要能使用者各自有各自的時區
  3. 使用者之間不能互相影響
PHP 5.3.x 的 strtotime() 時區設定 警告訊息修正這篇可以知道,改時區大概有兩種種方式(其實不只)
  1. php.ini中設定date.timezone
  2. Function: date_default_timezone_set
這邊合乎需求的是date_default_timezone_set。試用過後,發現只有在設定後才會有效果。http呼叫重新來過時,又是用系統設定,不會互相影響。

再來要取得目前使用者時區,看了不少方式,都是取得目前系統時間再做差異比較,不過這方式很多細節要處理,最後找到這個jsTimezoneDetect,很容易使用,程式碼如下:

var timezone = jstz.determine();
function get_user_timezone(target)
{
    if( target != null && target.length != 0 )
        target.val(encodeURI(timezone.name()));
    return timezone.name();
}

要注意的是,不能在function中使用,宣告的變數要在最外頭,也不能放在jQuery.ready裡頭,jstz才可以存取到。

這樣就可以利用get_user_timezone取得時區名稱,如:Asia/Taipei。jstz會幫忙做轉換,也會計算日光節約時間等,省掉不少麻煩。

相關函式庫:
jsTimezoneDetect
tamaspap/timezones
jquery.detect_timezone


參考網址:
How to get client's timezone?
Get user's timezone using javascript/jQuery and PHP
PHP5 time zone solution
Auto-detecting user's timezone
List of Supported Timezones
Getting the Time Zone from a Web Browser
Detect user timezone using javascript
How to initialize javascript date to a particular timezone
Generating a drop down list of timezones with PHP

IANA - Time Zone Database

Date/Time based on user's location

查詢時間、請輸入國家、地區或主要城市的中文或英文名稱
Time Zones