游戏基础元素之精灵——Cocos2d-x学习历程(九)
1.创建精灵
在实际使用中,精灵是由一个纹理创建的。在不加任何设置的情况下,精灵就是一张显示在屏幕上的图片。通常精灵置于层下,因此我们首选在层的初始化方法中创建精灵,设置属性,并添加到层中。
有多种方式可以创建精灵:
(1)直接创建
auto sprite = Sprite::create("HelloWorld.png");
this->addChild(sprite,0);
(2)使用纹理来创建精灵
auto sprite1 = Sprite::createWithTexture(TextureCache::getInstance()->addImage("HelloWorld.png));
this ->addChild(sprite1, );
(3)使用精灵帧来创建精灵
auto sprite2=Sprite::createWithSpriteFrameName( "HelloWorld.png" );
this ->addChild(sprite2, );
2.精灵属性
创建了精灵后,我们还需要把精灵安排在合适的位置,否则引擎也不能决定精灵将如何呈现出来。诸如精灵的位置、方向、缩放比例等参数都是精灵的属性,我们在层中添加精灵之前,需要对它们进行恰当地设置。
auto size = Director::getInstance()->getWinSize();
auto point = ccp(size.width/,size.height/);
auto sprite = Sprite::create("image/atlas.png",CCRectMake(0.0,0.0,,));
sprite->setPosition(point);
this->addChild(sprite,);
我们可以看到,在这段代码中我们修改了精灵的Position属性。Position属性是一个Point类型的结构体,表示精灵在层中的位置,它是精灵相对于层的坐标。ccp(x,y) 与CCRectMake类似,是可以用来快速创建Point的宏。把精灵的位置坐标设置为屏幕长宽的一半,就可以使精灵位于屏幕中央了。
3.向层中添加精灵
设置完精灵的属性后,就该把精灵添加到层中了。实际上Sprite与Layer都继承自Node,向一个游戏元素中添加其他游戏元素的addChild是Node包含的方法,因此我们完全可以如同向场景中添加层一样,把精灵添加到层中。
4.精灵的其他常用成员
(1)初始化方法:同创建精灵
(2)纹理的相关属性:用于获取或设置精灵内容。
(3)纹理的相关方法
(4)颜色的相关属性
游戏基础元素之精灵——Cocos2d-x学习历程(九)的更多相关文章
- 游戏基础元素——Cocos2d-x学习历程(八)
1.Director:导演 从字面上理解,这是一个"导演"类,Director是控制游戏流程的主要组件.CCDirector的工作确实跟导演非常类似,主要负责以下工作: 游戏呈现方 ...
- Web编程基础--HTML、CSS、JavaScript 学习之课程作业“仿360极速浏览器新标签页”
Web编程基础--HTML.CSS.JavaScript 学习之课程作业"仿360极速浏览器新标签页" 背景: 作为一个中专网站建设出身,之前总是做静态的HTML+CSS+DIV没 ...
- 《零基础学JavaScript(全彩版)》学习笔记
<零基础学JavaScript(全彩版)>学习笔记 二〇一九年二月九日星期六0时9分 前期: 刚刚学完<零基础学HTML5+CSS3(全彩版)>,准备开始学习JavaScrip ...
- 软件设计之基于Java的连连看小游戏(二)——游戏基础界面的制作及事件的添加
上次完成到游戏首页的制作,今天完成了游戏基础界面的制作以及事件的简单添加.由于功能尚未完全实现,因此游戏界面的菜单列表只是简单地添加了一下,其余菜单列表以及倒计时等在后续的制作中逐一完善. 1.首先在 ...
- 开始写下自己的python的cocos2d, pyglet学习
开始写下自己的python的cocos2d, pyglet学习 2014年01月18日 13:52:36 我要做程序达人 阅读数 9051更多 分类专栏: python的cocos2d和pyglet ...
- Unity3D_(游戏)甜品消消乐01_游戏基础界面
甜品消消乐游戏 (脚本源码在游戏UI设计最下方) 三消游戏,存在L型消除有一点小Bug,当甜品在饼干附近消除时会清除饼干 饼干作为游戏障碍物时不可移动的,多块饼干并排时会挡住甜品掉落 发现消除类游戏的 ...
- 零基础的学习者应该怎么开始学习呢?Python核心知识学习思维分享
近几年,Python一路高歌猛进,成为最受欢迎的编程语言之一,受到无数编程工作者的青睐. 据悉,Python已经入驻部分小学生教材,可以预见学习Python将成为一项提高自身职业竞争力的必修课.那么零 ...
- 『心善渊』Selenium3.0基础 — 4、Selenium基础元素定位详解
目录 1.什么是元素定位 2.Selenium元素定位常用API (1)By_id 定位 (2)by_name 定位 (3)by_class_name 定位 (4)by_tag_name 定位 (5) ...
- 《Java核心技术·卷Ⅰ:基础知识(原版10》学习笔记 第5章 继承
<Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 目录 <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 5.1 类.超类和子类 5.1 ...
随机推荐
- H面试程序(11): 判断字符串是否包含子串问题
题目描述: 如字符串str1为''abcdef''' 字符串str2为'' bc''; 则字符串str1中含有 ...
- Codeforces Round #245 (Div. 1)——Working out
题目链接 题意: 一个n*m的矩阵,每一个方格有一个非负数,如今选择两条线路:一个左上到右下,一个左下到右上,且仅仅能有一个公共点. 求两个线路上数的最大值(公共点不算) 分析: 仅仅有两种情况,dp ...
- ubuntu高版本环境变量问题
在ubuntu较高的版本(博主使用的是14.10)下,可以在/etc/environment中配置环境变量,这个环境变量可能会覆盖用户~/.bashrc中配置的环境变量,这个应该引起注意.
- AfxEnableControlContainer()
1)OLE(Object Linking and Embedding,对象连接与嵌入).是一种面向对象的技术,利用OLE可开发可重复使用的软件组件(COM). 2)ActiveX 控件是基于组件对象模 ...
- for之Python vs C#
class test(object): def rangetest(self): for i in range(2,0,-1): print i print i i=2 while i>0: p ...
- python基础(四)
内置函数 callable() #判断是否能够被调用执行,可以调用返回True,例如函数和类 chr() #将ascii值转换为字符,例如print(chr(65) )输出为a ord()#将字符转换 ...
- Amazon MWS 上传数据 (一) 设置服务
Amazon 上传数据的流程为: 通过 SubmitFeed 操作.加密标头和所有必需的元数据(包括 FeedType 的值在内),来提交 XML 或文本型数据文件.正如亚马逊 MWS的所有提交内容一 ...
- 转:Javascript异步编程的4种方法
你可能知道,Javascript语言的执行环境是"单线程"(single thread). 所谓"单线程",就是指一次只能完成一件任务.如果有多个任务,就必须排 ...
- logstash 操作redis
在实际应用中,Logstash进程会被氛围两个不同的角色. 运行在应用服务器上的尽量减轻运行压力,只做读取和转发,这个角色叫做shipper 运行在独立的服务器上完成数据解析处理,负责写入到Elast ...
- 常见 wifi热点的linux 驱动
小度Wifi.360Wifi Windows.linux驱动 小度wifi什么的就是一个无线网卡,当然可以自由使用,然官方却说不支持无限网卡功能… 现提供Windows平台和linux平台的驱动安装方 ...