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. Vue2.0如何实现父组件与子组件之间的事件发射与接收

    关于vue2.0的事件发射和接收,大家都知道$dispatch和$broadcast在vue2.0已经被弃用了,取而代之的是更加方便快捷的方式,使用事件中心,组件通过它来互相通信,不管组件在哪一个层都 ...

  2. 1.4-动态路由协议OSPF③

    OSPF的路由汇总 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                         用默认的网络地址 因为 无论在何种路 ...

  3. C++学习之多重继承与虚继承

    一.多重继承 我们知道,在单继承中,派生类的对象中包含了基类部分 和 派生类自定义部分.同样的,在多重继承(multiple inheritance)关系中,派生类的对象包含了每个基类的子对象和自定义 ...

  4. Google2015校招在线測试题1----扫雷最少点击次数

    Problem Minesweeper is a computer game that became popular in the 1980s, and is still included in so ...

  5. android传感器;摇一摇抽签功能

    package com.kane.sensortest; import java.util.Random; import android.hardware.Sensor; import android ...

  6. ADO.NET .net core2.0添加json文件并转化成类注入控制器使用 简单了解 iTextSharp实现HTML to PDF ASP.NET MVC 中 Autofac依赖注入DI 控制反转IOC 了解一下 C# AutoMapper 了解一下

    ADO.NET   一.ADO.NET概要 ADO.NET是.NET框架中的重要组件,主要用于完成C#应用程序访问数据库 二.ADO.NET的组成 ①System.Data  → DataTable, ...

  7. 「五」创建一个带 tomcat 服务的基础镜像(修订版)

    Tomcat Tomcat 简单介绍 Tomcat server是一个免费的开放源码的Web 应用server,属于轻量级应用server.在中小型系统和并发訪问用户不是非常多的场合下被普遍使用,是开 ...

  8. Python类私有方法的陷阱

    引言 Python不像C++.Java.C#等有明白的公共.私有或受保护的keyword来定义成员函数或属性,它使用约定的单下划线"_"和"__"双下划线作为函 ...

  9. UVA 11423 - Cache Simulator (树状数组)

    UVA 11423 - Cache Simulator (树状数组) option=com_onlinejudge&Itemid=8&category=523&page=sho ...

  10. tiny4412 裸机程序 三、关闭看门狗和调用C程序【转】

    本文转载自:http://blog.csdn.net/eshing/article/details/37112779 一.原理说明 上是章中大家可能有会觉得奇怪,CPU不是有看门狗嘛?为什么CPU没有 ...