【Cocos2d-X-2.1.4游戏引擎】发布第一个游戏

2023-05-16


有一段时间没更新博客了,最近一直在写一个小游戏,游戏在今天终于搞好了,又可以开始写写博客,打打dota的悠闲的日子了哈。

看了十几天cocos2d-x后,也依照官网的例子写了个打飞机的小游戏并自己扩展了一下,但是还是不够,对很多学习的东西都是很快忘记,感觉还是需要动手实践,于是自己就花了七天时间,整整的,写了这个游戏《七十一海·梦》,这也是我作为独立个人开发者的第一款游戏,哈哈。其实游戏内容挺简单,但是把自己之前看到的知识都使用了一遍,并且自己又摸索了一些新东西。


游戏截图






欢迎大家下载试玩哈哈,做游戏的人最大的乐趣就是有人在玩游戏哈哈。

腾讯应用宝

              点这里下载

百度网盘

              戳我下载游戏


如果您想表达一下对我的支持或鼓励,请点击一下游戏里上面的广告哈哈

插的广告大多是百度QQ什么的APP推荐吧,我看到的都是用户量比较大的,大家有需要的可以通过这里下载

 

游戏问题

在开发的过程中,自己遇到了挺多问题,也学到了很多东西,在这里总结一下,也希望可以帮助到初学的朋友们。

1.cygwin编译出错

移植到Android我使用cygwin编译的,发现Android对C++语法要求还是挺严格的,有一点不合适的地方就会报错。比如我有次在CCharacter类的头文件里定义

void CCharacter::setXX()

这在cygwin编译的时候就会报错

必须是void setXX()

还有有可变参数的也可能会出问题,我使用了类似于CCString::createWithFormat,它跟sprintf类似,一般像(”abc%d”,i)这样用,但是如果不含有可变参数,(”abc”)这样看起来是没问题的,在win32上确实也是正常的,但是编译的过程中就会报错,和上面报的是一样的原因。

这个错误其实挺容易发现,因为cygwin报错会定位到相应行,自己看下就会发现不同点。

 

2.Android闪退

我之前从来没有写过Android程序,遇到Android在特定的场景闪退一下子感觉就很无力,不知道该怎么办。上网查了下,很多人说游戏闪退可能是不兼容或者是内存占用太高,我想了下觉得有可能,因为我的游戏使用资源太多,为了保证流畅,在刚开始就全部加载了,在巅峰期大概会占用80M内存。但是我尝试着把大文件都换成小地图后仍然发生闪退现象,这个纠结了一上午都没搞定,一开始总是觉得是自己代码写的有问题,怀疑是什么指针神马的,但是又不知道为什么在Win32上行,Android上不行。又搞不清Win32和Android的区别,就只好先放下了,继续往后做。在一次添加新资源的时候偶然发现自己使用了一张图片名称为BtnNormal.png,但是程序中写的是btnNormal.png,改成相同的就正常了,也就是说Windows不区分文件名称的大小写,而Android是要区分的,这一点特别要注意。同时我也知道了如果缺少资源文件的话,Android是会闪退的。

 

3.TiledMap Editor

瓷砖地图编辑器是个好东西,一方面可以用很少的图元拼接起大地图,节省内存,另外也可以很方便的用来进行障碍物判定。但是有时候我用地图编辑器编辑好地图之后,在程序中使用会使程序崩溃,在调试状态下,会输出错误信息,具体的已经忘了,好像是说一个格子贴了好几张瓷砖图,原因是在同一图层中使用了多个纹理,所以如果需要使用多张纹理的话,可以为每张纹理建立一个图层,或者把他们拼接在一张图里。另外,利用Tiled Map可以实现层次效果哦,就是人物在背景的上面行走,但是可以被树木遮挡。

 


新东西

1.TexturePackerGUI

这个是把纹理拼接起来的工具,可以免费试用一星期,等用完了之后就需要购买licence或者用选择免费版。但是免费版特别坑爹,高级的算法不可以使用,而且生成的图上面会多出一些乱七八糟的东西,根本就不能用!不过作者是个大好人,在官网下方有链接可以请求licence,我中午11点给他发的邮件,下午5点就收到了他发来的licence。请求的条件就是有自己的博客。

 

2.Visual Leak Detector

这个真心是个好东西,之前因为自己写程序少,内存泄露什么的自己注意下就可以了。但是cocos2d-x的内存管理自己还是晕晕乎乎的,总是会有内存泄露,这个工具就可以帮助我们检测是否有内存泄露,并且会输出内存申请的情况,会指出有多少处内存泄露,泄露的容量等等,并且可以定位到泄露内存申请的地方,非常好,而且安装简单,使用极其方便!


