智慧 + 毅力 = 无所不能

正确性、健壮性、可靠性、效率、易用性、可读性、可复用性、兼容性、可移植性...
随笔 - 991, 文章 - 0, 评论 - 27, 阅读 - 341万

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

随笔分类 -  Cocos2d-x 基础

摘要:转自:http://blog.csdn.net/qq51931373/article/details/91191611.通常情况下用PVR格式的文件来进行图片显示的时候,在运行速度和内存消耗方面都要比PNG格式要快和小。一般情况下PVR消耗的内存比PNG消耗的内存小25%左右。PVR格式可以用ZWoptex导出。PVR是apple芯片能直接读取和显示的文件.2.图片抗锯齿处理。图片放大时的处理:图片在放大的时候会出现锯齿。纹理类提供了setAntiAliasTexParameters()函数来处理抗锯齿。当图片放大的时候会使用相邻的四个像素进行混合运算。从而消除锯齿。但是会让图片产生模糊的感觉 阅读全文

posted @ 2013-07-10 20:59 Bill Yuan 编辑

摘要:转自:http://codingnow.cn/cocos2d-x/832.html学习cocos2d-x中的菜单主要需要了解:菜单(CCMenu)和菜单项(CCMenuItem)以及CCMenuItem的具体子类。a. 下面来学习一下相关的类。1. CCMenu菜单,是CCLayer的子类,是一个层(容器),可以往里面添加菜单项。下面是它的类结构图:CCMenu默认接受触屏事件的优先级是-128(优先级很高,因为值越小,响应触屏事件的优先级越高),可以通过继承它实现自定义的效果,创建CCMenu对象的函数:static CCMenu* menuWithItems(CCMenuItem* ite 阅读全文

posted @ 2013-07-09 18:02 Bill Yuan 编辑

摘要:转自:http://codingnow.cn/cocos2d-x/1024.html在游戏和应用中经常要实现左右滑动展示游戏帮助、以列表显示内容的UI效果,就像android中的Gallery和ListView。本文通过CCScrollView和CCTableView分别来实现这两个效果,基于cocos2d-x 2.0.4版本。首先来简单了解一下这两个东东,CCScrollView本身是一个CCLayer,而CCTableView是CCScrollView的子类,这是引擎已经帮我们封装好了的,CCTableView可以设置成横向和纵向,用它可以实现类似于Gallery和ListView的效果。 阅读全文

posted @ 2013-07-09 17:56 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/bill_man/article/details/72509111.CCRenderTexture使用CCRenderTexture的过程总结起来一句话,就是首先用begin方法来开始整个控制,采用节点中(比如CCSprite)的visit方法加入到渲染,最后调用end方法来结束整个控制并渲染。来看一个使用的例子//定义一个CCRenderTexture,参数为宽高m_pTarget = CCRenderTexture::renderTextureWithWidthAndHeight(s.width, s.height);//然后他也必须像节点一 阅读全文

posted @ 2013-07-09 17:51 Bill Yuan 编辑

摘要:转自:http://www.xinze.me/cocos2d-x-ccnotificationcenter/在前端开发中,JS和as3中都有很好的监听机制, 我们使用Event的addEventListener、dispatchEvent即可实现松耦合。 在尝试使用cocos2d-x的时候,我寻找这种事件机制。由于自己是不愿去再去写一些一定存在的代码, 就想去找网上找了, 第一想法,就是立马去看PureMvc – c++,这儿的观察者模式可以轻易实现松耦合,但是看了看,感觉在c++中使用有些麻烦,就放弃了。 在google中搜索,找到如何一篇文章:Generic Observer Patter 阅读全文

posted @ 2013-07-09 17:20 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/bill_man/article/details/8498424 可以根据一个模板切割图片的节点--CCClippingNode。这个类提供了一种不规则切割图片的方式,在这种方式以前,我们可以使用纹理类自带的setTextureRect函数来切割矩形区域,而新特性中提供的CCClippingNode最大的不同之处就是裁减将不仅仅局限于矩形,可以根据任何形状进行裁减,而你要做的只是给一个“裁减模板”,首先来看这个类的常用函数(需要说明的是,这里介绍的函数只是这个类独有的,这个类继承自CCNode节点类,因此节点类有的函数也就不做介绍了):getS. 阅读全文

posted @ 2013-07-09 17:08 Bill Yuan 编辑

