To cast an Int to a Float:
let someInt: Int = 3 let someFloat: CGFloat = CGFloat(someInt)
This is useful if you’d like to generate a random float:
let randomY = CGFloat(arc4random() % 1000) / 1000
To cast an Int to a Float:
let someInt: Int = 3 let someFloat: CGFloat = CGFloat(someInt)
This is useful if you’d like to generate a random float:
let randomY = CGFloat(arc4random() % 1000) / 1000
There’s a new game clone of the 2048 game written in Swift: https://github.com/austinzheng/swift-2048. The author also provides some feedback on Swift:
Here’s a small extensions that will help you debug SKPhysicsBody Objects using Swift:
extension SKNode { func attachDebugRectWithSize(s:CGSize) { let bodyPath = CGPathCreateWithRect(CGRectMake(-s.width/2, -s.height/2, s.width, s.height), nil) self.attachDebugFrameFromPath(bodyPath) CGPathRelease(bodyPath) } func attachDebugFrameFromPath(path:CGPathRef) { var shape = SKShapeNode() shape.path = path shape.strokeColor = SKColor(red: 1.0, green: 0, blue: 0, alpha: 0.5) shape.lineWidth = 2.0 shape.zPosition = 200 self.addChild(shape) } }
You can use it like this:
//.. let groundRect = CGRectMake(0, groundTexture.size().height, self.frame.size.width*2, groundTexture.size().height) var ground = SKNode() ground.position = groundRect.origin ground.physicsBody = SKPhysicsBody(rectangleOfSize: groundRect.size) ground.physicsBody.dynamic = false ground.attachDebugRectWithSize(groundRect.size)
There’s already a project on github to support Swift coding in vim: https://github.com/toyamarinyon/vim-swift
To install using NeoBundle, put this in your .vimrc:
NeoBundle 'toyamarinyon/vim-swift'
Then run :NeoBundleInstall
Iterate by incrementing or decrementing a value
for var i = 0; i < 10; i++ { // do something } // alternative: for i in 0...10 { // do something }
To iterate over an array in Swift:
for x in ["a", "b", "c"] { // do something }
To iterate over a dictionary in Swift:
for (key, val) in ["foo": 23, "bar": 244, "baz": 42] { // do something }
The folks at fullstack.io created a “FlappyBird” clone using Swift. You can view the code on github. If you browse the code you’ll notice how readable and expressive Swift is – the whole codebase is just around 400 lines of code!