\
2014年11月15日
Posted by 屋台ブルー at 2014年11月15日00:00 Comment(0)

Swiftで遊ぼう! - 127 - UIKit UIDynamicAnimator/gravity2

Swiftで遊ぼう! - 127 - UIKit UIDynamicAnimator/gravity2UIDynamicAnimatorクラスは、UIKitの物理学エンジンという説明があるが、正確に言うと、物理学エンジン、これは一連のBehaviorクラスのことだろう。ということは以下のクラスじゃないかな。

UIAttachmentBehavior
UICollisionBehavior
UIDynamicItemBehavior
UIGravityBehavior
UIPushBehavior
UISnapBehavior

まず物理学エンジンというのをクラスでどのように表現するのか理解しておく必要がある。UIViewアイテムの(物理学的)動きの軌跡は、位置情報としてアレー型で保持することになる。そしてこれは、あくまでも位置情報なので、このインスタンスを前述のUIDynamicAnimatorのリファレンスviewに提供することで、動きがアニメーションされて画面に描出されるってとこですね。

当然のように、物理学エンジンのBehaviorクラスには、数々のプロパティが用意されていて、角度(angle)とか強さ(magnitude)を変化させられる。

昨日の内容を以下のようにしてやると、squareオブジェクトが右方向に超高速に飛んでいきます(笑)

import UIKit

class ViewController: UIViewController {

var animator: UIDynamicAnimator!
var gravity: UIGravityBehavior!

override func viewDidLoad() {
super.viewDidLoad()
let square = UIView(frame: CGRect(x: 100, y: 100, width: 100, height: 100))
square.backgroundColor = UIColor.blueColor()
view.addSubview(square)

animator = UIDynamicAnimator(referenceView: view)
gravity = UIGravityBehavior(items: [square])
gravity.angle = 0.0
gravity.magnitude = 12.0
animator.addBehavior(gravity)
}

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

}

このangleプロパティだけど、何も考えずに「0.0」を入れると右方向に飛んでいく。しかし、「90.0」を入れると左下に飛んでいく? 角度の単位は何だろう? まだ調べていないので良くわかっていない....(^_^;)

今日はここまで。


同じカテゴリー(Swiftで遊ぼう!)の記事画像
Swiftで遊ぼう! - プログラミングまとめ(ときどき更新)
Swiftで遊ぼう! - 番外編 - Xcode6:ショートカットと用語説明
Swiftで遊ぼう! - 209 - ルートビューのコードは続く:CGRect
Swiftで遊ぼう! - 208 - ルートビューのコード
Swiftで遊ぼう! - 207 - ツールバーボタンとビューコントローラーを繋ぐ
Swiftで遊ぼう! - 206 - ビューコントローラーにビューコントローラーを載せる
同じカテゴリー(Swiftで遊ぼう!)の記事
 Swiftで遊ぼう! - プログラミングまとめ(ときどき更新) (2021-01-31 00:00)
 Swiftで遊ぼう! - 番外編 - Xcode6:ショートカットと用語説明 (2015-04-05 00:00)
 Swiftで遊ぼう! - 209 - ルートビューのコードは続く:CGRect (2015-02-06 00:00)
 Swiftで遊ぼう! - 208 - ルートビューのコード (2015-02-05 00:00)
 Swiftで遊ぼう! - 207 - ツールバーボタンとビューコントローラーを繋ぐ (2015-02-04 00:00)
 Swiftで遊ぼう! - 206 - ビューコントローラーにビューコントローラーを載せる (2015-02-03 00:00)

上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

削除
Swiftで遊ぼう! - 127 - UIKit UIDynamicAnimator/gravity2
    コメント(0)