更改SKShapeNode的高度

时间:2014-11-17 16:50:00

标签: objective-c sprite-kit

我有一个SKShapeNode,当精灵靠近屏幕顶部时向下移动。但是我似乎无法改变画面的高度。

直接更改属性会给我错误'表达式不可分配'。

所以我尝试了这段代码:

        //Move the world down
        world.position = CGPointMake(0.0f, -(20.0f));
        SKAction* moveDown = [SKAction moveToY:(world.position.y - 50.0f) duration:1];
        [world runAction:moveDown];
        CGRect temp = world.frame;
        temp.size.height = (world.frame.size.height / 1.2);
        world.frame = temp;

但它说我不能将该帧指定为只读。

1 个答案:

答案 0 :(得分:3)

SKShapeNode的帧是只读的。如果要更改节点的高度,可以替换此

CGRect temp = world.frame;
temp.size.height = (world.frame.size.height / 1.2);
world.frame = temp;

用这个

world.yScale = 1.0 / 1.2;