Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // GameScene.swift
- // HappyBird
- //
- // Created by user on 2019/7/16.
- // Copyright © 2019 IDK. All rights reserved.
- //
- import SpriteKit
- import GameplayKit
- class GameScene: SKScene {
- private var label : SKLabelNode?
- private var spinnyNode : SKShapeNode?
- var background = SKSpriteNode(imageNamed: "background")
- override func didMove(to view: SKView) {
- // Get label node from scene and store it for use later
- self.label = self.childNode(withName: "//helloLabel") as? SKLabelNode
- if let label = self.label {
- label.alpha = 0.0
- label.run(SKAction.fadeIn(withDuration: 2.0))
- }
- // Create shape node to use during mouse interaction
- let w = (self.size.width + self.size.height) * 0.05
- self.spinnyNode = SKShapeNode.init(rectOf: CGSize.init(width: w, height: w), cornerRadius: w * 0.3)
- if let spinnyNode = self.spinnyNode {
- spinnyNode.lineWidth = 2.5
- spinnyNode.run(SKAction.repeatForever(SKAction.rotate(byAngle: CGFloat(Double.pi), duration: 1)))
- spinnyNode.run(SKAction.sequence([SKAction.wait(forDuration: 0.5),
- SKAction.fadeOut(withDuration: 0.5),
- SKAction.removeFromParent()]))
- }
- addChild(background)
- background.anchorPoint = CGPoint(x: 0, y: 0)
- background.position = CGPoint(x: 100, y : 0)
- }
- func touchDown(atPoint pos : CGPoint) {
- if let n = self.spinnyNode?.copy() as! SKShapeNode? {
- n.position = pos
- n.strokeColor = SKColor.green
- self.addChild(n)
- }
- }
- func touchMoved(toPoint pos : CGPoint) {
- if let n = self.spinnyNode?.copy() as! SKShapeNode? {
- n.position = pos
- n.strokeColor = SKColor.blue
- self.addChild(n)
- }
- }
- func touchUp(atPoint pos : CGPoint) {
- if let n = self.spinnyNode?.copy() as! SKShapeNode? {
- n.position = pos
- n.strokeColor = SKColor.red
- self.addChild(n)
- }
- }
- override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
- if let label = self.label {
- label.run(SKAction.init(named: "Pulse")!, withKey: "fadeInOut")
- }
- for t in touches { self.touchDown(atPoint: t.location(in: self)) }
- }
- override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
- for t in touches { self.touchMoved(toPoint: t.location(in: self)) }
- }
- override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
- for t in touches { self.touchUp(atPoint: t.location(in: self)) }
- }
- override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent?) {
- for t in touches { self.touchUp(atPoint: t.location(in: self)) }
- }
- override func update(_ currentTime: TimeInterval) {
- // Called before each frame is rendered
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement