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

前端之家收集整理的这篇文章主要介绍了Cocos2d-x精灵,上下跳动,设置比例,旋转,扭曲,透明度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
创建一个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

原文链接:/cocos2dx/347106.html

猜你在找的Cocos2d-x相关文章