3.BMFont

在程序中要是想使用自定义的字体,可以直接加入字体文件,但是那样太大了,我们在程序中可能只使用到很少的字,那就可以使用BMFont了。使用很方便,但是我在用的时候出了问题,显示不出来中文,英文正常,但是到了晚上又正常了,我也不知道我动了哪里,感觉上是没走什么的,囧。。。


4.中文输出

可以使用编码转换函数什么的解决中文乱码的问题,也可以通过解析xml文件来输出中文,比较简单,百度一下即是。


5.插入广告

这次做这个东西我打算把它上线,体验一遍完整的流程,为以后做下准备,所以我打算也插入广告。我是使用的芒果聚合,它是一个广告聚合平台,可以选择好几家的广告平台按比例展示广告,虽然我最后也只是用了有米的广告。使用方法在芒果的文档里说的非常清楚,这也是我用它的一个重要原因,而且使用也超级简单,第一次做的朋友建议使用它们练练手,要做一定要按照官方文档里的一步一步来,否则很可能会能正常显示广告,但是不会统计点击数。

 

这个游戏本来自己打算写成两部分的,陆地篇和海洋篇,但是自己一个人写了几天之后实在是心力交瘁,累的不行了都,又要写程序,又要找图P图,还要写剧情策划,还有蛋疼的数值调整,所以只写了陆地篇,就叫《七十一海·梦》,等下次再写海洋篇,叫《七十一海·路》好了,哈哈。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Cocos2d-X-2.1.4游戏引擎】发布第一个游戏 的相关文章

  • openshift/origin学习记录(0)——Ansible安装多节点openshift集群

    本节内容是基于Ansible Playbook自动部署openshift集群 xff0c 之后几节内容会通过一个AllInOne的集群手动添加组件 xff0c 研究实现的流程 本部分内容是3 6 0 xff0c 可能不适用3 6 1 xff
  • openshift/origin学习记录(9)——S2I镜像定制(基于Git)

    参考 开源容器云Openshift 一书 xff0c 制作一个Tomcat的S2I镜像 xff08 从Git下载代码 xff0c Maven打包 xff0c 部署到Tomcat上 xff09 从Svn下载代码的S2I镜像可以参考https
  • Docker学习记录(4)——docker pull默认从本地镜像仓库拉取镜像

    主机操作系统为Centos7 3 xff0c 内网环境下使用docker pull xff0c 直接从本地镜像仓库下载镜像 本地镜像仓库的搭建方法多样 xff0c 这里不做记录 我的本地镜像仓库的地址为master example com
  • Centos7.2学习记录(4)——调整root和home大小

    df h查看磁盘使用情况 备份 home文件夹下内容 span class hljs preprocessor cp r home homebak span 卸载 home span class hljs preprocessor umou
  • ubuntu的终端log怎么保存

    script screen log 之后再在终端的输入就被记在screen log exit 退出
  • HDU 1215 七夕节(约数之和)

    七夕节 Time Limit 2000 1000 MS Java Others Memory Limit 65536 32768 K Java Others Total Submission s 39837 Accepted Submiss
  • 为什么无穷大总是0x3f3f3f3f?

    转自 http aikilis tk 如果问题中各数据的范围明确 xff0c 那么无穷大的设定不是问题 xff0c 在不明确的情况下 xff0c 很多程序 员都取0x7fffffff作为无穷大 xff0c 因为这是32 bit int的最大
  • CSU 1333 & Uva 12661 Funny Car Racing【最短路变形+spfa算法,链式前向星建图】

    Funny Car Racing Memory Limit 131072KB64bit IO Format lld amp llu Status Description There is a funny car racing in a ci
  • 根据Oracle数据库scott模式下的scott.emp表和dept表,完成下列操作.

    题目要求 xff1a 根据Oracle数据库scott模式下的emp表和dept表 xff0c 完成下列操作 将scott用户解锁 xff1a alter user scott account unlock scott的初始密码是tiger
  • 【死磕 Java 集合】— ConcurrentSkipListMap源码分析

    转自 xff1a http cmsblogs com p 61 4773 隐藏目录 前情提要简介存储结构源码分析 主要内部类构造方法添加元素添加元素举例删除元素删除元素举例查找元素查找元素举例彩蛋 作者 xff1a 彤哥 出处 xff1a
  • STL-set (集合)之删除元素

    set概述 和vector list不同 xff0c set map都是关联式容器 set内部是基于红黑树实现的 插入和删除操作效率较高 xff0c 因为只需要修改相关指针而不用进行数据的移动 在进行数据删除操作后 xff0c 迭代器会不会
  • 经典算法之一:快速排序

    快速排序由于排序效率在同为O N logN 的几种排序方法中效率较高 xff0c 因此经常被采用 xff0c 再加上快速排序思想 分治法也确实实用 xff0c 因此很多软件公司的笔试面试 xff0c 包括像腾讯 xff0c 微软等知名IT公
  • 矩阵乘法测试

    对于时间的函数 gettimeofday 函数使用方法 xff1a http blog csdn net hurmishine article details 60326345 矩阵乘法测试 xff1a 代码 xff1a 1 为了试验简单
  • Python爬虫自动获取CSDN博客收藏文章

    CSDN的Python创意编程活动开始第一天就看到了 xff0c 但是认为自己是菜鸟 xff0c 就向当 吃瓜群众 xff0c 后来看到有好多人的代码是关于爬虫的 xff0c 当初我就是由于对爬虫 感兴趣才自学的Python 现在也打算参加
  • 全网最!详!细!Tarjan算法讲解。

    Tarjan算法讲解的博客网上找到三篇比较好的 现在都转载了 个人只研究了第一篇 正如博主所说 讲的标比较详细 清晰 剩下两篇也可以看一下 卿学姐视频讲解 https www bilibili com video av7330663 以下内
  • MFC计算机图形学(1)

    这学期上了计算机图形学 xff0c 用MFC来绘制简单的图形 下面就简单介绍一下用cv 43 43 来绘制图形 VC 43 43 安装 VC 43 43 我基本不用的 xff0c 平时写C C 43 43 的代码都用Code Blocks
  • MFC计算机图形学(2)

    这里呢 xff0c 先把上一讲的联系讲一下 一般人都用是一个一个的去画 xff0c 但是那样好麻烦 xff0c 计算机的有点就是容易处理重复的事情 xff0c 那就定义成一个画正方形函数吧 xff0c 每次调用就可以了 怎么自定义函数呢 x
  • MFC计算机图形学(3)

    之前我们已经可以画出直线和曲线了 但是算法虽容易理解 xff0c 但是复杂度高 xff0c 今天就介绍比较流行的DDA画线法 xff0c 还有 xff0c 对鼠标进行事件有所响应 xff0c 即 xff0c 在画板上 xff0c 鼠标左键单
  • Ubuntu18.04安装realsense viewer

    一 下载realsense安装包 mkdir p librealsense install cd librealsense install git clone b v2 31 0 https github com IntelRealSens
  • 用D435i录制自己的数据集运行ORBslam2并构建稠密点云

    一 录制rosbag 二 播放rosbag并用rviz查看topic xff0c 记下rgb和depth流话题名 三 用如下脚本 xff08 python2而不是3 xff09 保存rgb和depth图片同时生成rgb txt depth

