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;//代理对象(能监听物理仿真器的仿真过程,比如开始和结束)

  • 相关阅读:
    Dubbo简介
    Centos之关机和重启命令
    VirtualBox中CentOS7.2 网络配置(固定IP+联网)
    c#Post方法封装处理
    C# 异步方法处理
    将XMLrequest 改写成fetch
    AsyncCallback
    Promise
    FETCH
    HTML DOM Event 对象
  • 原文地址:https://www.cnblogs.com/liuyang666/p/5222055.html
Copyright © 2011-2022 走看看