cocos2d-x 3.0 常用对象的创建方式

cocos2d-x 3.0 常用对象的创建方式,第1张

概述cocos2d-x 3.0 中所有对象几乎都可以用create函数来创建,其他的创建方式也是有create函数衍生。 下面来介绍下create函数创建一般对象的方法,省得开发中经常忘记啥的。 1、精灵Sprite的4种创建方式 (1)根据图片资源路径来创建 [cpp]  view plain copy //根据图片路径来创建   auto sprite1 = Sprite::create(file

cocos2d-x 3.0 中所有对象几乎都可以用create函数来创建,其他的创建方式也是有create函数衍生。

下面来介绍下create函数创建一般对象的方法,省得开发中经常忘记啥的。

1、精灵Sprite的4种创建方式

(1)根据图片资源路径来创建

[cpp] view plain copy //根据图片路径来创建 autosprite1=Sprite::create(filepath); //根据图片路径来创建,并设置要显示的图片大小 autosprite2=Sprite::create(filepath,Rect(0,wIDth,height));

(2)根据pList文件中的frame name创建,图片名称前要加#符号来区分

copy //参数:帧名字,framename autosprite=Sprite::create('#ball.png'); (3)根据缓存pList中的sprite frame来创建,这种用的比较多 copy SpriteFrameCache::getInstance()->addSpriteFramesWithfile("loadingAndHP.pList","loadingAndHP.png");//加载图片资源作为缓存 //从缓存图片中根据图片名字来创建 autoloading_bk=Sprite::createWithSpriteFramename("loading_bk.png"); (4)根据纹理texture创建 copy //根据纹理图片来创建 autobatch=SpriteBatchNode::create("Images/grossini_dance_atlas.png",1);//加载缓存纹理 //根据纹理来创建精灵 autosprite=Sprite::createWithTexture(batch->getTexture()); //根据纹理来创建精灵,并设置显示区域大小 autosprite=Sprite::createWithTexture(batch->getTexture(),Rect(x,y,51); Font-family:Arial; Font-size:14px; line-height:26px">


2、文字LabelTTF的创建方式

(1)根据字体、大小等多参数创建

copy autocenter=LabelTTF::create("hellococos2d-x",//要显示字符串 "PaintBoy",0); background-color:inherit">//字体 32,//字号 Size(s.wIDth/2,200),0); background-color:inherit">//显示的宽和高
TextHAlignment::CENTER,0); background-color:inherit">//显示的位置,定位 TextVAlignment::top); (2)根据自定义对象FontDeFinition来创建 copy FontDeFinitionshadowTextDef; shadowTextDef._FontSize=20;//字号 shadowTextDef._Fontname=std::string("MarkerFelt");//字体 shadowTextDef._shadow._shadowEnabled=true;//设置是否有阴影 shadowTextDef._shadow._shadowOffset=shadowOffset; shadowTextDef._shadow._shadowOpacity=1.0;//设置透明度 shadowTextDef._shadow._shadowBlur=1.0; shadowTextDef._FontFillcolor=tintcolorRed; //shadowonlylabel autoFontShadow=LabelTTF::createWithFontDeFinition("ShadowOnlyRedText",shadowTextDef);//根据自定义的字体创建要显示的内容

3、对于3.0中SpriteBatchNode,不鼓励使用,文档看这里点击打开链接,在此不再赘述SpriteBatchNode的用法。

4、帧动画创建方式,通过多张图片文件来创建一个动画

copy Animation*animation=Animation::create(); animation->setDelayPerUnit(1.0/fps); for(inti=0;i<=count;i++){ const
char*filename=String::createWithFormat(fmt,i)->getCString(); SpriteFrame*frame=SpriteFrameCache::getInstance()->spriteFrameByname( filename); animation->addSpriteFrame(frame); } Animation是由Sprite frame帧组、单个frame延时,持续时间等组成的,它是一组“数据”,而Animate是一个Action,它是基于Animation对象创建的。

5、序列帧动画Sprite sheet animation

(1)通过.pList文件来创建

copy SpriteFrameCache::getInstance()->addSpriteFramesWithfile(filename);//加载.pList文件到缓存中 AnimationCache*cache=AnimationCache::getInstance()->addAnimationsWithfile(filename);//根据动画.pList文件来创建动画缓存 Animation*animation=cache->animationByname(filename);//直接从缓存中创建动画 Animate*animate=Animate::create(animation);//生成动画动作

(2)通过数组来创建

copy Array*animFrames=Array::createWithCapacity(15); charstr[100]={0}; inti=1;i<15;i++) { sprintf(str,"grossini_dance_%02d.png",i); SpriteFrame*frame=cache->spriteFrameByname(str); animFrames->addobject(frame); } Animation*animation=Animation::createWithSpriteFrames(animFrames,0.3f); 总结

以上是内存溢出为你收集整理的cocos2d-x 3.0 常用对象的创建方式全部内容,希望文章能够帮你解决cocos2d-x 3.0 常用对象的创建方式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1034855.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存