lua on cocos2dx 札记(一)

来源:互联网 发布:mysql insert 失败 编辑:程序博客网 时间:2024/06/03 20:48


引子
2013年末的清闲日子里,偶拾lua,窥得coco2ds,勾起早年j2me游戏开发回忆。。。


兵器谱:
1、ubuntu:winxp上的各种安全工具搞得人心烦,以至于我这个做产品的非php人员也换装ubuntu裸奔。。。
2、jdk:老朋友了,刚接触时还是1.2,依稀记得还做过一个1.0的项目迁移;事过境迁,现在捡起了1.7。。。
3、adk + ndk + cocos2dx:对于我来说,这是全新的三套车。。。
4、vim:说来惭愧,从未尝试这把倚天剑。。。
5、filezila:个人喜欢把apk用ftp传至手机进行安装。。。
6、SwiFTP:手机端ftp server
7、ES文件浏览器:手机端文件浏览器
8、Better Terminal:手机端console


铸剑:
1、jdk:
#官网下载 http://www.oracle.com/technetwork/java/javase/downloads/
#解压 tar -xzf jdk-7-linux-i586.tar.gz (当然,用图形界面也不是神马丢人的事儿;有手枪,大可不用拳头,下同)
#在/usr/lib目录下建立jvm目录,并把刚才解压后的目录拷贝至jvm下,重命名为java-7-sun: 
sudo mkdir /usr/lib/jvm
sudo mv jdk1.7.0 /usr/lib/jvm 
sudo mv /usr/lib/jvm/jdk1.7.0 /usr/lib/jvm/java-7-sun
#配置环境变量:
gedit ~/.bashrc
把下面4行加入尾部,保存退出
export JAVA_HOME=/usr/lib/jvm/java-7-sun  
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export PATH=${JAVA_HOME}/bin:$PATH
#配置默认jdk版本:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-7-sun/bin/java 300  
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-7-sun/bin/javac 300  
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/java-7-sun/bin/jar 300
检查配置:
sudo update-alternatives --config java  
#查看java版本:
java -version
系统输出:
java version "1.7.0_01"
Java(TM) SE Runtime Environment (build 1.7.0_01-b08)
Java HotSpot(TM) Client VM (build 21.1-b02, mixed mode)


2、adk + ndk + cocos2dx:
#官网下载: http://developer.android.com/sdk/index.html http://www.cocos2d-x.org/(注:ndk r9b版有兼容问题,我用的是r8e)
#分别解压
#随便放什么目录里,我习惯放在自建的~/Tools里,分别重命名为: android-sdk-linux android-ndk-linux cocos2d-x
#配置环境变量:
把下面的加到~/.bashrc里
# android environment setup
export ANDROID_SDK_ROOT=/home/litie/Tools/android-sdk-linux
export ANDROID_NDK_ROOT=/home/litie/Tools/android-ndk-linux
export NDK_ROOT=/home/litie/Tools/android-ndk-linux
export PATH=$ANDROID_SDK_ROOT:$ANDROID_NDK_ROOT:$NDK_ROOT:$PATH


export PATH=/home/litie/Tools/android-sdk-linux/tools:/home/litie/Tools/android-sdk-linux/platform-tools:$PATH


# cocos2d-x environment setup
export COCOS2DX_ROOT=/home/litie/Tools/cocos2d-x
export PATH=COCOS2DX_ROOT:$PATH


export NDK_MODULE_PATH=/home/litie/Tools/cocos2d-x:/home/litie/Tools/cocos2d-x/cocos2dx/platform/third_party/android/prebuilt
export PATH=$NDK_MODULE_PATH:$PATH


3、vim:
#新立得搜gvim,勾选vim-gnome vim-gui-common安装
#拷贝http://amix.dk/vim/vimrc.html页面文字保存为~/.vimrc
#在vimrc里添加几个日常习惯中的Ctrl + ?快捷键:


" Map common 'Ctrl + a' 'Ctrl + c' 'Ctrl + v' 'Ctrl + x' 'Ctrl + z' 'Ctrl + s' 'Ctrl + q' 'Ctrl + n' 'Ctrl + m' utilities
map <C-a> ggVG
imap <C-a> <Esc>ggVGi


map <C-c> "+y<CR>
imap <C-c> <Esc>"+y<CR>i


map <C-v> "+gp<CR>
imap <C-v> <Esc>"+gp<CR>i


map <C-x> "+x<CR>
imap <C-x> <Esc>"+x<CR>i


map <C-z> u
imap <C-z> <Esc>u<CR>i


map <C-s> :w<CR>
imap <C-s> <Esc>:w<CR>i
cmap <C-s> :w<CR>


map <C-q> :q<CR>
"imap <C-q> <Esc>:q<CR>i


map <C-n> :tabnew<CR>
"map <C-m> :tabclose<CR>


#这里有大把的vim配色 http://vimcolorschemetest.googlecode.com/svn/html/index-c.html
点选名称另存为.vim文件,拷贝至/usr/share/vim/vim74/colors/ 并在vimrc中对color scheme做相应修改


亮剑:


1、新建lua工程,cd至cocos2d-x安装目录下/tools/project-creator,执行
python create_project.py -project HelloWorld -package com.cocos2dx.org -language lua
2、打开新建工程,会发现proj.android目录,cd至此,执行:
./build_native.sh
3、执行:
ant -f ./build.xml clean release -Dsdk.dir=/home/litie/Tools/android-sdk-linux
4、打开proj.android/bin,会发现未签名的apk
5、制作签名
keytool -v -list -genkey -keystore /home/litie/Tools/keys/android.release.keystore -alias android.release.keystore -storepass android -keypass android -validity 20000
6、签名
jarsigner -verbose -digestalg SHA1 -keystore /home/litie/Tools/keys/android.release.keystore -storepass android -keypass android -signedjar ./bin/HelloCocos-release-signed.apk ./bin/HelloCocos-release-unsigned.apk android.release.keystore
7、传入手机(我用的是FTP)安装运行


砾刃:


1、在工程目录下有个Resources目录,全部源文件置于此
2、打开hello.lua,会发现一个名为cclog的方法,修改一下,我把它直接干掉了,我习惯用debug这个方法名:
function debug(...)
    CCLuaLog("debug() start @"..os.date())
    --CCLuaLog("debug() msg: "..string.format(...))
    CCLuaLog("debug() msg: "..tostring(...))
    CCLuaLog("debug() end @"..os.date())
end
3、全部cocos2dx相关的debug信息将被以cocos2d-x debug info标签输出
4、启动手机端Better Terminal,输入命令:
su
setprop service.adb.tcp.port 5555
stop adbd
start adbd
5、在PC终端中输入连接手机wifi ip地址命令,如:
adb connect 192.168.1.100
看到出现连接成功提示connected to 192.168.1.100:5555,则进入下一步
6、由于logcat输出信息太多,我们需要过滤一下,输入:
adb logcat | grep "^..cocos2d-x"
7、打开先前安装的apk应用,cocos2d-x debug info将在PC终端上显示出来
8、每次执行adb logcat | grep "^..cocos2d-x"前建议用adb logcat -c | grep "^..cocos2d-x"清一下缓存




至此,lua on cocos2dx已经可以玩起来了。。。


最后,对eclipse说声珍重。。。我的工作电脑并非开发机,elipse + 模拟器有点不堪重负。。。如果用模拟器的话,记得打开opengl支持,不然会异常退出。。。


先写到这里,研究lua在cocos2dx上的面向对象去了。。。下次继续。。。