【问题标题】:SKTransition transitionWithCIFilter:duration: not animatingSKTransition transitionWithCIFilter:duration: 没有动画
【发布时间】:2014-06-24 11:01:22
【问题描述】:

我一直在尝试在 SpriteKit 中的场景之间创建翻页过渡,如下所示:

+ (SKTransition *)pageTurnTransition {
    float w = 768.0;
    float h = 1024.0;
    CIVector *extent = [CIVector vectorWithX:0 Y:0 Z:w W:h];

    CIImage *shadingImage = [[CIImage alloc] initWithColor:[CIColor colorWithRed:0.2 green:0.2 blue:0.2]];

    CIImage *blankImage = [[CIImage alloc] initWithColor:[CIColor colorWithRed:1 green:1 blue:1]];

    CIFilter *pageCurlFilter = [CIFilter filterWithName:@"CIPageCurlTransition"
                                          keysAndValues:
                                @"inputExtent", extent,
                                @"inputShadingImage", shadingImage,
                                @"inputBacksideImage", blankImage,
                                @"inputAngle",[NSNumber numberWithFloat: -0.2*M_PI],
                                @"inputRadius", [NSNumber numberWithFloat: 70],
                                nil
                                ];
    return [SKTransition transitionWithCIFilter:pageCurlFilter duration:1];
}

这就是我所说的过渡:

SKScene *spaceshipScene = [[SpaceshipScene alloc] initWithSize:self.size];
[[self view] presentScene:spaceshipScene transition:[HelloScene pageTurnTransition]];

问题在于过渡没有动画效果,它只是在指定的过渡持续时间内(1 秒)停留在原始场景,然后突然显示下一个场景。

有人知道我做错了什么吗?我已经在 iPad 模拟器 iOS 7.1 中对此进行了测试。

【问题讨论】:

    标签: ios sprite-kit transitions core-image


    【解决方案1】:

    我试过你的代码,它可以重现你的问题。

    这似乎是 CurlTransition 的问题。如果您使用其中一种内置转换,它可以工作:

    return [SKTransition doorsCloseVerticalWithDuration:2];
    

    您确定 shadingImage 不能是透明的吗?

    【讨论】:

    • 我很确定问题出在 CI 过滤器运行不正常或参数未正确传递的某个地方,但我找不到任何有关它的信息。我试图将示例半透明图像传递给 inputShadingImage,但结果是一样的。也许阴影图像必须采用特殊格式?
    • 另外pageCurlFilter没有初始化,它是nil。
    • iOS 不支持 pageCurlFilter。您可以使用以下代码进行检查: NSArray *Filters = [CIFilter filterNamesInCategory:kCICategoryBuiltIn];
    猜你喜欢
    • 2021-05-25
    • 1970-01-01
    • 2017-05-24
    • 2021-07-03
    • 1970-01-01
    • 2017-06-21
    • 2015-12-30
    • 2020-05-19
    • 2013-03-06
    相关资源
    最近更新 更多