Cocos2d-x精灵,上下跳动,设置比例,旋转,扭曲,透明度
2014-10-09 11:09
423 查看
创建一个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));
sprite1->setPosition(CCPoint(300, 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));
sprite1->setPosition(CCPoint(300, 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));
sprite1->setPosition(CCPoint(300, 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));
sprite1->setPosition(CCPoint(300, 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));
sprite1->setPosition(CCPoint(300, 200));
// setVisible 是否可见
sprite->setVisible(false);
return true;
执行结果:
源地址:http://cn.cocos2d-x.org/tutorial/show?id=1601
在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));
sprite1->setPosition(CCPoint(300, 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));
sprite1->setPosition(CCPoint(300, 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));
sprite1->setPosition(CCPoint(300, 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));
sprite1->setPosition(CCPoint(300, 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));
sprite1->setPosition(CCPoint(300, 200));
// setVisible 是否可见
sprite->setVisible(false);
return true;
执行结果:
源地址:http://cn.cocos2d-x.org/tutorial/show?id=1601
相关文章推荐
- 【iphone游戏开发】iphone-Cocos2d游戏开发之四:精灵实现缩放,旋转,跳动,移动等动画
- 关于Cocos2d-x中精灵节点的透明度的设置
- 【iphone游戏开发】iphone-Cocos2d游戏开发之四:精灵实现缩放,旋转,跳动,移动等动画
- 【iphone游戏开发】iphone-Cocos2d游戏开发之四:精灵实现缩放,旋转,跳动,移动等动画
- [寒江孤叶丶的Cocos2d-x之旅_19]Cocos2d-x 3.0 rc2 版本 Label 的setOpacity 函数失效,无法设置透明度问题的解决办法
- cocos2d--仿真树叶飘落效果的实现(精灵旋转、翻转、钟摆运动等综合运用)
- cocos2d各种动作的使用(变色、跳动、旋转、闪烁、悬挂、放大缩小、渐变、animation)(三)
- Cocos2d-x游戏开发之设置精灵的触摸范围
- cocos2d: 设置容器透明度及添加UIViewController
- cocos2d(CCSprite 用贝塞尔做抛物线,足球精灵并且同时做旋转放大效果)
- [cocos2d-x] 让精灵响应触摸 并把方向旋转到相对应的角度
- [cocos2d-x-教程] 让精灵响应触摸 并把方向旋转到相对应的角度
- 【iOS-Cocos2d游戏开发之二十一 】自定义精灵类并为你的精灵设置攻击帧以及动画创建!【二】 推荐
- cocos2d 中精灵旋转角度
- Cocos2d设置精灵触摸范围
- cocos2d-x-教程 让精灵响应触摸 并把方向旋转到相对应的角度
- Drawimg 1.图片按比例缩放 2.加水印并设置水印透明度
- cocos2d-x学习之设置精灵的触摸范围
- cocos2d各种动作的使用(变色、跳动、旋转、闪烁、悬挂、放大缩小、渐变、animation)
- 制作了一个cocos2d-x下沿y轴旋转任意角度的精灵对象