最近基于SpriteKit做了几个小项目,由于小项目也并不是很难,因此也没有把SpriteKit中很多的功能发挥出来。程度大概是对SpriteKit进行了一个初步的了解。
1.首先导入库#import <SpriteKit/SpriteKit.h>
2.创建游戏场景,游戏场景由一个叫SKView的容器装载,SKView基于UIView,本人觉得SKView承担一个类似统筹的角色,可以监控游戏场景scene的帧率/场景中精灵的个数/渲染/控制图层关系等。
3.SKView presentScene后,会走进GameScene的didMoveToView方法中,在此方法中,你能开始创建各种精灵图片,就像在view上创建各种控件,比如按钮STControlSprite/文字标签SKLabelNode/图片SKSpriteNode,此处有几个小坑,其一:frame是顶部为0,而底部为高,但到了SpriteKit这里,底部为0,而顶部为高,并且通过size和;其二:SKLabelNode文字标签中,创建后,如果不对属性fontName进行设定,那么显示出来的文字会呈半透明状态,坑得不要不要的;其三,如果想实现精灵的点击事件要重写touch事件,不过有封装好的,STSpriteKit,里面有STControlSprite类,比较专门处理点击事件;其四,如果要实现label文字的一些特殊效果,比如阴影效果等,需要用富文本drawInrect画出来,文字左右对齐/居中等需要通过anchorPoint进行设置,当然,也有封装好的,比如SKLabelNodePlus用起来就简单多了。
4.如下图,做一个场景,点击开始,右边的方框像泡泡龙喷出泡泡的效果,泡泡落在绿色和紫色的方框内;开启定时器,随机生成SKshapeNode的泡泡,落点在绿色node与紫色node的随机位置上;
5.然后顺便玩了一下里面的粒子效果,年纪大记性差,趁还记得过会把纹理、粒子效果的学习也记录一下;