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

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

再次贴个目录以便检索:

功夫小子专栏地址: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文件:

/****************************************************************************
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

我的联系方式在博客左侧栏有表示,如您有问题,欢迎一起学习交流~

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-16 14:42:26

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

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

本节课的视频教程地址是:第六课在此 如果本教程有帮助到您,希望您能点击进去观看一下,而且现在注册成为极客学院的会员,验证手机号码和邮箱号码会赠送三天的会员时间,手机端首次也可以领取五天的会员时间哦(即使是购买年会员目前也仅仅是年费260),成为极客学院学习会员可以无限制的下载和观看所有的学院网站的视频,谢谢您的支持! 转载请注明出处:http://blog.csdn.net/suool/article/details/46851335 前言 经过前面五节课的学习我们目前还剩的未完成的工作就是游戏

【Cocos游戏实战】功夫小子第七课之游戏主功能场景逻辑功能和暂停功能场景的分析和实现

CSDN的markdown编辑器是吃屎了么! !.什么玩意.!写了一半写不了东西还全没了,搞个毛线! 本节课的视频教程地址是:第七课在此 假设本教程有帮助到您,希望您能点击进去观看一下,并且如今注冊成为极客学院的会员,能够免费领取30天学习时间,免费拿极客学院VIP,1000+高清视频.学习Android.HTML5.iOS各种开发技术,限时领取.手快的戳:http://e.jikexueyuan.com/invite/index.html?ZnJvbV9jb2RlPVkxblJUZSZ1bmF

【Cocos游戏实战】功夫小子第五课之帮助场景和选关功能的实现

功夫小子之帮助场景和选关功能的实现 转载请注明出处:http://blog.csdn.net/suool/article/details/46661231 本节课的视频教程地址是: 第五课在此 如果本教程有帮助到您,希望您能点击进去观看一下,而且现在注册成为极客学院的会员,即日起至7月1日,极客学院的 VIP 课程 30 天免费体验,想学编程的小伙伴速来,只针对新用户:http://e.jikexueyuan.com/invite/index.html?ZnJvbV9jb2RlPVkxblJUZ

HTML5游戏实战之70行代码实现经典游戏《伐木工》

伐木工游戏大家都玩过,今天介绍它在TangIDE上的实现方式,大概70行左右代码. 这个版本的伐木工,是为麦当劳定制的,放了一些麦当劳的一些产品. 先show一下最终的成果,您可以点这里玩,或者手机扫描二维码: 当然如果您想在线编辑此游戏,点这里. 在开始介绍游戏开发步骤前,先打个广告,对html5游戏开发,TangIDE 或者Cantk 感兴趣的朋友请扫描下方二维码,加入七巧板官方QQ交流群,一起交流做html5游戏的乐趣,群主正是Cantk作者李先静老师. 相信经过一段时间的训练,每天做1-

【Cocos游戏实战】功夫小子第三课之过渡场景和開始菜单的实现

本节课的视频教程地址是:第三课在此 假设本教程有帮助到您,希望您能点击进去观看一下,并且如今注冊成为极客学院的会员,验证手机号码和邮箱号码会赠送三天的会员时间,手机端首次也能够领取五天的会员时间哦(即使是购买年会员眼下也不过年费260),成为极客学院学习会员能够无限制的下载和观看全部的学院站点的视频,谢谢您的支持! 经过前面两节课的学习.我们已经知道我们要做的是一个什么样的游戏项目.而且对游戏的基本特点和当中的重难点有了一个主要的认识,而且完毕了项目环境的基本搭建.以及项目基础类等工作. 从这节

【Cocos游戏实战】功夫小子第三课之过渡场景和开始菜单的实现

本节课的视频教程地址是:第三课在此 如果本教程有帮助到您,希望您能点击进去观看一下,而且现在注册成为极客学院的会员,验证手机号码和邮箱号码会赠送三天的会员时间,手机端首次也可以领取五天的会员时间哦(即使是购买年会员目前也仅仅是年费260),成为极客学院学习会员可以无限制的下载和观看所有的学院网站的视频,谢谢您的支持! 经过前面两节课的学习,我们已经知道我们要做的是一个什么样的游戏项目,并且对游戏的基本特点和其中的重难点有了一个基本的认识,并且完成了项目环境的基本搭建,以及项目基础类等工作. 从这

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

转载请注明出处:http://blog.csdn.net/suool/article/details/46553463 本节课的视频教程地址是: 第四课在此 如果本教程有帮助到您,希望您能点击进去观看一下,而且现在注册成为极客学院的会员,验证手机号码和邮箱号码会赠送三天的会员时间,手机端首次也可以领取五天的会员时间哦(即使是购买年会员目前也仅仅是年费260),成为极客学院学习会员可以无限制的下载和观看所有的学院网站的视频,谢谢您的支持! 第三课我们学习了过渡场景和主开始菜单的分析和实现.这节课我

【Cocos Creator 实战教程(2)】——天天酷跑(动画、动作相关)

转载请保留原文链接,个人公众号:xinshouit(新手程序员),欢迎关注 准备工作 把背景图拉长,很长很长的那种....一会我们要让它滑动起来 背景动画 为背景节点添加滚动动画 现在背景就循环滚动起来了(图是我后来截的,这步猴哥还没登场呢) 猴哥动画 导弹动画 这里我们要添加两个Clip,一个是高空导弹,一个是低空导弹 这里我们要给导弹加几个帧事件,在导弹导弹猴哥头上的几个帧上添加judgeDown事件,当导弹到达猴哥头上,猴哥还没低头,那就游戏结束,低空导弹同理,需要猴哥跳起 结束场景 游戏

【Cocos游戏实战】功夫小子第一课需求分析概要和开发环境的基本配

第一课的视频教程在此处. 在开发一个手机游戏之前,我们要首先分析一个游戏的基本特点,包括游戏的基本角色和属性,以及游戏的基本功能,游戏的基本规则,将整个游戏的基本流程画出来. 然后在对我们游戏的核心场景进行分析,找出我们游戏中的难点和重点,对其分解. 游戏的部分效果图如下: 游戏的基本流程和分层如下: 核心场景分析: 详细的视频分析请参照此视频教程,视频教程在此处.谢谢点击啦! :)