![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
cocos2d-x游戏开发
文章平均质量分 75
zhoujianghai
程序员一枚,喜欢摄影,喜欢爬山,喜欢玩游戏。
展开
-
cocos2d-x学习笔记-CCSprite(精灵)
精灵是游戏中十分重要的组成部分,随处可见,如:游戏背景、NPC、人物、道具等。在cocos2d-x引擎中,只要是用图片展示的,基本上需要使用精灵类。1. 首先来了解一下跟精灵相关的几个类:(1) CCTexture2D可以把它看成一个纹理,它是cocos2d-x渲染图形的重要参数,用来贴图,因为cocos2d-x使用opengl es绘制2d图形的,它的尺寸是2的n次方。一般通过以原创 2012-10-30 08:38:43 · 1773 阅读 · 1 评论 -
cocos2d-x学习笔记-CCAction(动作)
上一篇我们学习了CCNode类(实体),但游戏单单只有静止不动的实体肯定不行,得让它们执行一些动作,有丰富的动画效果,CCAction及它的子类就是起着这样的作用,它是通过改变这些实体的属性实现的,下面是它的类结构图。从结构图可以看出,动作类的基类是CCAction,通过继承它可以实现很多种动作。CCFiniteTimeAction:有限次动作执行类,就是按时间顺序执行一系列动原创 2012-10-29 00:31:05 · 1055 阅读 · 0 评论 -
cocos2dx-2.0.3+win7下移植TestCpp到android平台
coocs2dx2.x版本跟1.0版本还是有些区别的,相关API和移植方法都改变了,1.x版本的移植可以参考这篇博文。(1)首先使用eclipse新建一个Android Project,选择Android Project from Existing Code,Root Directory:cocos2dx安装目录\samples\TestCpp\proj.android,然后Finish。原创 2012-11-18 20:07:56 · 1366 阅读 · 0 评论 -
cocos2d-x 2.0版本 自适应屏幕分辨率
我使用的版本是cocos2d-2.0-x-2.0.4,cocos2dx-2.0版本对多分辨率适配提供了很好的支持,使用起来比1.0版本要简单些,1.0版本的适配可以参考这篇博文。1. 做2.0版本的适配首先需要了解下面这些知识。(1)适配策略2.0版本提供了三种适配策略:kResolutionNoBorder:超出屏幕的部分会被裁剪,两侧没有黑边,铺满屏幕,按图片原始比例显示,图片原创 2012-12-16 10:53:30 · 1135 阅读 · 0 评论 -
cocos2d-x-使用fopen函数读取assets里的内容导致crash
最近把win32和ios上运行成功的游戏移植到android时,程序直接挂了,查到原因是:使用fopen读取assets里的数据会导致应用crash,因为数据已经被压缩打包进apk文件里了。解决办法:1.使用cocos2d-x提供的CCFileUtils工具类2.把assets中的文件读取出来复制到/data/data/you_app_packagename/或者sd卡目录下,然后再使原创 2012-12-16 10:29:59 · 1591 阅读 · 0 评论 -
cocos2d-x 1.0版本 自适应屏幕分辨率
最近需要把IOS上的一款游戏移植到Android平台,该游戏使用的cocos2d-x版本是cocos2d-1.0.1-x-0.12.0,由于美术太忙,没法提供android平台的图片,没办法暂时就只能用ipad的图片了,图片的尺寸是1024×768。我想要实现的效果是:图片资源能根据手机实际的分辨率自动缩放,由于只有一套图片没法在各分辨率全屏显示,可以接受两侧留黑边。在网上找到一个不错的实现方案,原创 2012-12-16 10:42:32 · 618 阅读 · 0 评论 -
cocos2d-x 通过JNI实现c/c++和Android的java层函数互调
本文主要实现两个功能:(1)通过Android sdk的API得到应用程序的包名(PackageName),然后传递给c++层函数。(2)通过c++函数调用Android的java层函数,显示一个对话框,点击按钮退出程序。1. 首先来简单学习一下JNI的相关知识,我这篇文章中简单实现了怎么在Android Java层调用c++函数。要想使用JNI,必须得包含头文件,android是原创 2012-12-16 11:07:56 · 1660 阅读 · 2 评论 -
cocos2d-x CCScrollView和CCTableView的使用
在游戏和应用中经常要实现左右滑动展示游戏帮助、以列表显示内容的UI效果,就像android中的Gallery和ListView。本文通过CCScrollView和CCTableView分别来实现这两个效果,基于cocos2d-x 2.0.4版本。首先来简单了解一下这两个东东,CCScrollView本身是一个CCLayer,而CCTableView是CCScrollView的子类,这是引擎已经原创 2013-01-08 23:12:21 · 1615 阅读 · 0 评论 -
cocos2d-x入门(2)-实现一个简单的游戏SimpleGame
这个游戏是cocos2d-x官网上的一个demo,作为新手入门是个非常不错的例子,为了学习,接下来把这个demo在win32下重新实现一遍,开发工具使用vs2010,最后移植到android平台。游戏中的图片和音乐资源可以在https://github.com/flyingpacer/Cocos2dxSimpleGame获取。下面简单介绍一下cocos2d-x的基本对象和这个游戏用到的相关原创 2012-10-27 11:22:48 · 1322 阅读 · 0 评论 -
cocos2d-x入门(3)-添加一个英雄和一群移动的敌人
1. 首先创建一个Cocos2d-win32 Application,名为SimpleGame,这里不需要物理引擎,所以去掉Box2D选项。具体方法在(win7下vs2010+cocos2d-x配置图文详解)这篇文章里已经介绍了。2. 创建一个GameScene.h头文件和对应的源文件GameScene.cpp代码如下:GameScene.h#ifndef __GAME_SCENE_H原创 2012-10-27 11:25:41 · 802 阅读 · 0 评论 -
cocos2d-x入门(4)-英雄发射子弹和碰撞检测
现在来让我们的英雄发射子弹,主要需要监听屏幕触摸事件,根据触摸点的坐标和英雄的位置决定子弹行走路线。然后对子弹和屏幕上的敌人进行碰撞检测,若击中敌人则把子弹和敌人都从该层清除。在头文件GameScene.h中添加如下代码:void update(cocos2d::ccTime dt); void ccTouchesEnded(cocos2d::CCSet *touches,原创 2012-10-27 11:29:06 · 754 阅读 · 0 评论 -
cocos2d-x学习笔记-动画
这一篇来学习怎么使用cocos2d-x引擎播放帧动画,就是把一帧一帧的图片像电影那样显示出来。1. 首先来了解一下相关的类CCAnimation:是精灵用来播放动画的参数,内部封装了一个帧序列(CCMutableArray)和每帧播放间隔时间(float m_fDelay),初始化该对象时记得指定delay时间,否则默认是0。CCAnimationCache:从名字很容易看出,原创 2012-10-31 03:20:48 · 1090 阅读 · 0 评论 -
cocos2d-x学习笔记-纹理优化
转载自:红孩儿的游戏编程之路CSDN博客地址:http://blog.csdn.net/honghaier在目前的移动平台游戏开发过程中,很多朋友会遇到开发出来的DEMO占用内存过大,导致渲染效率低下的问题。究其原因,是由硬件本身和软件逻辑两方面的因素造成的。在硬件上,移动设备往往可用内存相比于PC还比较小,所以所能使用的内存就少。在软件逻辑上,大量使用大图片导致占用内存过大,以及过多单图转载 2012-10-31 15:14:55 · 758 阅读 · 0 评论 -
cocos2d-x学习笔记-触屏事件详解
游戏跟视频最大的区别就是互动,玩家可以操控游戏中的角色,现在的移动设备几乎人手一台,基本上全部都是基于触屏操作的,今天就来学习一下cocos2d-x是怎么实现对触屏操作的处理的。1.首先来了解一下相关的几个类、处理触屏事件时操作和执行的流程CCTouch:它封装了触摸点,可以通过locationInView函数返回一个CCPoint。CCTouchDelegate:它是触摸事件委托,就原创 2012-10-30 00:34:39 · 1714 阅读 · 0 评论 -
cocos2d-x学习笔记-CCMenu和CCMenuItem详解
学习cocos2d-x中的菜单主要需要了解:菜单(CCMenu)和菜单项(CCMenuItem)以及CCMenuItem的具体子类。a. 下面来学习一下相关的类。1. CCMenu菜单,是CCLayer的子类,是一个层(容器),可以往里面添加菜单项。下面是它的类结构图:CCMenu默认接受触屏事件的优先级是-128(优先级很高,因为值越小,响应触屏事件的优先级越高),可原创 2012-11-04 00:35:33 · 1794 阅读 · 0 评论 -
cocos2d-x入门(7)-win7下把win32游戏移植到Android平台(无需cygwin和minigw)
接下来需要把win32上测试成功的demo移植到android上运行。首先需要下载最新ndk和eclipse,因为本项目完全使用NDK自带的编译器,没有用到cygwin ,所以需要NDK R7B 以上的版本。步骤如下:(1)把cocos2d-x安装目录下的HelloWorld项目下的android文件夹赋值到SimpleGame项目下。(2)把HelloWorld项目C原创 2012-10-27 11:45:38 · 834 阅读 · 0 评论 -
cocos2d-x入门(1)-win7下vs2010+cocos2d-x配置图文详解
cocos2d-x在win7下的配置网上也有很多资料,但是还是想自己整理一篇备参考,首先你的机器上得先装了vs2010.1. 下载安装cocos2d-x最新稳定版本选择一个版本下载,下载后解压到指定目录。找到安装目录下的cocos2d-win32.vc2010.sln文件并双击,如下图。2. 右键点击解决方案,再点击生成解决方案,大概需要几分钟的时间。(原创 2012-10-27 12:18:48 · 730 阅读 · 0 评论 -
cocos2d-x入门(5)-添加背景音乐和攻击音效
游戏没有背景音乐和音效会给游戏扣分不少,现在就给游戏添加背景音乐和发射子弹时的音效。Cocos2d-x已封装了SimpleAudioEngine,我们只要include进来直接调用就行,比较简单。GameScene.cpp头部添加:#include "SimpleAudioEngine.h"init()中添加播放背景音乐的功能:CocosDenshion::SimpleAudioEngin原创 2012-10-27 11:35:02 · 1039 阅读 · 0 评论 -
cocos2d-x学习笔记-CCNode
前面用cocos2d-x完成了一个简单的demo,已经对使用cocos2d-x开发游戏有了一个大概的认识,现在来学习cocos2d-x中的常用类CCNode。学习cocos2d-x应该先了解它的整体结构,从大方向出发再逐步掌握细节问题,分而治之。cocos2d-x的类采用的是树状继承的方式,CCNode类是一个比较核心的类,下图是类结构图:CCObject类是cocos2d-x原创 2012-10-27 12:23:03 · 859 阅读 · 0 评论 -
cocos2d-x 显示中文字符和解析XML文件
在cocos2d-x中直接显示中文的时候会出现乱码,虽然在实际开发中把字符串直接写在代码里也不是好的做法,但是有时候也是为了更方便了。本文采用两种方案来解决这个问题:1. 使用iconv,引擎也提供了这个库,不过只是win32平台,移植到android上还得自己去下载iconv库编译。2. 把字符串写到xml文件中,然后解析xml文件,格式按照android中的strings.xml原创 2013-01-26 15:58:47 · 1681 阅读 · 0 评论