SpriteKit 缺少线性变换矩阵 [英] SpriteKit missing linear transformation matrices

查看:61
本文介绍了SpriteKit 缺少线性变换矩阵的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有谁知道如何使用转换矩阵转换(旋转缩放倾斜)SpriteKit 节点.在 Spritekit API 中找不到对此的任何支持.

Does anyone know how to transform (rotate,scale,skew) SpriteKit nodes using transformation matrices. couldn't find any support for this in the Spritekit API.

推荐答案

正如 Fogmeister 所述,您可以使用带有 CIFilter 的 SKEffectNode.以下适用于 iOS:

As mentioned by Fogmeister, you can use an SKEffectNode with a CIFilter. The following works on iOS:

// Label
let label = SKLabelNode(text: "Hello world")
// Transform
let transform = CGAffineTransformMake(1, 0.5, 0, 1, 0, 0)
// CIFilter
let transformFilter = CIFilter(name: "CIAffineTransform")!
let val = NSValue(CGAffineTransform: transform)
transformFilter.setValue(val, forKey: "inputTransform")
// Effect node
let transformNode = SKEffectNode()
transformNode.filter = transformFilter
// Add label as child on effect node
transformNode.addChild(label)
scene.addChild(transformNode)

在 Apple 的 文档.

See more on affine transform in Apple's documentation.

这篇关于SpriteKit 缺少线性变换矩阵的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