Created
June 13, 2014 01:52
-
-
Save josephjaniga/91a9f54e7208ac83a2e7 to your computer and use it in GitHub Desktop.
Weird Compiler Error
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// GameScene.swift | |
// EmitterDemo | |
// | |
// | |
// colorize function takes HEX and Alpha converts then returns aUIColor object | |
func colorize (hex: Int, alpha: Double = 1.0) -> UIColor { | |
let red = Double((hex & 0xFF0000) >> 16) / 255.0 | |
let green = Double((hex & 0xFF00) >> 8) / 255.0 | |
let blue = Double((hex & 0xFF)) / 255.0 | |
var color: UIColor = UIColor( red: Float(red), green: Float(green), blue: Float(blue), alpha:Float(alpha) ) | |
return color | |
} | |
import SpriteKit | |
class GameScene: SKScene { | |
override func didMoveToView(view: SKView) { | |
// blue background color | |
self.backgroundColor = colorize( 0x003342, alpha:1.0) | |
} | |
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) { | |
/* Called when a touch begins */ | |
for touch: AnyObject in touches { | |
let location = touch.locationInNode(self) | |
let sprite = SKSpriteNode(imageNamed:"Spaceship") | |
sprite.xScale = 0.5 | |
sprite.yScale = 0.5 | |
sprite.position = location | |
let action = SKAction.rotateByAngle(CGFloat(M_PI), duration:1) | |
sprite.runAction(SKAction.repeatActionForever(action)) | |
self.addChild(sprite) | |
} | |
} | |
override func update(currentTime: CFTimeInterval) { | |
/* Called before each frame is rendered */ | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// GameViewController.swift | |
// EmitterDemo | |
// | |
// | |
import UIKit | |
import SpriteKit | |
extension SKNode { | |
class func unarchiveFromFile(file : NSString) -> SKNode? { | |
let path = NSBundle.mainBundle().pathForResource(file, ofType: "sks") | |
var sceneData = NSData.dataWithContentsOfFile(path, options: .DataReadingMappedIfSafe, error: nil) | |
var archiver = NSKeyedUnarchiver(forReadingWithData: sceneData) | |
archiver.setClass(self.classForKeyedUnarchiver(), forClassName: "SKScene") | |
let scene = archiver.decodeObjectForKey(NSKeyedArchiveRootObjectKey) as GameScene | |
archiver.finishDecoding() | |
return scene | |
} | |
} | |
class GameViewController: UIViewController { | |
override func viewDidLoad() { | |
super.viewDidLoad() | |
if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene { | |
// Configure the view. | |
let skView = self.view as SKView | |
skView.showsFPS = true | |
skView.showsNodeCount = true | |
/* Sprite Kit applies additional optimizations to improve rendering performance */ | |
skView.ignoresSiblingOrder = true | |
/* Set the scale mode to scale to fit the window */ | |
scene.scaleMode = .AspectFill | |
skView.presentScene(scene) | |
} | |
} | |
override func shouldAutorotate() -> Bool { | |
return true | |
} | |
override func supportedInterfaceOrientations() -> Int { | |
if UIDevice.currentDevice().userInterfaceIdiom == .Phone { | |
return Int(UIInterfaceOrientationMask.AllButUpsideDown.toRaw()) | |
} else { | |
return Int(UIInterfaceOrientationMask.All.toRaw()) | |
} | |
} | |
override func didReceiveMemoryWarning() { | |
super.didReceiveMemoryWarning() | |
// Release any cached data, images, etc that aren't in use. | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment