Unity脚本说明

Unity支持语言:
C#(主流),JavaScript,Boo
创建脚本:
【Assets-Create-C# Script】

学习案例

布置场景:
添加一个Plane,3个Cube,一个Directional light
设置启动项(Preferences)
导入UnityVS,方便用vs开发unity
【Assets-Import Package-Visual Studio 2014 Tools】
写一个让方块移动的脚本(Move)
【Assets-Create-C# Script】
修改脚本用VS打开
【Edit-Preferences-External Tools-选择VS2013】
 
编写脚本
双击Move脚本,然后打开,写上脚本
编写方块移动脚步(Move.cs)
//注意Move的名字是否与你新建脚本名字相同
public class Move : MonoBehaviour
{
//类似一个面向组件的接口,如果是public的话,在组件中可以看到一个叫go的属性
private GameObject go;
//初始化程序
void Start ()
{
//找到 名字叫Cube4的 游戏对象
go = GameObject.Find("Cube4");
//设置游戏对象的颜色,在渲染组件中
go.renderer.material.color = Color.red;
}
// 游戏运行时一帧一帧的,每一帧都要调用Update()方法
void Update () {
//在每一帧当中 都时时的检查 有没有按下键盘
if (Input.GetKey(KeyCode.A))
{
//Time.deltaTime是帧的单位,这里是5个单位
//通过查看坐标系,确定x,y,z对应的上下左右
//Space.Self自身坐标系
go.transform.Translate(0, 0, 5*Time.deltaTime, Space.Self);
}
if (Input.GetKey(KeyCode.D))
{
go.transform.Translate(0, 0, -5*Time.deltaTime, Space.Self);
}
if (Input.GetKey(KeyCode.S))
{
go.transform.Translate(-5*Time.deltaTime,0,0,Space.Self);
}
if (Input.GetKey(KeyCode.W))
{
go.transform.Translate(5*Time.deltaTime,0,0,Space.Self);
}
}
}

将该脚本拉到Camera中,在Inspector中可以看到

此时,运行游戏,可以通过w,a,s,d进行上下左右移动了,但是这个游戏对象撞在一起回重叠,我们想要的效果是可以碰撞。

设置刚体(Rigidbody)
【在Hierarchy中选择Cube,在工具栏中Component-Physics-Rigidbody】四个Cube都要设置
编写碰撞检测脚步(PZJC.cs)

代码如下

public class PZJC : MonoBehaviour {

    // Use this for initialization
void Start () { } // Update is called once per frame
void Update () { }
/// <summary>
/// 每次游戏对象发生碰撞的时候 都会执行此方法
/// </summary>
/// <param name="co">可以获得被撞的游戏对象</param>
void OnCollisionEnter(Collision co)
{
co.gameObject.renderer.material.color = Color.blue;
}
}

因为操作的Cube4,那么就把该脚本拉给Cube4

此时运行游戏,操作

因为Cube4最先碰撞到的是Plane,所有Plane会变色

Unity学习-碰撞检测(七)的更多相关文章

  1. 2019年Unity学习资源指南[精心整理]

    前言 进入一个领域,最直接有效的方法就是,寻找相关综述性文章,首先你需要对你入门的领域有个概括性的了解,这些包括: 1.主流的学习社区与网站. 2.该领域的知名大牛与热心分享的从业者. 3.如何有效的 ...

  2. C语言学习 第七次作业总结

    C语言学习 第七次作业总结 数组可以分为数组和多下标数组(在传统的国内C语言书本中,将其称为二/多维数组). 数组名称 在之前的课程中,大家应该都有印象,对于int a这样的定义,会为变量 a 声明一 ...

  3. 前端学习 第七弹: Javascript实现图片的延迟加载

    前端学习 第七弹: Javascript实现图片的延迟加载 为了实现图片进入视野范围才开始加载首先: <img    src="" x-src="/acsascas ...

  4. MyBatis学习总结(七)——Mybatis缓存(转载)

      孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(七)--Mybatis缓存 一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的 ...

  5. 八、Android学习第七天——XML文件解析方法(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 八.Android学习第七天——XML文件解析方法 XML文件:exten ...

  6. (转)Qt Model/View 学习笔记 (七)——Delegate类

    Qt Model/View 学习笔记 (七) Delegate  类 概念 与MVC模式不同,model/view结构没有用于与用户交互的完全独立的组件.一般来讲, view负责把数据展示 给用户,也 ...

  7. 【转】MyBatis学习总结(七)——Mybatis缓存

    [转]MyBatis学习总结(七)——Mybatis缓存 一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 一级缓存: 基于PerpetualC ...

  8. Learning ROS for Robotics Programming Second Edition学习笔记(七) indigo PCL xtion pro live

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS forRobotics Pro ...

  9. python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍

    目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...

随机推荐

  1. JavaScript保留关键字(全)

    JavaScript 标准 所有的现代浏览器已经完全支持 ES5(ECMAScript 5). JavaScript 保留关键字(keyword) Javascript 的保留关键字(标识符)不可以用 ...

  2. Ubuntu 16.04安装NASM汇编IDE-SASM

    在Linux下,尤其是Ubuntu,SASM工具应该是用来开发汇编最好用的IDE,小巧且支持调试.支持的编译器有:NASM, MASM, GAS, FASM. 安装步骤: 下载: http://dow ...

  3. docker: 解决centos7下cgroup.procs: no such device的错误

    在centos7下,运行docker run的时候会发生cgroup.procs: no such device的错误,解决方法是编辑 /lib/systemd/system/docker.servi ...

  4. firebug 扩展介绍和下载

    https://getfirebug.com/wiki/index.php/Firebug_Extensions#Firecookie https://addons.mozilla.org/zh-CN ...

  5. Yocto tips (17): Yocto License问题:restricted license not whitelisted in LICENSE_FLAGS_WHITELIST

    Yocto中能够配置一个Distrbution的License.然后全部的软件包,都须要符合这个license才干够被shipped到image中,假设我们须要使用违反此license的软件包,那么就 ...

  6. Codeforces 577E Ann and Half-Palindrome 字典树

    题目链接 题意: 若一个字符串是半回文串.则满足第一位和最后一位相等, 第三位和倒数第三位相等.如此类推. 给定一个字符串s,输出s的全部子串中的半回文串字典序第k大的 字符串. good[i][j] ...

  7. hdu 5950 Recursive sequence

    题意:告诉你数列的递推公式为f(n+1)=f(n)+2*f(n-1)+(n+1)^4 以及前两项a,b:问第n项为多少,结果对2147493647取模. 题解:有递推公式,马上应该就能想到矩阵快速幂: ...

  8. swift 2.0 语法 函数

    //: Playground - noun: a place where people can play import UIKit /*: 函数 * 格式 func 函数名称(形参名称1: 形参类型, ...

  9. Ubuntu 13.10 安装 TeX Live 2013

    注:笔者也是刚刚接触TeX系统,水平有限,若有疏漏之处还望指正. 中文解决方案 对于LaTeX中文排版,比较方便有这样的几种解决方案:LaTeX+CJK / LaTeX+XeTeX / CTeX.其中 ...

  10. android音乐播放器开发 SweetMusicPlayer 智能匹配本地歌词

    上一篇写了使用MediaPlayer播放音乐,http://blog.csdn.net/huweigoodboy/article/details/39861539. 代码地址:https://gith ...