在执行之前[SKAction scaleBy:duration:],我需要预先计算节点的 x 比例和 y 比例。
我正在使用UIPinchGestureRecognizer放大/缩小我的SKScene,所以我这样做(scale是持有UIPinchGestureRecognizer的比例值的变量):
[grassLayer runAction:[SKAction group:@[
[SKAction scaleBy:scale duration:0.0],
[SKAction moveBy:vector duration:0.0]
]]];
苹果文档说它的scaleBy:duration:工作原理如下:
创建一个将节点的 x 和 y 比例值更改为相对值的操作。
参数
scale添加到节点的 x 和 y 比例值的量。
sec动画的持续时间。
但是,如果我尝试计算未来xScale并且yScale喜欢grassLayer.xScale + scale它会不断给我比例值,这些值实际上并不“看起来”像grassLayer节点在scaleBy:duration:方法执行后具有的值。
那么,我怎样才能正确地预先计算xScale/yScale在scaleBy:duration:方法执行之后呢?