Sprite Kit学习笔记(二)

笔记一给大家大概介绍了Sprite Kit,并且通过一个简单的demo让大家对Sprite Kit有初步的认识,今天接着前面的学习内容。在demo中我们简单的使用了SKSpriteNode,我们没有给它添加texture,Sprite Kit让我们在没有texture的情况下使用填充颜色的方法来显示一个Sprite,不过在游戏只做中,这可能会用得比较少,添加texture似乎是一个必不可少的工作,接下来让我们来了解一下SKSpriteNode如何添加texture以及一些相关的知识。

 

这里可能会跟cocos2d做一下比较,因为实在是太相似了。首先texture说白了就是图片,准备好你的图片,放到你的工程文件夹里面。具体的SKSpriteNode类里面的东西,建议大家还是去一下官方的api,了解仔细,用起来会更加顺,这里我大概说一些。可以直接使用图片名称为Sprite添加texture,也可以创建一个SKTexture,然后将创建好的texture添加给Sprite,这两种到底有什么区别呢,通过图片名称直接创建,要经过一个渲染的过程然后才添加给Sprite,使用texture添加的话,你可以在要用到该Sprite的时候,事先渲染图片,然后直接添加给Sprite,根据不同的情况使用吧,目前我也只了解这些,以后在开发过程中再深入去了解。提前渲染图片也是后面要说到的东西。

 

直接利用图片名称为Sprite添加texture,不能设置其大小,Sprite会根据你的图片大小渲染成为一样大小的图片,图片太大的话渲染的时候会占用很多内存,这是需要注意的。使用SKTexture添加的话,可以在添加的同时连同初始化Sprite的size,因为Sprite的frame属性是只读的,所以只能在初始化的时候设置其大小。此时,如果你设置的size大过你原本的texture,texture会自动放大器适应设置的size,这时图片可能就会因放大而失真。相反的,size小的话也一样,texture会自动调整。

 

接下来是anchorPoint属性,默认为(0.5, 0.5),即图片的中心位置,这个根据自己需要使用。还有colorBlendFactor,这是Sprite颜色的设置,colorBlendFactor可以实现一个颜色渐变的效果,这里也不多说。

 

SKTexture类,也是一个很重要的类,我们用它来创建Sprite所需要的texture,可以直接用图片名称创建texture,创建后的texture可以重复使用,Sprite的动画执行可以通过一系列的texture切换来实现,这里再强调一下preLoad,这对整个程序的效率有很大的提高作用,作为开发者,我们肯定知道我们时候需要用到哪些Sprite,在这之前我们就可以先完成这些图片的渲染,当我们需要的时候可以直接拿来用,这可以帮我们省去部分时间,让程序更加顺畅。不再使用的texture会被内存释放掉,这是遵循内存管理的机制,这与cocos2d的道理是一样的,cocos2d也提供了很多内存优化的方法,这是游戏制作必须要考虑的。不过,Sprite Kit应该会有属于自己的一套处理内存的机制,无非就是retain和release,这留到以后再研究。

 

另外,当我们有很多texture的时候, 我们可以把所有的texture拼接成一个texture Atlas,cocos2d中,可以利用texturePacker制作Atlas,并生成plist文件,在Sprite Kit中也可以根据Atlas图片和plist文件,Sprite Kit自动渲染Atlas里面的所有texture,然后我们根据对应的名字取得texture使用,而且可以重复使用,这对内存优化也起到很大作用。

 

前面提到过Sprite动画的实现,SKAction提供给我们一个animateWithTextures函数,我们可以很轻松地实现Sprite的一个动作动画。

 

大概就这些内容,没有代码,其实觉得自己应该做个小demo的,但是因为严重缺乏图片资源,就算了,把该记的记下来就行了。接着学习!

weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值