【问题标题】:SKAction: scaleTo:1.0 duration .01, is there a way to make "duration" any faster/instant? Objective C, Sprite KitSKAction:scaleTo:1.0 持续时间 .01,有没有办法让“持续时间”更快/更快?目标 C,Sprite 工具包
【发布时间】:2016-09-27 00:11:23
【问题描述】:

我试图将这个 SKAction 的持续时间缩短到几乎没有。原因是这个动作减去了用户的硬币,虽然 0.01 相当快,但它仍然不是即时的,用户在减去硬币的时候不能移动。无论如何“立即”执行这个SKAction?

            NSLog(@"SubtractUserCoinsActivated");
            int a = USER_COINS;
            int result = a - 49;
            [self setUserInteractionEnabled:false];
            __block int dummyScore = a;
            SKAction* scaleUp = [SKAction scaleTo:1.0 duration:0.01];
            SKAction* block = [SKAction runBlock:^{
                dummyScore--;
                _userCoinsText.text = [NSString stringWithFormat:@"%i",dummyScore];
                if(dummyScore == result) {
                    [_defaults setInteger:result forKey:@"UserCoins"];
                    [_defaults synchronize];
                    NSLog(@"-49 Coins");
                    [self setUserInteractionEnabled:true];

【问题讨论】:

  • 我很困惑.. 如果你想立即使用一个动作,为什么还要使用它呢?为什么不将比例设置为 1?

标签: ios objective-c iphone sprite-kit skaction


【解决方案1】:

如果您想要即时 SKAction,只需将持续时间设置为 0.0 而不是 0.01 。

我一直这样做。我用 Swift 编程,但在 Objective-C 中应该是一样的

例如现在在我的代码中,我有一个使用零持续时间的缩放动作

let scale:SKAction = SKAction.scaleTo(0, duration: 0.0)

【讨论】:

    猜你喜欢
    • 2015-07-06
    • 1970-01-01
    • 1970-01-01
    • 2017-12-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多