【Cocos游戏实战】功夫小子第八课之游戏打包和相关问题说明
至此,功夫小子系列的Cocos2d-x的实战文章就结束了。
源代码地址: https://github.com/SuooL/KungfuBoy
如须要资源请邮件我 1020935219@qq.com
再次贴个文件夹以便检索:
功夫小子专栏地址:http://blog.csdn.net/column/details/suoolcocoshit.html点击打开链接
【Cocos游戏实战】功夫小子第一课需求分析和开发环境的基本配置
【Cocos游戏实战】功夫小子第二课之基础类分析和实现
【Cocos游戏实战】功夫小子第三课之过渡场景和開始菜单的实现
【Cocos游戏实战】功夫小子第四课之设置功能和图籍场景的实现
【Cocos游戏实战】功夫小子第五课之帮助场景和选关功能的实现
【Cocos游戏实战】功夫小子第六课之游戏主功能场景的分析和实现
关于打包APK。能够选择使用Eclipse,当然我使用的是Cocos的命令行工具。
可是如同在第一节课说的,我们的项目在3.0版本号创建。使用了一些库,所以打包之前须要更改下我们的Android.mk文件
更改后文件内容例如以下:
LOCAL_PATH :=$(call my-dir) include$(CLEAR_VARS) LOCAL_MODULE :=cocos2dcpp_shared LOCAL_MODULE_FILENAME:= libcocos2dcpp # 遍历文件夹及子文件夹的函数
define walk
$(wildcard $(1))$(foreach e, $(wildcard $(1)/*), $(call walk, $(e)))
endef
# 遍历Classes文件夹
ALLFILES = $(callwalk, $(LOCAL_PATH)/../../Classes)
FILE_LIST :=hellocpp/main.cpp
# 从全部文件里提取出全部.cpp文件
FILE_LIST +=$(filter %.cpp, $(ALLFILES))
LOCAL_SRC_FILES :=$(FILE_LIST:$(LOCAL_PATH)/%=%) LOCAL_C_INCLUDES:= $(LOCAL_PATH)/../../Classes
# 加入库的引用
LOCAL_WHOLE_STATIC_LIBRARIES:= cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES+= cocosdenshion_static
LOCAL_WHOLE_STATIC_LIBRARIES+= box2d_static
LOCAL_WHOLE_STATIC_LIBRARIES+= cocos_extension_static
LOCAL_WHOLE_STATIC_LIBRARIES+= cocostudio_static
LOCAL_WHOLE_STATIC_LIBRARIES+= cocos_ui_static include$(BUILD_SHARED_LIBRARY) $(callimport-module,2d)
$(callimport-module,audio/android)
$(callimport-module,Box2D)
$(callimport-module,extensions)
$(callimport-module,editor-support/cocostudio)
$(callimport-module,ui)
其次就是打包完毕之后在手机上測试会出现一些白屏的问题,这个是Cocos引擎的bug,解决方法例如以下,改动AppActivity.java文件:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
/****************************************************************************
Copyright (c) 2008-2010 Ricardo Quesada
Copyright (c) 2010-2012 cocos2d-x.org
Copyright (c) 2011 Zynga Inc.
Copyright (c) 2013-2014 Chukong Technologies Inc. http://www.cocos2d-x.org Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
****************************************************************************/
package org.cocos2dx.cpp; import org.cocos2dx.lib.Cocos2dxActivity;
import org.cocos2dx.lib.Cocos2dxGLSurfaceView;
import android.view.WindowManager;
import android.media.AudioManager; public class AppActivity extends Cocos2dxActivity {
public Cocos2dxGLSurfaceView onCreateView() {
super.onCreateView();
Cocos2dxGLSurfaceView glSurfaceView = new Cocos2dxGLSurfaceView(this);
glSurfaceView.setEGLConfigChooser(5, 6, 5, 0, 16, 8); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
return glSurfaceView;
}
}
最后就是本游戏的最初想法是结合一个实际的手游项目来学习Cocos2d-x。学习其基本组件和核心模块,以及一些设计思想。(这个游戏是我在学习时Cocos2d-x所做的第一个项目。
。
)做这个游戏的之前全然不知道Cocos,边学边做就出来了了这个游戏,并且因为时间有限,差点儿没有考虑架构设计和性能优化,因此代码如今看起来是非常丑的。
希望大家可以通过本系列教材学习到Cocos的基本组件和核心模块的相关知识。并对游戏开发有一个大概的认识。
我也是菜鸟一枚,所以不喜勿喷。
另,源代码已经在github上。关于资源请邮件我索要。资源仅限于学习交流之用。请勿用于其它的商业用途。资源的版权归原作者全部,谢谢您的理解。
期待和您一些学习交流。
我自己想到一些改进的方向例如以下:
1. 使用有限状态机(FSM)改写本游戏项目
2. 为怪物加入更强大的AI,改进现有的碰撞检測
3. 怪物的产生使用读取配置文件的方式
4. 将游戏GameLayer各个层分开实现,减少程序的耦合性。
5. 优化游戏
6. 结合自己的思考进一步改进现有的设计。
另外是一些资源的共享网盘地址例如以下:
资源分享网盘地址:http://pan.baidu.com/s/1gds6vfX
【Cocos游戏实战】功夫小子第八课之游戏打包和相关问题说明的更多相关文章
- 【Cocos游戏实战】功夫小子第七课之游戏主功能场景逻辑功能和暂停功能场景的分析和实现
		CSDN的markdown编辑器是吃屎了么! !.什么玩意.!写了一半写不了东西还全没了,搞个毛线! 本节课的视频教程地址是:第七课在此 假设本教程有帮助到您,希望您能点击进去观看一下,并且如今注冊成 ... 
- 【Cocos游戏实战】功夫小子第五课之帮助场景和选关功能的实现
		功夫小子之帮助场景和选关功能的实现 转载请注明出处:http://blog.csdn.net/suool/article/details/46661231 本节课的视频教程地址是: hmsr=teac ... 
- 【C语言探索之旅】 第一部分第八课:第一个C语言小游戏
		 内容简介 1.课程大纲 2.第一部分第八课:第一个C语言小游戏 3.第一部分第九课预告: 函数 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写 ... 
- 【C语言探索之旅】 第二部分第八课:动态分配
		内容简介 1.课程大纲 2.第二部分第八课: 动态分配 3.第二部分第九课预告: 实战“悬挂小人”游戏 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言 ... 
- NeHe OpenGL教程 第四十八课:轨迹球
		转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ... 
- (转载)Android项目实战(二十八):使用Zxing实现二维码及优化实例
		Android项目实战(二十八):使用Zxing实现二维码及优化实例 作者:听着music睡 字体:[增加 减小] 类型:转载 时间:2016-11-21我要评论 这篇文章主要介绍了Android项目 ... 
- Android快乐贪吃蛇游戏实战项目开发教程-01项目概述与目录
		一.项目简介 贪吃蛇是一个很经典的游戏,也很适合用来学习.本教程将和大家一起做一个Android版的贪吃蛇游戏. 我已经将做好的案例上传到了应用宝,无病毒.无广告,大家可以放心下载下来把玩一下.应用宝 ... 
- Kali Linux Web 渗透测试视频教程— 第八课 nessus
		Kali Linux Web 渗透测试视频教程— 第八课 nessus 文/玄魂 视频课程地址:http://edu.51cto.com/course/course_id-1887.html 目录 n ... 
- Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-1
		学习目标 一.进一步学习Swift的游戏制作 二.掌握SKNode,SKSpriteNode的运用 三.了解SpriteKit的物理系统 四.掌握动作(SKAction)的运用 在这一章,我们要通过制 ... 
随机推荐
- http://www.binghe.org/2010/03/use-httpsurlconnection-in-java/
			http://www.binghe.org/2010/03/use-httpsurlconnection-in-java/ 
- (转)MFC的GUI窗口使用Console输出函数printf
			原文链接 在GUI程序中使用printf函数: #include <io.h> #include <fcntl.h> void InitConsole() { ; FILE* ... 
- angularJS 中的two-way data binding.
			原文: https://stackoverflow.com/questions/11616636/how-to-do-two-way-filtering-in-angularjs ---------- ... 
- Unity3D教程宝典之Web服务器篇:(第三讲)PHP的Hello World
			转载自风宇冲Unity3D教程学院 引言:PHP是比较简单的编程语言,即使没接触过的也可以现学现用.PHP教程文档PHP100视频教程 Unity接 ... 
- 【转】Python——编码规范
			来自于 啄木鸟社区 Python Coding Rule --- hoxide 初译 dreamingk 校对发布 040724 --- xyb 重新排版 040915 --- ZoomQuiet M ... 
- 《深入PHP:面向对象、模式与实践》(一)
			第1章 PHP:设计与管理 本章主要介绍了本书有哪些内容. 第2章 PHP与对象 本章总结了PHP面向对象特性的发展过程,逐步介绍对象的概念. PHP/FI:支持变量.关联数组和函数.没有对象. ... 
- Android开发SDK接入机智云,智能家居实现APP远程控制多设备
			代码地址如下:http://www.demodashi.com/demo/12847.html 一.前言. 此框架只用了一周星期做了出来,因为对机智云的框架比较熟悉了 !期间SDK初始化出了问题,去咨 ... 
- 冲销会计凭证:FBRP与FB08的区别
			FBRA一般是用来对已经清帐的凭证进行冲销的,我们知道普通的冲销只要用FB08就可以了,但是对于已经被清帐和凭证,我们只能用FBRA来进行清帐,我们来按以下的没测试来做验证一下.STEP1:用F-22 ... 
- 知也atitit.解决struts2 SpringObjectFactory.getClassInstance NullPointerException  v2 q31无涯 - I
			atitit.解决struts2 SpringObjectFactory.getClassInstance NullPointerExceptionv2 q31 1. #--现象 java.lang. ... 
- Atitit..net clr il指令集 以及指令分类  与指令详细说明
			Atitit..net clr il指令集 以及指令分类 与指令详细说明 1.1. .NET CLR 和 Java VM 都是堆叠式虚拟机器(Stack-Based VM), 1 1.2. 查看工具 ... 
