cocos2dx3.2 整体概览(四)—— Sprite(精灵)

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">本来打算场景完了是</span><span style="background-color: rgb(255, 255, 255); font-family: 'Times New Roman';">Layer</span><span style="background-color: rgb(255, 255, 255); font-family: 宋体;">(层),但是仔细思考了一下,我对</span><span style="background-color: rgb(255, 255, 255); font-family: 'Times New Roman';">Layer</span><span style="background-color: rgb(255, 255, 255); font-family: 宋体;">的理解还是太浅薄了,没什么好记录的。</span>

对我个人而言,Layer就感觉像是PhotoShop等图像处理工具中的图层概念一样。在制作游戏时,场景中的几个层合在一起就构成了游戏内容。但是实际上可能还有响应触摸事件的固定,但着手应用为主,概念以后慢慢理解,理解了再做记录。


这里主要还是记录一个最常用的类——Sprite(精灵)。Sprite是对图像的封装,除却文字游戏,游戏还是需要很多图像图形表现其内容。而Sprite可以简单的看做一个图像,同时,Sprite又提供了很多方法对图像进行操作。

 

首先,是Sprite的创建:

auto background = Sprite::create("Img/background/bg_main.png");

这种方法是直接根据 图片文件路径创建的方法,图片在Resources文件夹下。


auto background = Sprite::create("Img/background/bg_main.png", Rect(0, 0, 30, 30));

这种方法同上,但是规定了图片显示的区域,如例,background只显示"Img/background/bg_main.png"这张图片中矩形(0, 0, 30, 30)的部分。(0, 0)是图片的左上角。


普通的create方法加上没没参数的一共就这三种,这两种是很常用的方式。

另外还有利用帧缓存和纹理的方式,现在记下来也没什么用,等如果用到再详细记录其他创建方式的详细使用说明。



然后在创建好了一个Sprite之后,马上想到的就是如何在场景中显示该Sprite

正如之前所说,只要将其添加到渲染树中即可:

background->setPosition(Vec2(visibleSize.width/2, visibleSize.height/2));
this->addChild(background, 2);

setPositionSprite的方法,显而易见,就是设置Sprite的位置。然后利用父节点的addChild方法将其添加到父节点上即可。


如何处理Sprite是个大问题,限于篇幅无法详述,只有在遇到问题时具体分析了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值