zoukankan      html  css  js  c++  java
  • UIdynamic

    UIDynamic是一种物理引擎,能够模拟和仿真现实生活中的物理现象:iOS7之后引入的新技术

    1.重力、弹性碰撞等现象,案例“愤怒的小鸟”;

    价值:让开发人员可以在原理物理公式的情况下,实现炫酷的物理仿真效果;

    提高了游戏的开发效率,产生更多更好玩的物理仿真游戏;

    知名2D物理引擎:Box2d,Chipmunk

    使用步骤:

    1.创建一个物理仿真器(设置仿真范围);2.创建相应的仿真行为(顺便添加仿真元素);3将物理仿真行为添加到仿真器里边,开始仿真。

    不是任何对象都可以进行物理仿真,必须遵守UIDynamicitem协议的对象才可以进行物理仿真;任何UI控件都可以进行物理仿真;

    物理仿真行为:重力行为 UIGravityBehavior,UIcollisionBehavior碰撞行为,UISnapBehavior捕捉行为,UIpushbehavior推动行为,UIttachmentBehavior附着行为。UIDynamicItemBehavior动力元素行为

    物理仿真器

    (1)物理仿真器须知

    它可以让物理仿真元素执行物理仿真行为

    它是UIDynamicAnimator类型的对象

    (2)UIDynamicAnimator的初始化

    - (instancetype)initWithReferenceView:(UIView *)view;

    view参数:是一个参照视图,表示物理仿真的范围

    5.物理仿真器的说明

    (1)UIDynamicAnimator的常见方法

      - (void)addBehavior:(UIDynamicBehavior *)behavior;    //添加1个物理仿真行为

      - (void)removeBehavior:(UIDynamicBehavior *)behavior;  //移除1个物理仿真行为

      - (void)removeAllBehaviors;    //移除之前添加过的所有物理仿真行为

    (2)UIDynamicAnimator的常见属性

      @property (nonatomic, readonly) UIView* referenceView;  //参照视图 

      @property (nonatomic, readonly, copy) NSArray* behaviors;//添加到物理仿真器中的所有物理仿真行为

      @property (nonatomic, readonly, getter = isRunning) BOOL running;//是否正在进行物理仿真

      @property (nonatomic, assign) id <UIDynamicAnimatorDelegate> delegate;//代理对象(能监听物理仿真器的仿真过程,比如开始和结束)

  • 相关阅读:
    java 堆栈 附图
    synchronized、volatile关键字
    Swift随笔
    java |、&、~、>>、<<运算符的作用。
    java双向链表示意图
    java单链表
    List集合的过滤之lambda表达式
    SQL hint作用
    创建触发器的一般语法
    多线程创建方式
  • 原文地址:https://www.cnblogs.com/liuyang666/p/5222055.html
Copyright © 2011-2022 走看看