继承自 SKNode:UIResponder:NSObject
符合 NSCoding(SKNode)
NSCopying(SKNode)
NSObject(NSObject)
框架  /System/Library/Frameworks/SpriteKit.framework
可用性 可用于iOS 7.0或者更晚的版本
声明于 SKEffectNode.h
参考指南 Sprite Kit Progamming Guide

概览

重要提示:这是一个初步的API或者开发技术文档。虽然已经审阅了本文档的技术准确性,但是它不是最终的版本。本机密信息仅适用于苹果开发者计划的注册会员。苹果提供这些机密信息来帮助你采用这些技术和编程接口。此信息如果有变更,根据本文档实现的软件应使用操作系统软件和最终文档测试。新版本的文档可能会拥有新的API或者技术。

一个SKEffectNode实例通过一个核心图像滤镜来渲染输出,它允许你在场景中合并出复杂的效果。

要使用SKEffectNode实例,首先将节点的filter属性指向一个创建好的核心图像滤镜,然后把节点的shouldEnableEffects属性设为YES以使滤镜可用。当滤镜可用的时候,本节点先将其子节点渲染为图像,然后使用滤镜过滤,然后将过滤过的图像混合输出到父节点缓冲区。

属性

blendMode

blendMode用于将滤镜过滤过得图像输出到父节点缓冲区。

@property (atomic) SKBlendMode blendMode

论述

该属性的默认值为SKBlendModeAlpha,该属性的枚举定义在SKNode类中。

filter

节点所采用的核心图像滤镜。

@property (atomic, retain) CIFilter *filter

论述

核心图像滤镜必须只有一个输入图像和一个输出图像。该属性的默认值为nil。如果该值为空,将不会发生滤镜效果。但是,它的子节点仍然会被单独渲染后混合输出到父节点缓冲区。

shouldCenterFilter

一个BOOL值,它决定节点是否自动将滤镜图像设置到中心区域。

@property (atomic, retain) BOOL shouldCenterFilter

论述

如果该属性的值为YES,并且滤镜拥有一个输入中心,节点将自动把滤镜的输入中心设置到节点的原点。默认值为YES。

shouldEnableEffects

一个BOOL值,用来决定在子节点绘制的时候是否采用滤镜。

@property (atomic) BOOL shouldEnableEffects

论述

如果该属性的值为YES,节点将会采用滤镜来过滤以及混合输出结果。如果该属性的值为NO,节点将会忽视滤镜效果照常绘制子节点。该属性的默认值为NO。

shouldRasterize

一个BOOL值,用来表示子节点的渲染结果是否采用缓存。

@property (atomic) BOOL shouldRasterize

论述

如果该属性的值为YES,过滤过得图像将会被添加到缓存,以备将来使用。如果该属性的值为NO,图像将会被丢弃,在下一次需要渲染的时候再重新绘制。该属性的默认值为NO。采用缓存会消耗更多的内存以及花费更多地时间。然而,如果子节点很少改变,采用缓存将会提高性能。当采用缓存的时候,对子节点的改变将自动更新下一帧动画的缓存图像。但是,改变滤镜属性的时候不会这样。

SKEffectNode类的更多相关文章

  1. Java类的继承与多态特性-入门笔记

    相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...

  2. SKScene类

    继承自 SKEffectNode:SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject) ...

  3. SKNode类

    继承自 UIResponder:NSObject 符合 NSCodingNSCopyingNSObject(NSObject) 框架  /System/Library/Frameworks/Sprit ...

  4. iOS -- SKScene类

      SKScene类 继承自 SKEffectNode:SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject ...

  5. C++ 可配置的类工厂

    项目中常用到工厂模式,工厂模式可以把创建对象的具体细节封装到Create函数中,减少重复代码,增强可读和可维护性.传统的工厂实现如下: class Widget { public: virtual i ...

  6. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  7. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库

    在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...

  8. ASP.NET Core 折腾笔记二:自己写个完整的Cache缓存类来支持.NET Core

    背景: 1:.NET Core 已经没System.Web,也木有了HttpRuntime.Cache,因此,该空间下Cache也木有了. 2:.NET Core 有新的Memory Cache提供, ...

  9. .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类

    .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件功能比较简单,有的则比较复杂,并且依赖其它组件.除 ...

随机推荐

  1. 【转】Objective-C中一种消息处理方法performSelector: withObject:

    原文 : http://www.cnblogs.com/buro79xxd/archive/2012/04/10/2440074.html   Objective-C中调用函数的方法是“消息传递”,这 ...

  2. MySQL 元数据

    MySQL 元数据 你可能想知道MySQL以下三种信息: 查询结果信息: SELECT, UPDATE 或 DELETE语句影响的记录数. 数据库和数据表的信息: 包含了数据库及数据表的结构信息. M ...

  3. Knockoutjs官网翻译系列(一)

    最近马上要开始一个新项目的研发,作为第一次mvvm应用的尝试,我决定使用knockoutjs框架.作为学习的开始就从官网的Document翻译开始吧,这样会增加印象并加入自己的思考,说是翻译也并不是纯 ...

  4. PHP简单计算器

    工作之余,写着玩的. <?php $num1 = $_POST['num1']; $num2 = $_POST['num2']; $yusuan = $_POST['yusuan']; $jie ...

  5. oracle操作字符串:拼接、替换、截取、查找

    1.拼接字符串 1)可以使用“||”来拼接字符串 select '拼接'||'字符串' as str from dual 2)通过concat()函数实现 select concat('拼接', '字 ...

  6. python运维开发之第十一天(RabbitMQ,redis)

    一.RabbitMQ python的Queue与RabbitMQ之间的理解: python的进程或线程Queue只能python自己用.RabbitMQ队列多个应用之间共享队列,互相通信. 1.简单的 ...

  7. 解决easyui-tab添加tab滚动条问题

    //添加tab var addTab = function (title, url, icon) { if (!$('#mainTab').tabs('exists', title)) { $('#m ...

  8. 常用的JQuery UI框架

    http://www.ligerui.com/ http://www.jeasyui.com/index.php http://www.jqwidgets.com/

  9. Keil uVISION2 自学教程

    Keil  uVISION2  是众多单片机应用开发软件中优秀的软件之一,它支持众多不同公司的 MCS-51 架构的芯片,它集编辑,编译,仿真等于一体,同时还支持.PLM.汇编和 C 语言的程序设计, ...

  10. EntityFramework 插件之EntityFramework.Extended (批量处理)

    接手了一个用EF来做的项目,由于项目中使用的原生处理,导致很多update都是采用先select 后 update的方式来实现,同时无法批量执行逻辑如:根据订单类型统一更新状态等.所以在经过了N多查找 ...