玩转精灵

创建一个Cocos2d-X工程,工程的目录如下图所示:

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

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

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

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;

执行结果:

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

执行结果

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

执行结果:





时间: 2025-01-24 07:16:39

玩转精灵的相关文章

selenium webdriver学习(六)------------如何得到弹出窗口

在selenium 1.X里面得到弹出窗口是一件比较麻烦的事,特别是新开窗口没有id.name的时候.当时还整理了处理了几种方法,详见:http://seleniumcn.cn/read.php?tid=791 .在selenium webdriver中得到新开窗口相对简单的多,它无关新开窗口的id.name等属性.以下面的html为例: [html] view plaincopyprint? <span style="white-space: normal; background-col

Cocos2d-x 个人笔记 《2048》(5)

- - 想做特效. 我写的合并方法是调用 display 重绘精灵的图片,使用CCActionInterval 后,我打算把重构精灵延时. 然后就乱了...动作线程还没执行玩,精灵就销毁了什么的.还有定时器还没执行就又调用定时器什么. CCScheduler#scheduleSelector. Selector already scheduled...这之类的错误. 果断重写,把每个要移动的矩阵元素 的移动目标保存下来,然后一次执行所有的动作,再延时重载精灵图片. 用了一个 b[][] 存移动到

Cocos2d-X中的CCSprite

 在cocos2d-x中,精灵CCSprite是整个游戏开发处理的主要对象,例如天上的飞机.地上的坦克.玩家控制的任务等等都是精灵.甚至天上随机飘过的一朵白云.飞过的一只鸟也都是精灵.实际上,精灵就是一个可以不断变化的图片,变化包括位置变化.旋转.放大.运动等等. 可见,精灵在游戏中是十分重要的组成部分,随处可见.在cocos2d-x中,要用到图片展示的,基本上会使用到精灵类,CCSprite类在cocos2d-x中类结构图如 为了观察CCSprite的功能打开CCSprite.h文件,CC

浮生猫绘——落入平一的精灵

转发 orz潸然 http://user.qzone.qq.com/1072804126/blog/1472256491 这些猫也许是学校给我唯一的骄傲 上面一句是Candy?瞎扯,下面是正文 一年蛰伏,八方追寻.心中藏之,何日忘之.——至平一的喵儿 锦瑟流年,是谁闯进神圣的学府学海无涯,是谁缓了匆匆的脚步苦行的人啊,急急地盼灵逸的猫啊,闲闲地看是谁犯下美丽的错误?是我达达的马蹄还是你喵喵的魔咒谁是谁的归人?谁又是谁的过客?小女子不才,潜伏校园一年,看尽猫生百态.今日此感,不求一石激起千层浪,但

机友精灵

应用介绍  机友精灵是一款能实现应用多开的黑科技产品,一个手机能实现应用多个不同账户的同时登陆,接收消息互不影响. [机友精灵]你不得不玩的五大理由: [变]满足社交聊天应用多开的需求,变换不同的生活,工作一个号,生活一个号,交友一个号,微商一个号,帮助您切换不同的身份和状态. [全]多开不只是社交软件,游戏,购物,视频,浏览器通通可以双开--多开APP应有尽有. [便]多开软件可以随时安装卸载,点划之间尽享畅快体验. [快]游戏开大小号,大号带小号,小号养大号,PK打怪,多重乐趣. [强]工程

Quick cocos2dx-Lua(V3.3R1)学习笔记(五)------创建精灵 菜单,让我们做个最简单的点击菜单显示精灵吧

开始第5篇笔记了,感觉前面的几篇写的太少了,Quick cocos2dx 前面加个quick,就是就能让我们快速上手,快速开发......balabala 一,我们来创建第一个精灵 今天我们来创建精灵,我们前面显示的外星人图片就是一个精灵. quick给我们提供了display.newSprite这个函数来创建精灵. 我们进入display.lua中看看对这个函数的介绍说明. 哇,这么长,我怎么知道那个函数定位在哪里(不是有搜索吗,不能Ctrl+F搜索么+_+). 我们换个方法,不用搜索,毕竟我

Quick cocos2dx-Lua(V3.3R1)学习笔记(七)---- 让精灵执行不同的动作

上一篇我们实现了精灵动画,但是人物动起来了,位置还在中央,这怎么能行呢,除非他在玩太空步,一步两步一步两步 一步一步似爪牙似魔鬼的步伐......摩擦摩擦在这光滑的地上摩擦摩擦 我们打开安装路劲:\quick-3.3rc1\docs\api下面的transition.html,这次我们就用文档介绍的函数让进精灵执行动作 下面我们就让精灵从做走到右边 我们看transition.exectue(target, action, args)这个函数,中间就是我们创建的动作 function MainS

为什么电玩非得要和性捆绑?

宅男.腐女群体的庞大,让越来越多的二次元相关事物都开始与"性"联系在一起.其中,作为二次元重要组成部分的电玩行业,更是与"性"紧紧捆绑在了一起.无论是电玩游戏中萌到极点的高中萝莉.火爆身材的御姐,还是扛枪横扫的女汉子,抑或各种cosplay.手办周边等,都必须得以性感位前提.就算是针对腐女,也得有帅到掉渣的男主. 就像当下的国产电视剧,没点感情线在里面搀和,根本就没人看一样,"无性"的电玩,似乎也活不下去.说了这么多,那么电玩为什么和性那么黏糊,

[Cocos2d-x/iOS源码]&lt;诸神的挑战&gt;三消新玩法

郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源码下载:点我传送 游戏官方下载:http://dwz.cn/RwTjl 游戏视频预览:http://dwz.cn/RzHHd 游戏开发博客:http://dwz.cn/RzJzI 游戏源码传送:http://dwz.cn/Nret1 [源码下载] 代码引擎:cocos2d-x, Xcode[完美支持arm64,可直接发布AppS