From 77995712360e9de841362e753e9553fa482559f8 Mon Sep 17 00:00:00 2001 From: yulingtianxia Date: Sun, 1 Mar 2015 20:33:50 +0800 Subject: [PATCH] fix errors --- .../UserInterfaceState.xcuserstate | Bin 0 -> 11624 bytes Rock Box/AppDelegate.swift | 6 +-- Rock Box/ViewController.swift | 50 +++++++++--------- 3 files changed, 28 insertions(+), 28 deletions(-) create mode 100644 Rock Box.xcodeproj/project.xcworkspace/xcuserdata/yangxiaoyu.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/Rock Box.xcodeproj/project.xcworkspace/xcuserdata/yangxiaoyu.xcuserdatad/UserInterfaceState.xcuserstate b/Rock Box.xcodeproj/project.xcworkspace/xcuserdata/yangxiaoyu.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..9dc531296b4ae4b9ba83bc119ddfa03c74851c29 GIT binary patch literal 11624 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 Bool { + + + func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool { // Override point for customization after application launch. return true } diff --git a/Rock Box/ViewController.swift b/Rock Box/ViewController.swift index b28568c..7aa7ef6 100644 --- a/Rock Box/ViewController.swift +++ b/Rock Box/ViewController.swift @@ -11,8 +11,8 @@ import CoreMotion class ViewController: UIViewController { // Most conservative guess. We'll set them later. - var maxX : CGFloat = 320; - var maxY : CGFloat = 320; + var maxX : CGFloat = 320 + var maxY : CGFloat = 320 let boxSize : CGFloat = 30.0 var boxes : Array = [] @@ -22,8 +22,8 @@ class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() - maxX = super.view.bounds.size.width - boxSize; - maxY = super.view.bounds.size.height - boxSize; + maxX = super.view.bounds.size.width - boxSize + maxY = super.view.bounds.size.height - boxSize // Do any additional setup after loading the view, typically from a nib. createAnimatorStuff() generateBoxes() @@ -47,16 +47,16 @@ class ViewController: UIViewController { } func randomColor() -> UIColor { - let red = CGFloat(CGFloat(arc4random()%100000)/100000); - let green = CGFloat(CGFloat(arc4random()%100000)/100000); - let blue = CGFloat(CGFloat(arc4random()%100000)/100000); + let red = CGFloat(CGFloat(arc4random()%100000)/100000) + let green = CGFloat(CGFloat(arc4random()%100000)/100000) + let blue = CGFloat(CGFloat(arc4random()%100000)/100000) - return UIColor(red: red, green: green, blue: blue, alpha: 0.85); + return UIColor(red: red, green: green, blue: blue, alpha: 0.85) } func doesNotCollide(testRect: CGRect) -> Bool { for box : UIView in boxes { - var viewRect = box.frame; + var viewRect = box.frame if(CGRectIntersectsRect(testRect, viewRect)) { return false } @@ -69,8 +69,8 @@ class ViewController: UIViewController { do { let guessX = CGFloat(arc4random()) % maxX - let guessY = CGFloat(arc4random()) % maxY; - guess = CGRectMake(guessX, guessY, boxSize, boxSize); + let guessY = CGFloat(arc4random()) % maxY + guess = CGRectMake(guessX, guessY, boxSize, boxSize) } while(!doesNotCollide(guess)) return guess @@ -82,15 +82,15 @@ class ViewController: UIViewController { view.addSubview(newBox) addBoxToBehaviors(newBox) - boxes += newBox; + boxes.append(newBox) return newBox } func generateBoxes() { - for i in 0..10 { + for i in 0..<10 { var frame = randomFrame() var color = randomColor() - var newBox = addBox(frame, color: color); + var newBox = addBox(frame, color: color) chainBoxes(newBox) } } @@ -116,22 +116,22 @@ class ViewController: UIViewController { //----------------- UIDynamicAllocator - var animator:UIDynamicAnimator? = nil; + var animator:UIDynamicAnimator? = nil let gravity = UIGravityBehavior() let collider = UICollisionBehavior() let itemBehavior = UIDynamicItemBehavior() func createAnimatorStuff() { - animator = UIDynamicAnimator(referenceView:self.view); + animator = UIDynamicAnimator(referenceView:self.view) gravity.gravityDirection = CGVectorMake(0, 0.8) - animator?.addBehavior(gravity); + animator?.addBehavior(gravity) // We're bouncin' off the walls collider.translatesReferenceBoundsIntoBoundary = true animator?.addBehavior(collider) - itemBehavior.friction = 0.1; + itemBehavior.friction = 0.1 itemBehavior.elasticity = 0.9 animator?.addBehavior(itemBehavior) } @@ -144,18 +144,18 @@ class ViewController: UIViewController { //----------------- Core Motion func gravityUpdated(motion: CMDeviceMotion!, error: NSError!) { - let grav : CMAcceleration = motion.gravity; + let grav : CMAcceleration = motion.gravity - let x = CGFloat(grav.x); - let y = CGFloat(grav.y); + let x = CGFloat(grav.x) + let y = CGFloat(grav.y) var p = CGPointMake(x,y) - if error { + if (error != nil) { NSLog("\(error)") } // Have to correct for orientation. - var orientation = UIApplication.sharedApplication().statusBarOrientation; + var orientation = UIApplication.sharedApplication().statusBarOrientation if(orientation == UIInterfaceOrientation.LandscapeLeft) { var t = p.x @@ -170,8 +170,8 @@ class ViewController: UIViewController { p.y *= -1 } - var v = CGVectorMake(p.x, 0 - p.y); - gravity.gravityDirection = v; + var v = CGVectorMake(p.x, 0 - p.y) + gravity.gravityDirection = v } }