摘要:转自:http://codingnow.cn/cocos2d-x/810.html这一篇来学习怎么使用cocos2d-x引擎播放帧动画,就是把一帧一帧的图片像电影那样显示出来。1. 首先来了解一下相关的类CCAnimation:是精灵用来播放动画的参数,内部封装了一个帧序列(CCMutableArray)和每帧播放间隔时间(float m_fDelay),初始化该对象时记得指定delay时间,否则默认是0。CCAnimationCache:从名字很容易看出,它是用来缓存CCAnimation的,内部封装了一个字典(CCMutableDictionary),是一个单例。使用实例:CCMutabl 阅读全文

posted @ 2013-07-09 15:53 Bill Yuan 编辑

摘要:转自:http://codingnow.cn/cocos2d-x/783.html游戏跟视频最大的区别就是互动,玩家可以操控游戏中的角色,现在的移动设备几乎人手一台,基本上全部都是基于触屏操作的,今天就来学习一下cocos2d-x是怎么实现对触屏操作的处理的。1.首先来了解一下相关的几个类、处理触屏事件时操作和执行的流程CCTouch:它封装了触摸点,可以通过locationInView函数返回一个CCPoint。CCTouchDelegate:它是触摸事件委托,就是系统捕捉到触摸事件后交由它或者它的子类处理,所以我们在处理触屏事件时,必须得继承它。它封装了下面这些处理触屏事件的函数:virt 阅读全文

posted @ 2013-07-09 15:36 Bill Yuan 编辑

摘要:转自:http://codingnow.cn/cocos2d-x/795.html精灵是游戏中十分重要的组成部分,随处可见,如:游戏背景、NPC、人物、道具等。在cocos2d-x引擎中,只要是用图片展示的,基本上需要使用精灵类。1. 首先来了解一下跟精灵相关的几个类:(1) CCTexture2D可以把它看成一个纹理,它是cocos2d-x渲染图形的重要参数,用来贴图,因为cocos2d-x使用opengl es绘制2d图形的,它的尺寸是2的n次方。一般通过以下方式获得:CCTexture2D* cache = CCTextureCache::sharedTextureCache()-> 阅读全文

posted @ 2013-07-09 10:33 Bill Yuan 编辑

摘要:转自:http://codingnow.cn/cocos2d-x/775.html从结构图可以看出,动作类的基类是CCAction,通过继承它可以实现很多种动作。 CCFiniteTimeAction:有限次动作执行类,就是按时间顺序执行一系列动作,执行完后动作结束; CCSpeed:调整实体(节点)的执行速度; CCFollow:可以使节点跟随指定的另一个节点移动。下面我们主要来学习CCFiniteTimeAction,这个类在平常的开发中很常见。CCFiniteTimeAction又分为CCActionInstanse(瞬时动作的基类)和CCActionInterval(延时动作的基... 阅读全文

posted @ 2013-07-08 20:41 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/honghaier/article/details/8222401序列帧动画主要有几个类: CCSpriteFrame:精灵帧信息,序列帧动画是依靠多个精灵帧信息来显示相应的纹理图像,一个精灵帧信息包包含了所使用的纹理,对应纹理块的位置以及纹理块是否经过旋转和偏移,这些信息可以取得对应纹理中正确的纹理块区域做为精灵帧显示的图像。 CCAnimationFrame:序列帧动画单帧信息,它存储了对应的精灵帧信息。 CCAnimation:序列帧动画信息,它存储了所有的单帧信息,可以对单帧信息进行管理。 CCAnimate:序列帧动画处理类,它是真正完 阅读全文

posted @ 2013-07-01 16:48 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/honghaier/article/details/8160519CCObject.h:#ifndef __CCOBJECT_H__#define __CCOBJECT_H__#include "platform/CCPlatformMacros.h"//Cocos2d命名空间NS_CC_BEGIN//声明以下几种类,在后面会定义相应类的成员变量的指针。以下几个类均是CCObject类的派生类。class CCZone; //CCObject指针暂存类class CCObject;//基类class CCNode; //结点类 阅读全文

posted @ 2013-07-01 15:51 Bill Yuan 编辑

摘要:转自:http://game.dapps.net/gamedev/game-engine/7281.html在Cocos2d-x中,拖尾效果有一个专门的类CCMotionStreak来实现。下面我们打开CCMotionStreak.h来看一下:#ifndef __CCMOTION_STREAK_H__#define __CCMOTION_STREAK_H__#include "CCProtocols.h"#include "textures/CCTexture2D.h"#include "ccTypes.h"#include &quo 阅读全文