随机推荐

  • Unrecoverable error: corrupted cluster config file.

    from https www cnblogs com topicjie p 7603227 html 缘起 正在欢乐的逗着孩子玩耍 xff0c 突然间来了一通电话 xff0c 值班人员告诉我误重启了一台服务器 xff0c 是我负责的服务 x
  • 树莓派3B+无屏幕和键盘配置树莓派WiFi和SSH

    前言 树莓派3B 43 安装系统Raspbian xff0c 默认的SSH是关闭的 xff0c 如何在无屏幕和键盘的情况下 xff0c 让笔记本通过WIFI访问树莓派 树莓派3B 43 发布后不久 xff0c 树莓派官方 Raspbian
  • ubuntu分区设置

    ubuntu分区设置 swap区 xff1a 逻辑分区 xff0c 虚拟内存类似 xff0c 大小和电脑内存一样大 xff1b boot区 xff1a 主分区 xff0c 引导系统的 xff0c 分配200M 500M xff0c 条件好些
  • 图像系统概述和名词解析

    图像系统组成 光源 xff08 包含人造光 自然光 闪光灯 xff09 照到物体上 xff0c 光线反射进入成像系统 xff0c 经过镜头 xff08 对于变焦镜头有驱动马达调整镜片位置 xff0c 实现变焦 xff09 光圈 滤光片 快门
  • 海思IQ图像清晰度调试策略

    总策略 影响清晰度的关键指标 xff1a 锐度 噪点和gamma Gamma调试步骤 YUVsharpen锐度调试 LDCI局部对比度调节 Dehaze调节 去雾算法主要用在有场景中做处理 xff0c 调整图像的对比度使更加清 去雾算法主要
  • 海思ISP曝光调整策略

    AE曝光调整 Exposure Attr 影响参数 xff1a ExpTimeRange Min Max 曝光时间Gain 各种增益控制Speed 曝光速度 xff08 影响到曝光收敛 xff0c AE闪烁 xff09 Compensati
  • ADS(ARM Developer Suite)安装与卸载中的问题(转)

    ADS用来对ARM的裸机代码进行编辑和调试 我在安装ADS1 2的过程中 xff0c 遇到了一个小问题 xff0c 写下来和大家分享一下解决方法 1 在安装程序 xff0c 进度条到100 时 xff0c 会一直停在那 xff0c 十几分钟
  • ucosIII 学习资料汇总

    网站 书籍 1 嵌入式实时操作系统uc OS III 邵贝贝译 这本书其实就是一本工具书 xff0c 我参考了官方的说明文档 xff0c 发现雷同很高 感觉就是官方说明文档翻译的 xff0c 用来应用查查接口还有点用 xff0c 不是十分推
  • USB协议传输结构

    USB作为数据通信标准 xff0c 固件可分为枚举配置和类协议部分 xff0c 枚举配置实现USB主机对设备的枚举和配置 xff0c 类协议实现设备各自的数据传输 usb2 0协议chapter8 protocol layer 1 USB协
  • 蓝牙HCI协议

    HCI 层位于蓝牙高层协议和低层协议之间 xff0c 提供了对基带控制器和链路管理器的命令以及访问蓝牙硬件的统一接口 它是我们实现自己的蓝牙设备要接触的第一个蓝牙协议 起着承上启下的作用 HCI通过包的方式来传送数据 命令和事件的 xff0
  • 标准USB设备请求命令

    一 标准的usb设备请求命令 控制传输是最重要和结构最复杂的一种传输类型 控制传输的 初始设置步骤 中包含了1 个8 字节的DATA0 数据包 参见图6 6 这8 字节的数据包是主机用来发送控制阶段中的请求命令的 而这些请求命令是主机配置U
  • 卡尔曼滤波基本公式推导(高斯乘积法)

    前言 卡尔曼滤波的推导这里给出两种推导方法 xff1a 一种是利用高斯乘积定理和贝叶斯公式推导出来 的 xff0c 另一种借用的是最小误差的思想 xff08 IMSE xff09 关于卡尔曼滤波的应用场景以及通俗的解释 xff0c 我相信各
  • 计算机组成原理(唐朔飞)

    计算机组成原理 唐朔飞 存储器 存储器分类 存储介质分类 半导体存储器磁表面存储器磁芯存储器 淘汰 存储方式 存储结构 存储器容量 地址总线 xff1a CPU能访问的地址宽度 xff0c 32地址线表示能访问2的32次方个存储单元地址 数
  • ubuntu配置静态IP、DNS地址

    虚拟机需要使用桥接上网 1 ifconfig 查看网卡信息 2 vi etc network interfaces 打开并编辑配置文件 配置说明 xff1a auto lo iface lo inet loopback auto ens33
  • c调用libcurl库发送GET 和 POST请求

    libcrul请求的基本套路流程 1 调用curl global init 初始化libcurl2 调用curl easy init 函数得到 easy interface型指针3 调用curl easy setopt 设置传输选项4 根据
  • LINUX 操作GPIO口

    两种方法 1 写驱动的方式 缺 2 通过linux提供的用户空间 终端控制 通过在用户空间上来操作GPIO xff0c 控制入口在 xff1a sys class gpio 首先确认内核里是否已选择上gpiolib的sysfs接口功能 默认
  • V4L2简介

    http work blog readthedocs org en latest v4l2 20intro html 第一章 V4L2简介 1 1 什么是v4l2 V4L2 xff08 Video4Linux的缩写 xff09 是Linux
  • 电子设计项目

    全套完整毕业设计智能家居控制系统设计 16X16点阵滚动显示 单片机595 43 138LED点阵 基于WIFI传输的单片机传感器设计 xff08 毕业论文 xff09 基于单片机设计的多点测温系统 数码管显示温度 基于单片机设计的公交报站
  • 视觉惯导里程计VIO综述

    最近阅读了VIO中的一些论文 xff0c 在这里做个汇总方便以后查阅 xff0c 如有问题欢迎指正 一 背景 VIO xff08 Visual Inertial Odometry xff09 视觉惯导里程计 xff0c VINS xff08
  • 【Cocos2d-X-2.1.4游戏引擎】发布第一个游戏

    有一段时间没更新博客了 xff0c 最近一直在写一个小游戏 xff0c 游戏在今天终于搞好了 xff0c 又可以开始写写博客 xff0c 打打dota的悠闲的日子了哈 看了十几天cocos2d x后 xff0c 也依照官网的例子写了个打飞机