精简版—愤怒的小鸟

  • 首先我们要布局一下,使用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];
}

看一下效果:

能简单的实现 这个小游戏,大家可以自己把剩下的功能完善。谢谢

时间: 2024-10-05 12:32:24

精简版—愤怒的小鸟的相关文章

让 Chrome 57 支持迅雷精简版

感觉下面步骤麻烦的,可以翻到文章最后,提供了全部文件打包,Chrome 扩展最好还是去 Chrome 商店安装 详细步骤 1. 安装迅雷精简版 迅雷精简版 1.5.3.288 最终更新官网下载 http://down.sandai.net/mini/ThunderMini_dl1.5.3.288.exe 2. 下载迅雷 Chrome 扩展额外支持包 http://plugin.xl7.xunlei.com/7.9/func/xl_ext_chrome_setup.exe 3. 使用 7zip 解

oracle10g精简版安装步骤

 Feng218 如果出现如下错误: 最好把360安全卫士全关了,再安装下,就没事了 然后安装完了进入时输入用户名:sys或者system 密码就是自己设好的密码进来之后如下所示 oracle10g精简版安装步骤,布布扣,bubuko.com

精简版搜索(search lite)

ES有两种格式的search api: "lite"--query string版本,这个版本期望所有的参数在请求中指定并传递 full request body版本期望得到一个JSON请求体,并且使用一个名为DSL的丰富的搜索语言 query string搜索对在使用命令行的即席查询(ad hoc queries)是很有用的.例如要查询type是tweet并且字段"tweet"包含"elasticsearch"单词的document: GET

MySql5.7.11 for Windows 安装精简版(一)

原文:MySql5.7.11 for Windows 安装精简版(一) 从官网下载压缩包,我下载的是64位的.解压. 精简: -Bin下只保留 mysqladmin.exe mysqld.exe mysql.exe Share目录下 保留charsets english 没有data文件夹一会告诉怎么生成 添加环境变量,mysql bin文件夹的路径 (如:C:\Program Files\MySQL\MySQL Server 5.6\bin )添加到Path中,当然之前的不要删了,用:隔开就好

安装虚拟机精简版centos7

相信大家都想在linux系统下开发,但是又希望自己的电脑是win.我与大家一样,所以今天就试着装虚拟机centos来区分开发. 首先安装虚拟机. 一.下载资源 1.虚拟机VMware Workstation 12 2.centos 7 镜像iso(我选的是精简版,完整版太大了.链接:http://isoredirect.centos.org) 二.建立centos虚拟机 根据 http://jingyan.baidu.com/article/676629974f3ac454d51b8437.ht

Windows7 SP1旗舰版精简版最终版本

2016年6月9号,老毛子@lopatkin大神针对Win7 SP1旗舰版精简版进行了最终更新,此次主要是之前小问题的修复和调整.该版为Windows 7 SP1 简体中文旗舰版最新版,包含2016年微软累积更新,经过国内众多系统爱好者检验,精简后体积比较小,适合低配电脑,非常稳定流畅!Win7爱好者们不妨下载收藏! 俄罗斯系统精简狂人@lopatkin 大侠一直专注于Windows操作系统的精简封装,每次微软有新的系统版本发布,他都会第一时间制作跟进发布.老毛子精简改进的系统以纯净流畅为主,无

使用Oracle Database Instant Client 精简版

如果只为了在开发环境中访问Oracle,推荐使用Oracle Database Instant Client(精简版)它相对小巧且不需要安装绿色方便移植. 官方下载Instant Client,在Oracle网站查找下载链接是件非常痛苦的事情,实在难找.为了方便,这里提供给大家适用所有平台的 Instant Client 下载页面: 根据自己系统环境选择版本,下载完成后解压. 这里注意两点: 1.PLSQL Developer使用,因为PLSQL Developer不支持64位的Oracle客户

ArcGIS10.2.1精简版、ArcGIS_Desktop10_Tutorial、破解文件等下载地址

原版ArcGIS for Desktop的ISO文件一般都在4.5G以上,一般人用不上里面很多工具,下载回来又浪费时间,现推出ArcGIS10.2.1精简版(里面只包含主程序.Data Interoperability和License工具).下载地址: http://pan.baidu.com/s/1jGp23t0 令外放出ArcGIS_Desktop10_Tutorial,需要的同学赶快了.ArcGIS10.2.1精简版.ArcGIS_Desktop10_Tutorial.破解文件等下载 出处

Oracle Client 10g (instantclient) 精简版安装

今天遇到个软件要求安装oracle client端,于是考虑装精简版本的,就从http://www.oracle.com/technology/software/tech/oci/instantclient/index.html下载了instantclient-basic-win32-10.2.0.4.zip(当然你也可以下载其他版本或操作系统的client,如x86.x64,linux等),该版本支持多种语言的.虽然最终精简版是安装成功了,但是该软件还是没有办法使用,估计精简版中没有软件需要的