Cocos2d-x精灵,上下跳动,设置比例,旋转,扭曲,透明度

Cocos2d-x精灵,上下跳动,设置比例,旋转,扭曲,透明度,第1张

概述创建一个Cocos2d-X工程,工程的目录如下图所示: 在Resourcees文件夹中添加一张png格式的图片 在HelloWorldScene.cpp文件中的bool HelloWorld::init()函数中添加下面的代码 [cpp] view plaincopy  //调用CCLayer的父类的初始化函数      if ( !CCLayer::init() )      {         创建一个Cocos2d-X工程,工程的目录如下图所示:




在Resourcees文件夹中添加一张png格式的图片
在HelloWorldScene.cpp文件中的bool HelloWorld::init()函数中添加下面的代码
[cpp] vIEw plaincopy
//调用cclayer的父类的初始化函数
if ( !cclayer::init() )
{
return false;
}

//创建精灵
CCSprite* sprite = CCSprite::create("blocks.png");
CCSprite* sprite1 = CCSprite::create("blocks.png");

/*设置精灵移动
create()中的第一个参数是动作经过的时间,第二个参数是跳跃的方向,
第三个参数是跳跃的高度,第四个参数是跳跃次数
ccp(0,0)表示*/
sprite->runAction(CCJumpBy::create(60,ccp(0,0),100,100));

//将精灵加到层上
this->addChild(sprite);

//将场景加到层上
addChild(sprite1); return true;


程序执行结果:(实现了精灵的上下跳动)




在上面的代码下面增加下面的代码实现设置精灵的位置
[cpp] vIEw plaincopy
sprite->setposition(CCPoint(100,200));
sprite1->setposition(CCPoint(300,200));


执行结果:




在HelloWorldScene.cpp文件中的bool HelloWorld::init()函数中添加下面的代码实现设置比例
[cpp] vIEw plaincopy
//调用cclayer的父类的初始化函数
if ( !cclayer::init() )
{
return false;
}

//创建精灵
CCSprite* sprite = CCSprite::create("blocks.png");
CSprite* sprite1 = CCSprite::create("blocks.png");

//将精灵加到层上
his->addChild(sprite);

//将场景加到层上
ddChild(sprite1);

//设置精灵的位置
sprite->setposition(CCPoint(100,200));
sprite1->setposition(CCPoint(300,200));


//设置比例
sprite->setScale(.5f);
sprite->setScaleX(.5f);
sprite->setScale(2); return true;


执行结果:




在HelloWorldScene.cpp文件中的bool HelloWorld::init()函数中添加下面的代码实现精灵旋转
[cpp] vIEw plaincopy
//调用cclayer的父类的初始化函数
if ( !cclayer::init() )
{
return false;
}

//创建精灵
CCSprite* sprite = CCSprite::create("blocks.png");
CCSprite* sprite1 = CCSprite::create("blocks.png");

//将精灵加到层上
this->addChild(sprite);

//将场景加到层上
addChild(sprite1);

//设置精灵的位置
sprite->setposition(CCPoint(100,200));


// setRotation旋转,角度为单位,正数是顺时针,负数是逆时针
sprite->setRotation(-80);
sprite->setRotationY(180); return true;


执行结果:




在HelloWorldScene.cpp文件中的bool HelloWorld::init()函数中添加下面的代码实现精灵扭曲跟精灵在一个平面上旋转差不多
[cpp] vIEw plaincopy
//调用cclayer的父类的初始化函数
if ( !cclayer::init() )
{
return false;
}

//创建精灵
CCSprite* sprite = CCSprite::create("blocks.png");
CCSprite* sprite1 = CCSprite::create("blocks.png");

//将精灵加到层上
this->addChild(sprite);

//将场景加到层上
addChild(sprite1);

//设置精灵的位置
sprite->setposition(CCPoint(100,200));


// setSkewX 扭曲,跟单向量的旋转差不多,但是不会颠倒
sprite->setSkewX(180);
sprite1->setRotationX(180); return true;


执行结果:




在HelloWorldScene.cpp文件中的bool HelloWorld::init()函数中添加下面的代码实现精灵扭曲跟精灵在一个平面上旋转差不多
[cpp] vIEw plaincopy
//调用cclayer的父类的初始化函数
if ( !cclayer::init() )
{
return false;
}

//创建精灵
CCSprite* sprite = CCSprite::create("blocks.png");
CSprite* sprite1 = CCSprite::create("blocks.png");

//将精灵加到层上
his->addChild(sprite);

//将场景加到层上
ddChild(sprite1);

//设置精灵的位置
sprite->setposition(CCPoint(100,200));

/ setFlipX 反转,跟setRotationY(180)效果一样
sprite->setFlipX(true);

return true;


执行结果:




在HelloWorldScene.cpp文件中的bool HelloWorld::init()函数中添加下面的代码设置精灵的透明度
[cpp] vIEw plaincopy
//调用cclayer的父类的初始化函数
if ( !cclayer::init() )
{
return false;
}

//创建精灵
CCSprite* sprite = CCSprite::create("blocks.png");
CCSprite* sprite1 = CCSprite::create("blocks.png");

//将精灵加到层上
this->addChild(sprite);

//将场景加到层上
addChild(sprite1);

//设置精灵的位置
sprite->setposition(CCPoint(100,200));

// setopacity 透明度 0~255(取值范围),255不透明,0全透明
sprite->setopacity(128);

return true;


执行结果








在HelloWorldScene.cpp文件中的bool HelloWorld::init()函数中添加下面的代码实现隐藏精灵
[cpp] vIEw plaincopy
//调用cclayer的父类的初始化函数
if ( !cclayer::init() )
{
return false;
}

//创建精灵
CCSprite* sprite = CCSprite::create("blocks.png");
CCSprite* sprite1 = CCSprite::create("blocks.png");

//将精灵加到层上
this->addChild(sprite);

//将场景加到层上
addChild(sprite1);

//设置精灵的位置
sprite->setposition(CCPoint(100,200));


// setVisible 是否可见
sprite->setVisible(false);

return true;


执行结果:



源地址:http://cn.cocos2d-x.org/tutorial/show?ID=1601

总结

以上是内存溢出为你收集整理的Cocos2d-x精灵,上下跳动,设置比例,旋转,扭曲,透明度全部内容,希望文章能够帮你解决Cocos2d-x精灵,上下跳动,设置比例,旋转,扭曲,透明度所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存