Cocos2d-x精灵,上下跳动,设置比例,旋转,扭曲,透明度
发布时间:2020-12-14 19:01:31 所属栏目:百科 来源:网络整理
导读:创建一个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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |