LoginSignup
4
4

More than 5 years have passed since last update.

[Swift] UIGravityBehaviorを使って、重力をつくる

Last updated at Posted at 2016-02-15

開発環境

Xcode 7.2.1

コード

まずCoreMotionをimportします

ViewController.swift
import UIKit

class ViewController: UIViewController {

    //重力を掛けたいUIViewを@IBOutletで関連付け
    @IBOutlet var balls: [UIView]!

//    DynamicAnimatorを変数宣言する
    var dynamicAnimator: UIDynamicAnimator!


    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        self.startGame()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    func startGame() {
//        UIDynamicAnimatorのクラス群のUIDynamicBehaviorを使う
        let gravityBehavior = UIGravityBehavior(items: self.balls)

        dynamicAnimator = UIDynamicAnimator(referenceView: self.view)
        dynamicAnimator.addBehavior(gravityBehavior)

//        衝突のシュミレーションのためにUICollisionBehaviorを使う
        let collisionBehavior = UICollisionBehavior(items: self.balls)




//        外枠にボールがぶつかれば跳ね返るようにする
        collisionBehavior.translatesReferenceBoundsIntoBoundary = true


        dynamicAnimator.addBehavior(collisionBehavior)



    }


}

サンプルコード

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4