学习中不段进步!

游戏思路:通过键盘控制白色小球,让它“捡起”柠黄色方块,捡起一个加1分,全部捡起游戏胜利!


游戏对象:

Ground:绿色地面

player:  小球

Obstacle:围墙

PickUps:小方块

脚本

  • 键盘控制小球移动
  • 摄像机跟随小球移动
  • 小球捡起方块(也就是消除方块)
  • 得分以及胜利
  • 小方块自己在不停的旋转

1、键盘控制小球移动

这个需要先给小球添加Rigidbody(刚体)组件,想要让小球移动就需要给小球施加一个力(下面红线是控制在这操作的代码)

private(私有化)一个叫做rd的Rigidbody;      //private可百度

public force=5;

void Start(){                              //初始化

rd=GetComponent<Rigidbody>    //获取这个组件赋给rd

}

void Update(){                               //每一帧都调用,一一般1S=60

float h=Input.GetAxis("Horizontal");    //Input.GetAxis("Horizontal");键盘控制运动,在X轴移动,  float因为它返回的是-1—1的数

float v=Input.GetAxis("Vertical");        //Input.GetAxis("Vertical");键盘控制运动,在Z轴移动

rd.Addforce(new Vector3(h,0,v)*force);   //在rd上施加一个力,力的方向是 newVector(h,0.v)  力的大小后面乘force,在最上面定义

}

2、摄像机跟随小球移动

摄像机跟随小球可以说是(摄像机相对于小球的位置不变) //这个脚本绑定在摄像机上

public Transform playertransform;         //transform暂可理解为获取本脚本所对应的游戏对象的位置信息
                                                                Transform则可用来获取其他尤其对象位置信息来作用于本脚本

offset=transform.postiton-playertransform.position ;  //向量差=相机的坐标-小球的坐标

transform.position=offset+playertransform.position;     //再将向量差值加上现在小球所在位置的向量赋给摄像机

3、小球捡起方块(也就是消除方块)

  • 碰撞检测(停顿一下,有碰撞感)
  • 触发检测(没有碰撞感)

将所有方块的Tag设置为PickUp

void OnCollisionEnter(Collision collision){    //可查API,当碰撞时i

if(collision.collider.tag=="PickUp"){      //当标签为PickUp;
Destory(collision.collider.gameObject)   //摧毁这个游戏对象

}

}

触发同理 可查OnTriggerEnter的API  需要勾选消除的 Is Tigger

4、小方块自己在不停的旋转

创建方块的实例perfabs

ttransform.Rotate(new Vectors(0,1,0))   //沿着轴旋转,在这里面一帧时间沿着Y轴旋转1°,并且在 Update函数下

5、得分以及胜利

创建两个UI.tex

t

在Player里创建2个public,一个 public text text //需要里面的text属性

一个 public GameObject Wintext 直接使用游戏对象

score++;  得分自加

text.text=score.Tostring();    //将整数型的score转化为字符串并赋值给text

