码迷,mamicode.com
首页 > 其他好文 > 详细

玩转精灵

时间:2014-09-28 14:50:16      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   os   文件   sp   div   2014   

创建一个Cocos2d-X工程,工程的目录如下图所示:
bubuko.com,布布扣


在Resourcees文件夹中添加一张png格式的图片

在HelloWorldScene.cpp文件中的bool HelloWorld::init()函数中添加下面的代码

  //调用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);

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

bubuko.com,布布扣


在上面的代码下面增加下面的代码实现设置精灵的位置

sprite->setPosition(CCPoint(100, 200));
	 sprite1->setPosition(CCPoint(300, 200));


执行结果:

bubuko.com,布布扣


在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;

执行结果:

bubuko.com,布布扣

在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;


执行结果:
bubuko.com,布布扣


在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;


执行结果:

bubuko.com,布布扣


在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;

执行结果:

bubuko.com,布布扣


在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));

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

    return true;

执行结果

bubuko.com,布布扣


在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));


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

    return true;

执行结果:
bubuko.com,布布扣



玩转精灵

标签:style   blog   http   io   os   文件   sp   div   2014   

原文地址:http://blog.csdn.net/u010105970/article/details/39638009

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!