用Easing函数实现碰撞效果

工程中需要的源码请从这里下载:

https://github.com/YouXianMing/EasingAnimation

源码:

//
//  ViewController.m
//  EasingView
//
//  Created by YouXianMing on 15/1/17.
//  Copyright (c) 2015年 YouXianMing. All rights reserved.
//

#import "ViewController.h"
#import "YXEasing.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    // 显示的view
    UIView *showView            = [[UIView alloc] initWithFrame:CGRectMake(100, -100, 100, 100)];
    showView.backgroundColor    = [UIColor clearColor];
    showView.layer.borderColor  = [UIColor redColor].CGColor;
    showView.layer.borderWidth  = 4.f;
    showView.layer.cornerRadius = 50.f;
    [self.view addSubview:showView];

    // 关键帧动画
    CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"position"];

    // 设置值
    [animation setValues:[YXEasing calculateFrameFromPoint:showView.center
                                                   toPoint:CGPointMake(showView.center.x, showView.center.y + 565)
                                                      func:BounceEaseOut
                                                frameCount:100]];

    // 设置持续时间
    animation.duration  = 1.f;

    // 执行动画效果
    showView.center = CGPointMake(showView.center.x, showView.center.y + 565);
    [showView.layer addAnimation:animation forKey:nil];
}

@end
时间: 2024-10-11 12:18:07

用Easing函数实现碰撞效果的相关文章

透过HT for Web 3D看动画Easing函数本质

http://www.hightopo.com/guide/guide/plugin/form/examples/example_easing.html 50年前的这个月诞生了BASIC这门计算机语言,回想起自己喜欢上图形界面这行,还得归功于当年在win98下用QBASIC照葫芦画瓢敲了一段绘制奥运五环的代码,当带色彩的奥运五环呈现在自己面前时我已知道自己这辈子要走的路了.在这个忘本逐新的年代不见多少媒体提及这影响了几代人的BASIC语言的50年庆了. 如今消费者对用户体验的高要求,以远不能以静

添加墙元素实现碰撞效果

碰撞效果实现: 利用CollisionUtils判断两个对象是否发生碰撞 x1:第一个矩形的x坐标 y1:第一个矩形的y坐标 w1:第一个矩形的宽度 h1:第一个矩形的高度 x2:第二个矩形的x坐标 y2:第二个矩形的y坐标 w2:第二个矩形的宽度 h2:第二个矩形的高度 可以理解为tank和wall的碰撞检测,如果发生碰撞则返回true,否则返回false 代码实现: 1.创建一个墙类,继承于Element 1 package Itheima.bean; 2 3 public class Wa

透过WebGL 3D看动画Easing函数本质

50年前的这个月诞生了BASIC这门计算机语言,回想起自己喜欢上图形界面这行,还得归功于当年在win98下用QBASIC照葫芦画瓢敲了一段绘制奥运五环的代码,当带色彩的奥运五环呈现在自己面前时我已知道自己这辈子要走的路了.在这个忘本逐新的年代不见多少媒体提及这影响了几代人的BASIC语言的50年庆了. 如今消费者对用户体验的高要求,以远不能以静态平面图形打动人心,动画已是衡量前端产品用户体验不可忽视的重要因素,最近Facebook开源的Pop动画框架已发了iOS业界极大的关注,其实Apple早在

iOS 力学动画生成器UIKit Dynamics 之碰撞效果解说

UIKit Dynamic是iOS7 新增的一组类和方法.可赋予UIView逼真的行为和特征,不须要写动画效果那些繁琐的代码,让开发者可以轻松地改善应用的用户体验.一共同拥有6个可用于定制UIDynamicAnimator的类.这里先仅仅简介下碰撞的动画效果,即UICollisionBehavior.须要签订一个代理协议:UICollisionBehaviorDelegate. 其它效果,兴许更新,敬请期待. 注意:dragonImageView和frogImageView记得要初始化还有: U

iOS 力学动画生成器UIKit Dynamics 之碰撞效果讲解

UIKit Dynamic是iOS7 新增的一组类和方法,可赋予UIView逼真的行为和特征,不需要写动画效果那些繁琐的代码,让开发人员能够轻松地改善应用的用户体验.一共有6个可用于定制UIDynamicAnimator的类,这里先只简单介绍下碰撞的动画效果,即UICollisionBehavior.需要签订一个代理协议:UICollisionBehaviorDelegate.其他效果,后续更新,敬请期待. #import "ICFCollisionViewController.h"

Jquery Easing函数库

从jQuery API 文档中可以知道,jQuery自定义动画的函数.animate( properties [, duration] [, easing] [, complete] )有四个参数: properties:一组包含作为动画属性和终值的样式属性和及其值的集合 duration(可选):动画执行时间,其值可以是三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000) e

UIDynamic仿物理引擎-浮动碰撞效果-b

最近产品提了个需求(电商的APP-两鲜),需要在APP背景加上几个水果图案在那里无规则缓慢游荡...模仿 天天果园 APP的.好吧,那我就在网上找了很多文章,总结一下写个demo.效果如下: Mou icon 这里用到的是UIDynamic这个类. UIDynamic简介 一.简介 注意:UIKit动力学的引入,并不是为了替代CA或者UIView动画,在绝大多数情况下CA或者UIView动画仍然是最有方案,只有在需要引入逼真的交互设计的时候,才需要使用UIKit动力学它是作为现有交互设计和实现的

延迟函数 比sleep效果好

sleep是会阻塞线程的 网上有些延迟函数测试下来还是会阻塞,而接下来推荐的代码则不会 1 2 3 4 5 6 7 8 9 procedure delay(dwMilliseconds:integer); var firsttickcount: longint; begin firsttickcount := gettickcount; repeat application.processmessages; until ((gettickcount - firsttickcount) >= lo

golang函数指针的效果

package main import ( "fmt" ) func fun1(key string) { fmt.Printf("fun11 key=%s\n", key) } func fun2(key string) { fmt.Printf("fun22222222222 key=%s\n", key) } var funVar func(key string) func main() { funVar = fun1 funVar(&qu