【Cocos游戏实战】功夫小子第八课之游戏打包和相关问题说明

原创 2015年07月29日 16:12:25

至此,功夫小子系列的Cocos2d-x的实战文章就结束了。


源码地址: https://github.com/SuooL/KungfuBoy


如需要资源请邮件我 1020935219@qq.com


再次贴个目录以便检索:

功夫小子专栏地址:http://blog.csdn.net/column/details/suoolcocoshit.html点击打开链接


【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文件:


/****************************************************************************
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游戏实战】功夫小子第二课之基础类分析和实现

本节课的视频教程地址是:第二课在此 在开始第二节课之前,这里需要声明的是, 首先:本系列课程是为了结合Cocos2d-x 3.x 的基本组件和核心模块的学习而制作的,开发所使用的版本是3.0,但是...
  • hu1020935219
  • hu1020935219
  • 2015年05月29日 22:58
  • 3635

【Cocos游戏实战】功夫小子第六课之游戏主功能场景的分析和实现

经过前面五节课的学习我们目前还剩的未完成的工作就是游戏的核心场景——游戏场景。这节课我们就来学习如何实现游戏的核心场景。(核心场景的逻辑功能完成放在下一课。) 根据我们在第一课中对整个核心游戏场景的...
  • hu1020935219
  • hu1020935219
  • 2015年07月12日 16:47
  • 3165

cocos2dx《功夫小子》游戏截图

  • niehanmin
  • niehanmin
  • 2018年02月21日 09:30
  • 22

Cocos2d-x游戏暂停、继续游戏、重新开始界面的实现---之游戏开发《赵云要格斗》(10)

本文要实现游戏中的暂停、重新开始。将当前界面截图,然后用这张图去构造一个层(以这张图为背景),然后加个按钮,主界面点暂停时,pushScene(),然后转到游戏暂停界面,当在游戏暂停界面点继续游戏po...
  • Evankaka
  • Evankaka
  • 2015年01月21日 00:07
  • 11279

游戏面试题库(1)

最近又要开始找工作了,虽然已经做了1年多的游戏开发,但是面试关还是十分担心,因为毕竟是有时间限制和心理压力的,所以找了点面试题做了做,不足的地方希望大家指点。一、实模式与保护模式。为什么要设计这两种模...
  • yinqing_yx
  • yinqing_yx
  • 2008年02月23日 13:30
  • 796

【Cocos游戏实战】功夫小子第四课之设置功能和图籍场景的实现

第三课我们学习了过渡场景和主开始菜单的分析和实现。这节课我们讲学习下如何实现主...
  • hu1020935219
  • hu1020935219
  • 2015年06月18日 22:34
  • 1822

git深入了解

刚开始学习git时 只是记载下git常用指令,但是却不是很理解其中的含义下面,我就来说说我的理解 当然在了解之前我们说一下 工作区:就是你在电脑里能看到的目录。 stage区:一般存放在 “.g...
  • drdongshiye
  • drdongshiye
  • 2017年12月20日 17:47
  • 70

Unity 5实战 使用C#和Unity开发多平台游戏pdf

下载地址:城通网盘  作者简介编辑 Joseph Hocking是一位交互式媒体开发方面的软件工程师。他就职于Synapse Games公司并在芝加哥哥伦比亚学院教授游戏开发课程。[1] " src=...
  • cf406061841
  • cf406061841
  • 2017年08月25日 18:15
  • 743

Cocos2d-x3.0游戏实例《别救我》目录导航(共10篇,已完结)

这个5.1假期还真不错,有个小惊喜,那就是,我某个游戏今天的下载量爆表了,突破历史最高点~! 于是,我决定写一个新的游戏实例教程,以示庆祝~   啊才怪啊~!这教程5.1之前就在写了,我还因此暂停了差...
  • musicvs
  • musicvs
  • 2014年05月03日 17:40
  • 12450

SQL优化总结---百万数据

网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。 这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感...
  • drdongshiye
  • drdongshiye
  • 2017年11月22日 16:11
  • 87
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Cocos游戏实战】功夫小子第八课之游戏打包和相关问题说明
举报原因:
原因补充:

(最多只允许输入30个字)