美文网首页
仿真动画

仿真动画

作者: LucXion | 来源:发表于2017-09-14 16:09 被阅读0次

标签:弹性附着行为、刚性附着行为、碰撞边缘检测、推动行为、吸附行为、重力行为
1 重力行为

-(void)重力行为UIGravityBehavior{
//在当前View中强引用动画者属性,创建动 画者(动力学元素 和 iOS物理引擎的中介),参考对象参数表示在谁里面开启了这个环境(这个环境是没有范围的).
    self.dynamicAnimator = [[UIDynamicAnimator alloc]initWithReferenceView:self.view]; 
//根据动力学元素创建行为,参数是一个数组
    UIGravityBehavior *gravityBehavior = [[UIGravityBehavior alloc]initWithItems:@[self.greenView]];
//将行为添加到动画者身上
    [self.dynamicAnimator addBehavior:gravityBehavior];
}

2 碰撞边缘检测

-(void)碰撞边缘检测UICollisionBehavior{
    //在开启动画者前提下
   //创建行为
    UICollisionBehavior *collisionBehavior = [[UICollisionBehavior alloc]initWithItems:@[self.greenView]];
//注意开启碰撞边缘检测    
    collisionBehavior.translatesReferenceBoundsIntoBoundary = YES;
//将边缘检测添加到动画者
    [self.dynamicAnimator addBehavior:collisionBehavior];
}

3 吸附行为

-(void)吸附行为UISnapBehavior{
//吸附行为自带一个类似刹车的效果
//如果要进行连续多次的吸附行为,每一次开头都必须清除上一次的吸附行为
    [self.dynamicAnimator removeBehavior:self.snapBehavior];
//动力学对象的中心点将移动到该指定的点中
    UISnapBehavior *snapBehavior = [[UISnapBehavior alloc]initWithItem:self.greenView snapToPoint:CGPointMake(1, 1)]; 
    [self.dynamicAnimator addBehavior:snapBehavior];
    self.snapBehavior = snapBehavior;
}

4 推动行为

-(void)推动行为UIPushBehavior{
    UIPushBehavior *pushBehavior = [[UIPushBehavior alloc]initWithItems:@[self.greenView] mode:UIPushBehaviorModeInstantaneous];
    //角度  三角形锐角 : tan(相对直角边,相邻直角边)  sin(相对直角边,相邻斜边)
    pushBehavior.angle = 0;
  //力度
    pushBehavior.magnitude = 10;
    [self.dynamicAnimator addBehavior:pushBehavior];
}

5 刚性附着行为

-(void)刚性附着行为UIAttachmentBehavior{
//刚性附着行为的创建方法有很多,这里设置的点只是确定动作力元素(默认是当前位置的中心点)与附着点的距离.
    //offer : 偏离中心点的距离
    //两个元素,元素与元素的附着
    UIAttachmentBehavior *attachmentBehavior = [[UIAttachmentBehavior alloc]initWithItem:self.greenView attachedToAnchor:CGPointMake(9, 9)];
   //通过附着点位置的更改,使动作力元素的位置改变,距离确定,方向却不一定相同
    attachmentBehavior.anchorPoint = CGPointMake(1, 1);
}

6 弹性附着行为

-(void)弹性附着行为UIAttachmentBehavior{
//在刚性附着行为上增加设置两个属性
    /*
     开启晃动
     self.myAttach.damping = 1.0;
     频率
     self.myAttach.frequency = 0.8;
     //注意,要在对象重力行为下才会晃动(或者说拖拽中?)
     */
}

相关文章

  • 仿真动画

    标签:弹性附着行为、刚性附着行为、碰撞边缘检测、推动行为、吸附行为、重力行为1 重力行为 2 碰撞边缘检测 3 吸...

  • 5.3 iOS 物理仿真器(动画者)

    1.3物理仿真器(动画者) (一)物理仿真器的作用 作用:可以让物理仿真元素执行物理仿真行为,是UIDynamic...

  • 使用CAKeyFrameAnimation仿真减速动画

    使用CAKeyFrameAnimation仿真减速动画 前段时间看lottie,想做一个动画来锻炼自己对动画的熟悉...

  • UIDynamic动画

    基础知识 UIDynamic是物理仿真动画,使用前先了解三个类:物理仿真元素(Dynamic Item):要执行动...

  • 多功能点阵显示系统(仿真)

    该资料包含多个点阵仿真,分别使用138、154仿真图,演示时间、动画、温度显示,可通过按键设置显示方式。 该资料内...

  • 重力仿真碰撞动画

    获取设备的重力感应,就需要导入系统的核心库 创建运动管理者,模拟设备的重力感应 2.创建一个物理仿真器,(顺便设置...

  • UIDynamic

    简介 UIDynamic是iOS 7之后新添加的一些物理仿真动画库,包含在UIKit框架中。 UIDynamic中...

  • UIDynamicAnimator 仿真物理学动画

    UIDynamicAnimator 是iOS7引入的用来模拟现实世界的物理模型相当于一个物理坐标系 把物理行为添加...

  • 酷炫卡通外星人GPU渲染蓝海创意云仿真渲染

    仿真动画渲染这个要求的渲染技术是非常高的。在进行动画渲染的时候无论是人物形象、动作都要十分的生动、真实。这需要强大...

  • 世界顶级的三维动画软件——Maya ,老外都在用!

    Autodesk Maya 2018 for Mac三维动画、建模、仿真和渲染软件提供了一个功能强大的集成工具集。...

网友评论

      本文标题:仿真动画

      本文链接:https://www.haomeiwen.com/subject/rxpdsxtx.html