原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/12747385
精灵类CCSprite可以说是游戏的主角了,也是我们平时最常用到的类。
1.概况
CCSprite本质上就是一个二维图片,是静态的。游戏中的动画只不过是让一张张静态图片快速更换达到的动态效果。CCSprite继承于CCNodeRGBA,并实现了CCTextureProtocol的接口。因此CCNodeRGBA所具有的RGB和透明值这些属性和接口CCSprite都有,而CCTextureProtocol是一个抽象类,定义了和纹理相关的两个标准接口:
-
-
virtualCCTexture2D*getTexture(void)=0;
-
-
-
virtualvoidsetTexture(CCTexture2D*texture)=0;
2.常用接口
2.1.初始化
-
-
virtualboolinit(void);
-
-
-
virtualboolinitWithTexture(CCTexture2D*pTexture);
-
-
-
virtualboolinitWithTexture(CCTexture2D*pTexture,constCCRect&rect);
-
-
-
virtualboolinitWithTexture(CCTexture2D*pTexture,constCCRect&rect,boolrotated);
-
-
-
virtualboolinitWithSpriteFrame(CCSpriteFrame*pSpriteFrame);
-
-
-
virtualboolinitWithSpriteFrameName(constchar*pszSpriteFrameName);
-
-
-
virtualboolinitWithFile(constchar*pszFilename);
-
-
-
virtualboolinitWithFile(constchar*pszFilename,constCCRect&rect);
2.2.继承自CCTextureProtocol
-
-
virtualvoidsetTexture(CCTexture2D*texture);
-
virtualCCTexture2D*getTexture(void);
-
-
-
voidsetBlendFunc(ccBlendFuncblendFunc);
-
ccBlendFuncgetBlendFunc(void);
2.3.继承自CCNode
参见CCNode。
-
virtualvoidsetScaleX(floatfScaleX);
-
virtualvoidsetScaleY(floatfScaleY);
-
virtualvoidsetPosition(constCCPoint&pos);
-
virtualvoidsetRotation(floatfRotation);
-
virtualvoidsetRotationX(floatfRotationX);
-
virtualvoidsetRotationY(floatfRotationY);
-
virtualvoidsetSkewX(floatsx);
-
virtualvoidsetSkewY(floatsy);
-
virtualvoidremoveChild(CCNode*pChild,boolbCleanup);
-
virtualvoidremoveAllChildrenWithCleanup(boolbCleanup);
-
virtualvoidreorderChild(CCNode*pChild,intzOrder);
-
virtualvoidaddChild(CCNode*pChild);
-
virtualvoidaddChild(CCNode*pChild,intzOrder);
-
virtualvoidaddChild(CCNode*pChild,intzOrder,inttag);
-
virtualvoidsortAllChildren();
-
virtualvoidsetScale(floatfScale);
-
virtualvoidsetVertexZ(floatfVertexZ);
-
virtualvoidsetAnchorPoint(constCCPoint&anchor);
-
virtualvoidignoreAnchorPointForPosition(boolvalue);
-
virtualvoidsetVisible(boolbVisible);
-
virtualvoiddraw(void);
2.4.继承自CCNodeRGBA
-
-
virtualvoidsetColor(constccColor3B&color3);
-
-
-
virtualvoidupdateDisplayedColor(constccColor3B&parentColor);
-
-
-
virtualvoidsetOpacity(GLubyteopacity);
-
-
-
virtualvoidsetOpacityModifyRGB(boolmodify);
-
virtualboolisOpacityModifyRGB(void);
-
-
-
virtualvoidupdateDisplayedOpacity(GLubyteparentOpacity);
2.5.批节点
-
-
virtualvoidupdateTransform(void);
-
-
-
virtualCCSpriteBatchNode*getBatchNode(void);
-
-
virtualvoidsetBatchNode(CCSpriteBatchNode*pobSpriteBatchNode);
2.6.纹理
-
-
virtualvoidsetTextureRect(constCCRect&rect);
-
virtualvoidsetTextureRect(constCCRect&rect,boolrotated,constCCSize&untrimmedSize);
-
virtualvoidsetVertexRect(constCCRect&rect);
2.7.精灵帧和动画
-
-
virtualvoidsetDisplayFrame(CCSpriteFrame*pNewFrame);
-
-
-
virtualboolisFrameDisplayed(CCSpriteFrame*pFrame);
-
-
-
virtualCCSpriteFrame*displayFrame(void);
-
-
-
virtualvoidsetDisplayFrameWithAnimationName(constchar*animationName,intframeIndex);
2.8.Setter和Getter方法
设置/获取CCSprite属性。
-
-
virtualboolisDirty(void);
-
virtualvoidsetDirty(boolbDirty);
-
-
-
ccV3F_C4B_T2F_QuadgetQuad(void);
-
-
-
boolisTextureRectRotated(void);
-
-
-
unsignedintgetAtlasIndex(void);
-
voidsetAtlasIndex(unsignedintuAtlasIndex);
-
-
-
constCCRect&getTextureRect(void);
-
-
-
CCTextureAtlas*getTextureAtlas(void);
-
inlinevoidsetTextureAtlas(CCTextureAtlas*pobTextureAtlas);
-
-
-
constCCPoint&getOffsetPosition(void);
-
-
-
boolisFlipX(void);
-
voidsetFlipX(boolbFlipX);
-
boolisFlipY(void);
-
voidsetFlipY(boolbFlipY);
-
分享到:
相关推荐
资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...
接着,书中会详细讲解Cocos2d-x 3.x的图形绘制,包括精灵(Sprite)、批处理(Batch Node)、纹理 atlases和图集管理。开发者可以学会如何高效地绘制2D图形,利用纹理atlases优化内存使用,并通过批处理技术提升渲染...
《Cocos2d-x实战:C++卷(2版)源代码》这本书是关于使用Cocos2d-x游戏引擎进行游戏开发的专业指南。Cocos2d-x是一个开源的、跨平台的游戏开发框架,广泛应用于iOS、Android、Windows等多个操作系统。本书以C++语言...
"cocos2d-x windows vs2010 配置详解" 本文将详细介绍如何在 Windows 环境下使用 Visual Studio 2010 配置 Cocos2d-x 游戏引擎。Cocos2d-x 是一个跨平台的游戏引擎,可以在多种平台上运行,包括 Windows、Mac OS X...
《cocos2d-x 3.8:经典游戏引擎源码解析》 cocos2d-x 是一个跨平台的游戏开发框架,它基于C++,同时提供了Lua和JavaScript的绑定,让开发者可以方便地在多种操作系统上创建2D游戏、演示程序和其他图形交互应用。这...
此外,Flash2Cocos2d-x 1.3还优化了资源导出的效率和格式,支持导出为cocos2d-x兼容的精灵表(Sprite Sheets)和骨骼动画(Spine或DragonBones)。这样,游戏在运行时可以更有效地加载和渲染动画,提高游戏性能,...
3. **渲染引擎**:Cocos2d-x 3.1包含了强大的2D渲染引擎,能够处理精灵(Sprites)、纹理(Textures)、动画(Animations)、粒子系统(Particle Systems)等图形元素。 4. **场景管理**:使用Scene类来管理游戏的...
Cocos2d-x提供了一个SpineNode类,它是Cocos2d-x的CCNode的子类,可以直接在场景中添加和管理Spine动画。通过Lua绑定,你可以轻松地调用Spine的API来播放、停止、暂停或重置动画,以及改变动画的速度、时间缩放等...
cocos2d-x 是一个开源的游戏开发框架,使用 C++ 语言编写,支持多平台发布,包括 iOS、Android、Windows、macOS、Linux 和 Web。cocos2d-x v3.16 是该框架的一个版本号,本文档主要介绍了该版本的安装流程以及环境...
读者需要理解C++的基本语法、类与对象、模板等核心概念,以便更好地运用到Cocos2d-x中。 在Cocos2d-x框架内,主要包括场景(Scene)、层(Layer)、节点(Node)等概念。场景是游戏的顶层容器,可以包含多个层,层...
在使用cocos2d-x开发游戏的过程中,为了实现逻辑和显示相分离。 在下通宵了一个晚上,写出了该事件类。 谨记,该事件只能用于cocos2d-x中。 事件发送者需要继承EventDispatcher类 事件接收者需要继承EventHandle类...
在2D游戏中,人物行走通常通过精灵(Sprite)类来实现,cocos2d-x 3.0中的cc::Sprite是用于展示静态或动态图像的对象。人物行走的过程涉及精灵的位置改变、帧动画(Frame Animation)以及物理引擎(如Box2D)的应用...
2. **图形与动画**:讲解如何使用Cocos2d-x的绘图API绘制2D图形,实现精灵(Sprite)、动画(Animation)和粒子系统(Particle System)。 3. **物理引擎**:介绍Cocos2d-x内置的Box2D物理引擎,用于模拟游戏中的...
标题中提到了"Cocos2d-x实战++JS卷++Cocos2d-JS开发+PDF电子书下载+带书签目录+完整",这里面包含了几个关键知识点: 1. Cocos2d-x:是一个开源的游戏开发框架,它主要用于开发跨平台的游戏和应用程序,支持iOS、...
《cocos2d-x 2.1.4:探索移动游戏开发的新篇章》 cocos2d-x 是一个跨平台的2D游戏开发框架,它为开发者提供了强大的工具和技术支持,使得游戏开发变得更为便捷。2.1.4 版本是这个框架的一个重要里程碑,它在前一...
cocos2d-x-2.1.5
1. **Cocos2d-x架构**:理解Cocos2d-x的组件系统,包括Scene(场景)、Layer(层)、Sprite(精灵)、Node(节点)等,以及它们在游戏中的作用和交互方式。 2. **JavaScript绑定**:Cocos2d-x如何将C++底层库与...
【cocos2d-x API中文文档】是一份详尽的资料,主要涵盖了cocos2d-x游戏引擎的API,这份文档适用于2015年的最新版本。cocos2d-x是一个基于MIT许可证的开源游戏引擎,它以快速、简单且功能强大的特性闻名,允许开发者...
《cocos2d-x案例开发大全》第二章的源码主要涵盖了使用cocos2d-x进行游戏开发的各种实践技巧和示例。cocos2d-x是一个开源的游戏开发框架,基于C++,支持跨平台,包括iOS、Android、Windows等多个操作系统。本章的...
《cocos2d-x 3.13.1:深入解析与应用》 cocos2d-x 是一个开源的游戏开发框架,广泛应用于跨平台2D游戏的开发,支持iOS、Android、Windows等操作系统。它的3.13.1版本是一个重要的里程碑,提供了诸多改进和优化,...