顯示具有 cocos2d-x 標籤的文章。 顯示所有文章
顯示具有 cocos2d-x 標籤的文章。 顯示所有文章

2012年8月4日 星期六

giflib on cocos2d-x

雖然gif檔很少人在用了,不過還是幫cocos2d-x加了giflib支援

2012年7月2日 星期一

cocos2d-x with cygwin

cocos2d-x如果要在windows下建android project的話,一定要安裝cygwin。
但如果cocos2d-x的路徑是放在ntfs磁碟裡,透過create-android-project.bat建立project時會出現permission denied的問題,原因是copy_files.sh裡面會用到cp -rf的指令從HelloWorld裡copy需要的檔案,但cygwin在處理cp時只會看POSIX permission,所以檔案雖然是copy過去了,但後續的一些
檔案處理全部都會因為權限的關係出問題。簡單的解決方法是直接修改HelloWorld裡面的檔案,
讓那些會使用到的檔案加上POSIX權限就好。一般的檔案只需要rw-r--r--,目錄的話則是rwxr-x-r-x。或許可以寫個shell script自動化這些事...:)
大概像這樣


#!/bin/bash


chmod -R +rwx HelloWorld/Classes/
chmod -R +rwx HelloWorld/android/
chmod -R +rwx HelloWorld/Resources/


for file in HelloWorld/Classes/*
do
    if [ -f $file ]; then
            chmod -x $file
    fi
done


for file in HelloWorld/android/*
do
    if [ -f $file ]; then
            chmod -x $file
    fi
done


for file in HelloWorld/Resources/*
do
    if [ -f $file ]; then
            chmod -x $file
    fi
done

2011年7月6日 星期三

cocos2d-x iphone + android設定

based on cocos2d-0.99.5-x-0.8.5 with xcode4


1. 用xcode建立cocos2d-x的ios project
2. 建立android用的cocos2d-x project
3. 把android project中的"Resource"跟"android"兩個目錄搬到xcode專案的目錄下 (跟Classes同一層)
4. 修改android目錄中的build_native.sh, 將GAME_ROOT改成../
5. 在build_native.sh最後一行
$ANDROID_NDK_ROOT/ndk-build -C $GAME_ANDROID_ROOT $* 之後加上"COCOS2DX_ROOT=$COCOS2DX_ROOT"
6. 修改jni/Android.mk, 將subdirs := $(addprefix $(LOCAL_PATH)/../../../,$(addsuffix /Android.mk, \
           cocos2dx \
           CocosDenshion/android \
        ))
中的"$(LOCAL_PATH)/../../.." 改為$(COCOS2DX_ROOT) (最後一個/不要去掉!)
7. 修改jni/Helloworld/Android.mk, 將
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../../cocos2dx \
                   $(LOCAL_PATH)/../../../../cocos2dx/platform \
                   $(LOCAL_PATH)/../../../../cocos2dx/include \
                   $(LOCAL_PATH)/../../../../CocosDenshion/include \

紅色的部份都改成$(COCOS2DX_ROOT) (最後一個/不要去掉!)

以及

LOCAL_LDLIBS := -L$(call host-path, $(LOCAL_PATH)/../../libs/armeabi) \
               -lcocos2d -llog -lcocosdenshion \
               -L$(call host-path, $(LOCAL_PATH)/../../../../cocos2dx/platform/third_party/android/libraries) -lcurl


橘色部份改成$(COCOS2DX_ROOT)(最後一個/不要去掉!)


這樣應該compile應該就沒問題了, android專案也不會被cocos2d-x專案位置綁住 (若有修改則修改build_native.sh即可)


Resource的部份, 因為build_native.sh會把Resource/中的所有資料複製到asset中, 所以resource必須要放在這裡, 用ln -s 跟Resources (ios用)中的目錄作連結便可以很方便地同步資料