码迷,mamicode.com
首页 > 其他好文 > 详细

03.sprite_kit前瞻之节点树

时间:2015-02-22 14:39:12      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:继承关系   渲染   sprite   角色   节点   

Sprite Kit前瞻之节点树

本文仅是前瞻,只需抱着欣赏态度阅读即可。

SKScene 类继承自 SKNode 类,SKNode 类继承自UIResponder类。谈完继承关系,我们来说说节点(Node),当我们使用 Sprite Kit 框架时,节点是所有内容的基本构建块,同时场景( scene )对象扮演着节点树的根节点角色。场景和它的后代决定了绘制什么内容以及如何渲染。

在由父类定义的坐标系中,每一个节点的位置都是明确定义的。同时,节点也适用于其他属性到自身内容和它后代的内容。举个例子,当一个节点进行了旋转,那么所有它的后代都将被旋转,这很好理解:比如有一个对象A作为父类,拥有几种属性,那么B继承了A,自然就拥有了那些属性,然而假如有对象C继承了B,这时候C因为继承关系也会拥有A的那几种属性!这有什么用?比如我们通过节点树创建一个复杂的 image 节点( node ),通过调整在它上面的节点属性来进行旋转、放缩以及混合整个图像。

强调SkNode 类不绘制任何东西,但是它可以将自身属性传递给它的后代。在 Sprite Kit 框架中,每一种可绘制的内容都将单独由一个明确地子类来表示,其他节点尽管不绘制内容,但是通过调整自身属性来修改其后代。举例来说,你可以通过SKEffectNode类增加一个图像过滤功能使得继承自它的 SKScene 类都拥有该功能。通过精确控制节点树的结构,能够明确控制节点渲染顺序。

方才说到,SKNode 类继承自UIResponder 或者 NSResponder,因此只要是继承自 SKNode 类的新类都能接收用户的输入。视图( View )类自动扩展响应链将节点加入到场景的节点树。

补充:
1. 有哪些继承自 SKNode?
SKLabelNodeSKLightNodeSKSpriteNodeSKVideoNode等等。看名称Label自然用于绘制标签,Video 自然用于绘制视频,是不是有种各司其职的感觉,换句话说,每一种东西都有一个不同的类来绘制,它们都是继承自SKNode.

03.sprite_kit前瞻之节点树

标签:继承关系   渲染   sprite   角色   节点   

原文地址:http://blog.csdn.net/colouful987/article/details/43907349

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!