按宽度缩放梯形SKShapeNode,同时在边上保留45-45-90个三角形

时间:2014-09-27 06:51:03

标签: sprite-kit skaction skshapenode

我有一个SKShapeNode,它应该是一个突破式游戏的桨,我想在宽度上按某种因素进行缩放。

看起来像这样:

image http://i59.tinypic.com/1zoc6t5.png

我跑完后

[SKAction scaleXBy:3.f / 2.f y:1.0 duration:1.0],

它看起来像这样(忽略角落里的其他灰砖,这只是另一个桨):

image http://i57.tinypic.com/fmj1g3.png

问题在于侧面的三角形不再是45-45-90。

2 个答案:

答案 0 :(得分:0)

这是可以预料到的,因为当x缩放1.5而不缩放y(1.0)时,你不会保留形状的宽高比。

您必须通过更改path属性来创建新形状,以使用符合您规范的路径。

答案 1 :(得分:0)

您基本上要求的是缩放中心矩形而不缩放任何一端的三角形。为此,您可以创建四个节点的复合 - 一个父节点,包含三个形状的单独节点。当您想要填充您的球拍时,缩放矩形并移动三角形。