if(score==10){     //当捡钱的方块为10个时

Wintext.SetActive(ture);      //激活Wintext游戏对象,之前取消激活

真正的才智是刚毅的志向。 —— 拿破仑

关于Roll A Ball实例练习记录的更多相关文章

  1. 《JAVA程序设计与实例》记录与归纳--继承与多态

    继承与多态 概念贴士: 1. 继承,即是在已经存在的类的基础上再进行扩展,从而产生新的类.已经存在的类成为父类.超类和基类,而新产生的类成为子类或派生类. 2. Java继承是使用已存在的类的定义作为 ...

  2. Roll A Ball

    GameObject的添加就不细说了,地面,小球和碰撞小物体. 刚体组件(Rigidbody): 使物体能够模拟物理效果,比如重力,碰撞,推力等: 控制小球移动的脚本(Script,Ball的脚本): ...

  3. shell脚本实例-命令记录

    http://bbs.51cto.com/thread-594667-1.html script使用注意事项输入1: [root@-shiyan rec]# cat record1 #!/bin/ba ...

  4. 《JAVA程序设计与实例》记录与归纳--类与对象

    类与对象 概念贴士: 1. 类必须先定义了才能使用.类是创建对象的模板,创建对象也叫类的实例化. 2. 在Java中,使用new关键字来创建对象,一般有一下3个步骤: 1)声   明:声明一个对象,包 ...

  5. mysql一机多实例安装记录

    因为想研究mycat,所以需要安装多个mysql实例进行研究.限于没有多于计算机,只能在本机安装了.通过mysql文档,自己琢磨着安装成功! 目录结构如下: 其中one和two文件夹用来模拟数据库分库 ...

  6. 微信jsapi开发应用实例并记录下错误信息

    虽然大家已经有实例,但还是要根据自己的项目更改 在这里需要注意的几点 也是常常报错的 1.页面必须是UTF8(已经json不认gbk,所以会提醒 -1调用支付JSAPI缺少参数APPID 这是编码引起 ...

  7. Linux下MySQL多实例部署记录

    什么是MySQL多实例 简单地说,Mysql多实例就是在一台服务器上同时开启多个不同的服务端口(3306.3307),同时运行多个Mysql服务进程,这些服务进程通过不同的socket监听不同的服务端 ...

  8. 学习unity的第一个小游戏(Roll the ball)的笔记

    1.摄像机的跟随运动,逻辑就是保持摄像机跟主角的距离不变(Undate()函数). offset=trandform.position-player.position. Undate() { tran ...

  9. ORACLE 从一个实例迁移到另外一个实例实战记录

    .schema1到schema2的迁移 Oracle 从一个用户expdp导出再impdp导入到还有一个用户,能够使用REMAP_SCHEMA=user1:user2来实现: 假设想导入的用户已经存在 ...

随机推荐

  1. 在Vue2.0中集成UEditor 富文本编辑器

    在vue的'项目中遇到了需要使用富文本编辑器的需求,在github上看了很多vue封装的editor插件,很多对图片上传和视频上传的支持并不是很好,最终还是决定使用UEditor. 这类的文章网上有很 ...

  2. 第二十二章 Django会话与表单验证

    第二十二章 Django会话与表单验证 第一课 模板回顾 1.基本操作 def func(req): return render(req,'index.html',{'val':[1,2,3...]} ...

  3. Docker mongodb 3.4 分片 一主 一副 一仲 鉴权集群部署.

    非docker部署 为了避免过分冗余,并且在主节点挂了,还能顺利自动提升,所以加入仲裁节点 为什么要用docker部署,因为之前直接在虚拟机启动10个mongod 进程.多线程并发测试的时候,mong ...

  4. Activity的生命周期& 启动模式

    1.Activity的生命周期 生命周期这个事情,是android工程师最基础的知识,所以今天要讲的是一些不一样的东西. 1.1 OnStart,OnResume,OnPause,OnStop 他们的 ...

  5. linux kvm虚拟机快速构建及磁盘类型

    KVM命令管理 virsh命令:用来管理各虚拟机的接口命令查看/创建/停止/关闭...支持交互模式格式:virsh 控制指令 [虚拟机名称] [参数] [root@room1pc01 桌面]# vir ...

  6. ORA-04028: cannot generate diana for object xxx

    在ORACLE数据库(10.2.0.5.0)上修改一个包的时候,编译有错误,具体错误信息为"ORA-04028: cannot generate diana for object xxx&q ...

  7. ubuntu 下命令行播放器mplayer 使用详解

    ubuntu 下命令行播放器mplayer 使用详解 2011-01-02 21:00:42|  分类: Linux/Unix |  标签: |字号大中小 订阅 使用 MPlayer 播放媒体文件最简 ...

  8. Davinci DM6446开发攻略——u-boot-1.3.4移植(1)

    UBOOT的版本更新速度比较快,截止今天,稳定正式的版本是u-boot-2009.11-rc2,而TI最新的EVM开发包里的UBOOT是1.2.0版本,国内很多公司还一直使用u-boot-1.1.4和 ...

  9. python︱Anaconda安装、简介(安装报错问题解决、Jupyter Notebook)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 安装完anaconda,就相当于安装了Pyth ...

  10. Java中File类总结

    /** * @Title:JavaFile.java * @Package:com.yhd.chart.model * @Description:File类测试 * @author:Youhaidon ...