问题描述
在Cocos2D-x中,CCNode类提供了 skewX和 skewY让我对精灵进行了一些变形,但是,我未能在SpriteKit的SKNode中找到类似的映射。
In Cocos2D-x, CCNode class provides "skewX" & "skewY" to let me do some distortion of the sprite, however, I fail to find similar mapping in SKNode of SpriteKit.
我的游戏使用Flash来移植骨架动画,其中,精灵的定位,缩放,旋转和剪切配置将分解为游戏引擎的摘要。除了剪切外,所有其他配置的确在SpriteKit中有解决方案。
My game uses Flash to port skeleton animations, in which the configs of positioning, scaling, rotation and shearing of sprites would be decomposed into game-engine's digestive. Except shearing, all other configs do have solutions to be done in SpriteKit.
推荐答案
不,你不能。
SKNode不具有偏斜*属性。并且仅允许使用片段着色器。这意味着您可以随意更改每个像素的颜色,但不能更改精灵的形状。
SKNode doesn't have skew* properties. And SKShader allows to use only fragment shader. It means you can change the color of each pixel whatever you want, but you can't change the shape of a sprite.
因此,我建议您使用,等,而不是SpriteKit。
So I recommend you to use Cocos2d-Swift, Cocos2d-x or so on instead of SpriteKit.
另一个选项是UIView。 。
Another option is UIView. You can use the matrix from Adobe Flash to UIView via CALayer transform.
这篇关于如何通过SpriteKit(如Cocos2D)使Sprite倾斜/剪切?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!