博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
精简版—愤慨的小鸟
阅读量:6712 次
发布时间:2019-06-25

本文共 1461 字,大约阅读时间需要 4 分钟。

  • 首先我们要布局一下。使用sizeclass来布局:

布局

  • 连线过来:
@property (weak, nonatomic) IBOutlet UIButton *bird;@property (strong, nonatomic) IBOutletCollection(UIImageView) NSArray *ices;

对于冰块的连线。由于我们这里的冰块有4块,所以我们直接连的是一个数组

  • 懒载入一个UIDynamicAnimator
@property (strong, nonatomic) UIDynamicAnimator *animator;- (UIDynamicAnimator *)animator{    if ( !_animator) {        _animator = [UIDynamicAnimator new];    }    return _animator;}
  • 接下来,我们给监听鸟的点击事件
- (IBAction)birdAction:(id)sender{    // 给鸟和冰加入重力    NSMutableArray *tempArrM = [NSMutableArray array];    [tempArrM addObject:self.bird];    [tempArrM addObjectsFromArray:self.ices];    UIGravityBehavior *gravity = [[UIGravityBehavior alloc] initWithItems:tempArrM];    [self.animator addBehavior:gravity];    // 给鸟和冰加入碰撞    UICollisionBehavior *collision = [[UICollisionBehavior alloc] initWithItems:tempArrM];    [collision setTranslatesReferenceBoundsIntoBoundary:YES];    // 加入屏幕边缘碰撞    UIBezierPath *path = [UIBezierPath bezierPathWithRect:self.view.bounds];    [collision addBoundaryWithIdentifier:@"BoundsTest" forPath:path];    [self.animator addBehavior:collision];    /**     UIPushBehaviorModeContinuous,   持续的力     UIPushBehaviorModeInstantaneous     瞬间的力     */    // 给鸟加入推力    UIPushBehavior *push = [[UIPushBehavior alloc] initWithItems:@[self.bird] mode:UIPushBehaviorModeInstantaneous];    // 力的方向    push.magnitude = 5.0;    push.angle = 2 * M_PI;    [self.animator addBehavior:push];}

看一下效果:

愤慨的小鸟效果

能简单的实现 这个小游戏。大家能够自己把剩下的功能完好。谢谢

你可能感兴趣的文章
《CCNP ROUTE 300-101学习指南》——2.2节构建EIGRP拓扑表
查看>>
《为自己工作——世界顶级设计师成功法则》目录—导读
查看>>
Libreboot 项目向开源社区示好和致歉
查看>>
《CMYK 2.0——设计师色彩管理手册》—第1章1.3节副作用
查看>>
java.util.concurrent.locks.LockSupport
查看>>
红帽加入 Node.js 基金会白金会员
查看>>
《OpenGL编程指南》一2.7 独立的着色器对象
查看>>
Ionic 3.4.2 发布,漂亮的 HTML5 移动应用框架
查看>>
Linux Kernel 4.9-rc8,4.9 分支最后一个候选版
查看>>
想开发 Android 分支?没门!
查看>>
《Web异步与实时交互——iframe AJAX WebSocket开发实战》—— 2.2 相关关键技术及工作原理...
查看>>
《Nmap渗透测试指南》—第1章1.5节Mac OS安
查看>>
重磅,企业实施大数据的路径
查看>>
linux之cp/scp命令+scp命令详解
查看>>
Spark 源码分析 -- BlockStore
查看>>
《C语言编程初学者指南》一1.7 创建并运行第一个C程序
查看>>
学习和使用 PHP 应该注意的10件事
查看>>
《Ember.js实战》——2.5 Ember.js对象模型
查看>>
《响应式Web图形设计》一第13章 响应Web设计中的图像
查看>>
shiro session 监听
查看>>