1. 关于 SKShapeNode

刚接触SpriteKit时,看到这个类,以为它会比SKSpriteNode更为轻量级,但其实不是:

Shape nodes are useful for content that cannot be easily decomposed into simple textured sprites. Shape nodes are also very useful for building and displaying debugging information on top of your game content. However, the SKSpriteNode class offers higher performance than this class, so use shape nodes sparingly.

其实是SKSpriteNode有更高的效率。

这里提到了SKShapeNode的使用场景:Shape nodes are useful for content that cannot be easily decomposed into simple textured sprites. 这句话怎么理解呢?

我们看一看官方文档用SKShapeNode实现的效果图:

上面这4附图,都是用ShapeNode绘制出来的。我是这样理解的,当你需要利用opengl函数绘制一些内容时,可以使用ShapeNode,否则应该使用SpriteNode。

2. SKLightNode

详细解释请参看原文,http://www.cocoachina.com/ios/20140811/9351.html

我这里将有关SKLightNode的内容摘抄一下:

下面我们看看 SKLightNode 的一些属性:
. enabled 光源的开关
. ambientColor 环境色,默认是黑色,也就是没有环境色。它无视自身的alpha以及SKLightNode的falloff属性和SKSpriteNode的normalTexture属性,分分钟照亮全场。 (这里的意思就是环境光的强弱不会根据光源的位置而变化,并且影响整个视图)
. lightColor 顾名思义就是光的颜色,默认是白色。
. shadowColor 被精灵物体遮挡产生的阴影颜色。
. falloff 光源强度的衰减比率
. categoryBitMask 光的种类,32位整型数。SKSpriteNode 的 lightingBitMask、shadowedBitMask 和 shadowCastBitMask 存储着光的种类,分别意味着:被何种光照亮、被何种光产生的阴影覆盖和遮挡何种光线并产生阴影。 这里比较难理解的是shadowedBitMask,有如下官方解释
If the sprite is inside a shadow cast by a light and the sprite has a lower z position than the light, the shadow affects how the sprite is lit.
但是,我的实验结果是,一个sprite是否被阴影影响,是跟lightNode和这个spriteNode的zposition决定的,如果spriteNode的zposition低,那么这个其他物体投射阴影就会影响它,反之,则不会。和shadowedBitMask属性,没有什么关系,不知道哪里理解错了。。。


这里有一个demo,非常好 https://github.com/ymc-thzi/iOS8-SKLightNode

最新文章

  1. Thread-Safe Resource Manager
  2. Ubuntu 安装java环境搭建
  3. Oracle限制某个用户的连接数及PROFILE介绍
  4. 实现 UISegmentControl 与 UIScrollView的上下级联(分别在相应的方法中加入级联代码)
  5. 对LVS DR模式的理解
  6. 【转】google谷歌百度收录网站的技巧方法,如何让百度收录?
  7. assertion的语法和语义
  8. 愉快的开始 - 零基础入门学习Python000
  9. 【java】基础中的杂乱总结(二)
  10. 易汇金在线支付接口实例。ecshop和shopex,shopnc,iwebshop下完美无错(最新)
  11. C++ STL快速入门
  12. ffmpeg 的 tbr tbc 和 tbn的意义
  13. JAVA PERSISTENCE API (JPA)
  14. 星环大数据安全组件Guardian与hadoop自带的安全组件区别
  15. Python04(基础语法)
  16. python简单实现目录对比
  17. 比特币测试网络搭建以及RPC服务开启-配置注意事项
  18. Mac下Maven安装与配置
  19. 一种基于zookeeper的分布式队列的设计与实现
  20. ES6新语法之let关键字;有别于传统关键字var的使用

热门文章

  1. markdown & mathjax 初学笔记 latex
  2. mysql插入记录INSERT与多表更新
  3. HttpClient 测试web API上传文件实例
  4. RMAN常用命令汇总
  5. LVS Nginx 负载均衡区别
  6. Microsoft Windows .Reg File Dialog Box Message Spoofing 0day
  7. remove() 方法
  8. Coursera, Deep Learning 4, Convolutional Neural Networks - week4,
  9. 【译】第七篇 SQL Server安全跨数据库所有权链接
  10. linux 基础笔记本