在Resourcees文件夹中添加一张png格式的图片
在HelloWorldScene.cpp文件中的bool HelloWorld::init()函数中添加下面的代码
//初始化父类 if ( !CCLayer::init() ) { return false; } //创建精灵 CCSprite* sprite = CCSprite::create("blocks.png"); CCSprite* sprite1 = CCSprite::create("blocks.png"); //精灵跳跃 //第一个参数:完成跳跃所花的时间 //第一个参数:跳跃到的位置 //第一个参数:跳跃的高度 //第一个参数:跳跃的次数 sprite->runAction(CCJumpBy::create(60, ccp(0, 0), 100, 100)); //将精灵加到层上 this->addChild(sprite); //将精灵添加到层上 addChild(sprite1); return true;
程序执行结果:(实现了精灵的上下跳动)
在上面的代码下面增加下面的代码实现设置精灵的位置
sprite->setPosition(CCPoint(100, 200)); sprite1->setPosition(CCPoint(300, 200));
执行结果:
在HelloWorldScene.cpp文件中的bool HelloWorld::init()函数中添加下面的代码实现设置比例
//调用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)); //设置比例 sprite->setScale(.5f); sprite->setScaleX(.5f); sprite->setScale(2); return true;
执行结果:
在HelloWorldScene.cpp文件中的bool HelloWorld::init()函数中添加下面的代码实现精灵旋转
//调用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()函数中添加下面的代码实现精灵扭曲跟精灵在一个平面上旋转差不多
//调用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()函数中添加下面的代码实现精灵扭曲跟精灵在一个平面上旋转差不多
//调用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)); // setFlipX 反转,跟setRotationY(180)效果一样 sprite->setFlipX(true); return true;
执行结果:
//调用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;
//调用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;