Open hanxi opened 3 years ago
luaScript ├── conf.lua ├── global.lua ├── include.lua ├── logic │ ├── HXGameBoardLogic.lua │ ├── HXGameIcon.lua │ ├── HXGameScene.lua │ ├── HXMainMenuScene.lua │ └── logic.lua ├── main.lua └── util ├── AudioEngine.lua ├── HXUtil.lua └── util.lua
项目地址: [使用 cocos2dx 引擎为基础完成一个手机游戏的基本框架][]
游戏资源和逻辑脚本来自crosslife, 真应该感谢他开源了这套脚本逻辑. 国庆这几天都在修改这套代码, 收获还挺多的.
因为游戏比较小,所以把所有的逻辑都放到了 logic 文件夹下面,其中 HXGameBoardLogic.lua 文件用来实现与游戏数据结构相关的逻辑,比如坐标点和图标位置转换,检测某个图标是否可以被消除等等跟图形界面没关的都放这里了.
HXGameIcon.lua 用来读取图标.
HXMainMenuScene.lua 用来实现开始菜单界面.
HXGameScene.lua 就是游戏的主场景了.包含创建场景,各种游戏操作逻辑能看得到的都在这里实现了.
(思想来自一个 csdn 的人写的,忘记在哪了)
为了玩家看到的动画效果是完整的,我屏蔽了掉落动画时的屏幕 touch 事件.如果不这样做的画会出现棋子掉落位置出错的情况.还有一种解决办法是立即结束动画(但是需要立即完成 moveto 事件.要不然棋子就不在目标位置了.),但对 cocos2dx 不熟,导致没有成功实现这种方法.
现在这个游戏只是能玩,有个分数在那里显示着,但还不像个游戏.后面我给他添加闯关模式,无尽模式什么的...在玩法上添加点东西,比如最高记录保存.
无需安装 eclipse,只需要 ant 就足矣.
生成 keystore 文件
keytool -genkey -alias hanxigame.keystore -keyalg RSA -keystore hanxigame.keystore
修改 ant.properties 文件
key.store=./hanxigame.keystore key.alias=hanxigame.keystore key.store.password=hanxigame key.alias.password=hanxigame
执行 ant release
如果出现环境变量问题,需要把一些必要的环境变量设置好.ant 需要用到 NDK_ROOT 这个变量
#set android environment export ANDROID_SDK_ROOT=/home/hanxi/Lib/android-sdk export NDK_ROOT=/home/hanxi/Lib/android-ndk export COCOS2DX_ROOT=/home/hanxi/Lib/cocos2d-x export PATH=$PATH:$ANDROID_SDK_ROOT:$ANDROID_SDK_ROOT/tools export PATH=$PATH:$NDK_ROOT
这个游戏第一版就这样子结束吧,编译一个 release 包放到百度网盘里面了.可以下载玩玩的.自适应屏幕的(具体怎么适应可去网上找资料,或者直接阅读我的代码). 安卓安装包下载地址
脚本代码文件结构
项目地址: [使用 cocos2dx 引擎为基础完成一个手机游戏的基本框架][]
游戏资源和逻辑脚本来自crosslife, 真应该感谢他开源了这套脚本逻辑. 国庆这几天都在修改这套代码, 收获还挺多的.
游戏逻辑分类
因为游戏比较小,所以把所有的逻辑都放到了 logic 文件夹下面,其中 HXGameBoardLogic.lua 文件用来实现与游戏数据结构相关的逻辑,比如坐标点和图标位置转换,检测某个图标是否可以被消除等等跟图形界面没关的都放这里了.
HXGameIcon.lua 用来读取图标.
HXMainMenuScene.lua 用来实现开始菜单界面.
HXGameScene.lua 就是游戏的主场景了.包含创建场景,各种游戏操作逻辑能看得到的都在这里实现了.
游戏数据结构
主要的算法
节点下落填充
(思想来自一个 csdn 的人写的,忘记在哪了)
掉落动画保护处理
为了玩家看到的动画效果是完整的,我屏蔽了掉落动画时的屏幕 touch 事件.如果不这样做的画会出现棋子掉落位置出错的情况.还有一种解决办法是立即结束动画(但是需要立即完成 moveto 事件.要不然棋子就不在目标位置了.),但对 cocos2dx 不熟,导致没有成功实现这种方法.
游戏后续补充
现在这个游戏只是能玩,有个分数在那里显示着,但还不像个游戏.后面我给他添加闯关模式,无尽模式什么的...在玩法上添加点东西,比如最高记录保存.
顺便添加一点 apk 打包知识
无需安装 eclipse,只需要 ant 就足矣.
生成 keystore 文件
修改 ant.properties 文件
执行 ant release
如果出现环境变量问题,需要把一些必要的环境变量设置好.ant 需要用到 NDK_ROOT 这个变量
这个游戏第一版就这样子结束吧,编译一个 release 包放到百度网盘里面了.可以下载玩玩的.自适应屏幕的(具体怎么适应可去网上找资料,或者直接阅读我的代码). 安卓安装包下载地址