如何实现Periscope的心脏动画?

时间:2015-04-21 06:33:22

标签: ios objective-c ios7 cocos2d-iphone

我想实现类似periscope对他们的直播应用程序所做的事情。具体而言,当用户触摸屏幕时发出无数浮动心脏。这可以通过SpriteKit或Cocos2D轻松实现吗?任何人都可以给我一些灯光,或者至少是一个很好的起点。

感谢

enter image description here

1 个答案:

答案 0 :(得分:5)

这可以通过SKEmitterNode

来实现
import SpriteKit

let heartsFile = "heart-bubbles.sks"//particle file

class HeartBubblesScene : SKScene {
 var emitter: SKEmitterNode?
 func beginBubbling() {

  emitter = SKEmitterNode(fileNamed: heartsFile)

    let x = floor(size.width / 2.0)
    let y = heartHeight

    emitter!.position = CGPointMake(x, y)

    emitter!.name = "heart-bubbles"
    emitter!.targetNode = self

    emitter?.numParticlesToEmit = 1

    addChild(emitter!)

    emitter?.resetSimulation()
 }
}

class ViewController: UIViewController {
@IBOutlet weak var heartBubblesView: SKView!//Create a custom view inside view controller and set the class to SKView

let heartBubblesScene = HeartBubblesScene()

 override func viewDidLoad() {
    super.viewDidLoad()

    heartBubblesView.presentScene(heartBubblesScene)
 }

 override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {

    heartBubblesScene.beginBubbling()

 }

}

以下是HeartAnimation

的示例