ios - 使用 sprite 套件创建 2d 波纹效果

标签 ios objective-c sprite-kit

如何使用 sprite kit 在水面上创建 2D 波纹效果。

就像我有一个场景,其中包括 2D 仍然是,当点击它时,小圆圈会按比例显示并消失,比如 5-6圆圈平行缩放给人一种涟漪的感觉实际上并没有对水做任何事情只是在它上面创建图像。

我想知道解决这个问题的最佳方法是什么。我怎样才能实现这样的目标。有什么想法吗?

最佳答案

在你希望创建波纹的节点中,做这样的事情

    NSTimeInterval singleRippleDuration = 1.0f;
    CGFloat ripleEndScale = 3.0f;
    NSTimeInterval timeBetweenRipples = 0.3f;
    NSUInteger numberOfRipples = 5;
    SKAction* scaleUpAction = [SKAction scaleTo:ripleEndScale duration:singleRippleDuration];
    SKAction* fadeOutAction = [SKAction fadeOutWithDuration:singleRippleDuration];

    SKAction* rippleAction = [SKAction group:@[scaleUpAction,fadeOutAction]];

    SKAction* createRipple = [SKAction runBlock:^{
        //Create your ripple node somehow (SKShapeNode or SKSprite will do)
        //set it to a desired position
        [rippleNode setPosition:desiredPosition];
        //Set scale to 0 so it scales from point
        [rippleNode setScale:0.0f];
        [rippleNode runAction:createRipple];
        [self addChild:rippleNode];
    }];

    SKAction* wait = [SKAction waitForDuration:timeBetweenRipples];

    [self runAction:[SKAction repeatAction:[SKAction sequence:@[createRipple,wait]] count:numberOfRipples]];

关于ios - 使用 sprite 套件创建 2d 波纹效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21524872/

相关文章:

ios - View 在缩小时像素化

ios - 如何将 .xib 界面设置为自定义标注 View ?

针对 IIS7 和 Windows 2008 的 iOS "didReceiveAuthenticationChallenge"

iphone - IOS相当于Android的Paint.breakText()

swift - 确定 UITouch 是否在 SKLabelNode 框架内

swift - 在另一个中添加 SKShapeNode

ios - 更改表格宽度时,Swift Tableview 会向上移动

objective-c - 如何防止 EXC_BAD_ACCESS 使应用程序崩溃?

ios - 计算 UILabel 中可见文本的范围

ios - 带有半径的 SKShapeNode 错误