posted @ 2013-07-01 15:21 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/we000636/article/details/8263503接受触屏事件的优先级是值越小,响应触屏事件的优先级越高Z值越大,越外面JNI:允许Java代码与其它语言写的代码进行交互cocos2d-x好像对tmx中使用bmp图片不支持BombMan.win32.exe中的0x10007f50(libcocos2d.dll)处最可能的异常:0xC0000005:写入位置0x0000000c时发生访问冲突“BombMan.win32.exe”(托管(v4.0.30319)):已加载“C:\windows\Microsoft.Net\assembly 阅读全文

posted @ 2013-06-28 13:58 Bill Yuan 编辑

摘要:转自:http://www.cnblogs.com/andyque/archive/2011/09/27/2192920.html而是新建一个工程。然后,我们不是copy文件夹、lib和dll了。我们只需要把release版本的dll全部复制到c:\Windows\System32目录下去。(由于cocos2d-x生成的debug版链接库和release版链接库名字一样,所以只需要把release复制过去就行了,我实验了一下,debug模式下链接release动态链接库也是可行的。) 接下来,我们要做一点其它的事了。首先在D盘建立一个文件夹cocos2d-xSources,然后把Box2D,c 阅读全文

posted @ 2013-06-25 14:21 Bill Yuan 编辑

摘要:转自:http://4137613.blog.51cto.com/4127613/754729第一部分:基本图形绘制cocos2dx封装了大量opengl函数,用于快速绘制基本图形,这些代码的例子在,tests\DrawPrimitivesTest目录下注意,该方法是重载node的draw方法实现的,在智能机上,并不推荐直接绘制几何图形,因为大量的坐标编码会极大降低工作效率,应尽量使用Image。而且cocos2dx的渲染机制会造成前后遮挡问题,尤其是几何图形与图片等其他node混合绘制时。void DrawPrimitivesTest::draw() { CCLayer::draw(... 阅读全文

posted @ 2013-06-25 13:25 Bill Yuan 编辑

摘要:转自:http://www.cnblogs.com/andyque/archive/2011/03/18/1988097.htmlcocos2d和像素格式 在cocos2d里面,理解像素格式非常重要。因为,像素格式会影响在你的游戏中加载一张图片到底需要多少内存。因为游戏通常要加载大量的图片资源,所以你要尽可能充分利用移动设备上面非常少的可用物理内存。 默认情况下面,当你在cocos2d里面加载一张图片的时候,对于每一个像素点使用4个byte来表示--1个byte(8位)代表red,另外3个byte分别代表green、blue和alpha透明通道。这个就简称RGBA8888。 因此,如果你... 阅读全文

posted @ 2013-06-25 12:50 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/aa4790139/article/details/8124781第一次接触粒子系统,以前游戏里面的一些小特效,像制作动画一样,是采用一帧一帧的切出来的,由于这种特效,变化无常,切出来的帧,都非常的大,也很耗内存,一下就内存溢出了......呵呵~ 主要是以前都没有接触过... 现在接触了,以后游戏就可以用到了...开心!//创建一个CCParticleSystem粒子系统CCParticleSystem* ignore = CCParticleSystemQuad::create("Particles/SmallSun.plist&q 阅读全文

posted @ 2013-06-25 11:51 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/aa4790139/article/details/8107325SpriteTestLayer.cpp(就只改了这个这个文件)#include "SpriteTestLayer.h"SpriteTestLayer::SpriteTestLayer(void){}bool SpriteTestLayer::init(){ CCSize s=CCDirector::sharedDirector()->getWinSize(); //第一种加载资源方式 //CCSprite* sprite=CCSprite::create( 阅读全文

posted @ 2013-06-25 11:03 Bill Yuan 编辑

摘要:转自:http://4137613.blog.51cto.com/4127613/759610这里只给出最基本的动画代码,具体使用要根据实际情况自己封装。最好自己开发一个编辑器。额外说一句,开发编辑器最好使用Qt,因为是跨平台的。我们随便找一张动画资源图片,在66RPG里有很多,如图:CCSize s = CCDirector::sharedDirector()->getWinSize(); //#1:生成动画需要的数据类 CCTexture2D *texture=CCTextureCache::sharedTextureCache()->addImage("pic247 阅读全文

posted @ 2013-06-25 10:49 Bill Yuan 编辑

点击右上角即可分享
微信分享提示