这一节我们来说一下红绿灯的控制和总结一下经验。

红绿灯的模型,本来也是想要在网上下载结果找来半天没有找到相应的资源,于是就自己用3dmax做了一个,当然导出的时候一定要记得是fbx的格式,否则是导入不进去unity的。

其实红绿灯的变化无非就是相应的灯的暗灭,并且对应一个参数go的0,1的控制,在之前的脚本中我们也发现了这个go确实传出去了,其实这个脚本的所有的变化都是用于go的传出,ok,上代码其实大家都知道左右和前后道路的红绿灯的变化是相反的这里只给出其中的一种,另一个是一样的:

#pragma strict
private var count:float;
public var green_light:Transform;
public var yellow_light:Transform;
public var red_light:Transform;
private var red:Color;
private var yellow:Color;
private var green:Color;
private var gray:Color;
static var go:int;
function Start () {go=1;count=0;red=red_light.GetComponent(Renderer).material.color;yellow=yellow_light.GetComponent(Renderer).material.color;green=green_light.GetComponent(Renderer).material.color;gray=Color.gray;
}function Update () {
count=count+Time.deltaTime;
if(count<5&&count>0){//红灯red_light.GetComponent(Renderer).material.color=red;yellow_light.GetComponent(Renderer).material.color=gray;green_light.GetComponent(Renderer).material.color=gray;go=0;
}else if(5<count&&count<7){//黄灯red_light.GetComponent(Renderer).material.color=gray;yellow_light.GetComponent(Renderer).material.color=yellow;green_light.GetComponent(Renderer).material.color=gray;go=0;
}else if(7<count&&count<12){//绿灯red_light.GetComponent(Renderer).material.color=gray;yellow_light.GetComponent(Renderer).material.color=gray;green_light.GetComponent(Renderer).material.color=green;go=1;
}else if(count>7){count=0;
}
}

这个脚本就是一个update,想必大家也看的十分明白,ok,我们在来看一下镜头的变化,毕竟最开始我说我们这里还有四个视角是吧!

其实这个就是设置四个不同角度的摄像机,当激活其中一个时把其他的摄像机enable掉就好:

#pragma strictvar camera_q:GameObject;
var camera_w:GameObject;
var camera_e:GameObject;
var camera_r:GameObject;function Update ()
{if(Input.GetKeyUp(KeyCode.Q)){onActiveFalse();camera_q.active=true;}else if(Input.GetKeyUp(KeyCode.W)){onActiveFalse();camera_w.active=true;}else if(Input.GetKeyUp(KeyCode.E)){onActiveFalse();camera_e.active=true;}else if(Input.GetKeyUp(KeyCode.R)){onActiveFalse();camera_r.active=true;}
}
function onActiveFalse()
{camera_q.active=false;camera_w.active=false;camera_e.active=false;camera_r.active=false;
}

当然还有那个最初的notic,也是很简单的那Unity圣典一查就有的:

#pragma strict
var buttonWidth = 120;
var buttonHeight = 200;  var X = (Screen.width - buttonWidth) / 2.0f;
var Y = (Screen.height - buttonHeight) / 2.0f;
var off:boolean=false;
function OnGUI () {
if(!off){GUI.color = Color.red;var windowRect : Rect = Rect(X, Y, buttonWidth, buttonHeight);windowRect = GUI.Window(0, windowRect, DoMyWindow, "Notice");
}}//创建窗口的内容,GUI.color的值应用到在上面的代码中创建的窗口。
function DoMyWindow (windowID : int) {GUILayout.Label("可以使用Q,W,E,R来切换视角");if(GUILayout.Button("close")){off=true;}
}

最后就是要说一下,Unity可以支持C#和JavaScript虽然二者可以都用我还是建议开发的时候就使用其中一种,不要两种都使用,就拿我这次来说吧,一开始我的控制车辆的脚本是C#的,当我想获得交通信号灯脚本的go的时候,怎么都获取不了,当然我也查找了很多资料,说什么编译顺序发生变化,总之看起来很高端,所以避免这个问题的最好方法就是保证脚本的统一,后来把他换成JavaScript就ok~

好啦,以上就是我这个小程序的开发过程,希望可以帮到大家~欢迎大家指正不足之处,大家共同学习!

Unity3d实现的十字路口的模拟(五)相关推荐

  1. 全国青少年信息素养大赛图形化编程初赛·模拟五卷,含答案解析

    目录 一.单选题 打印文档进行下载做题: 全国青少年电子信息智能创新大赛 图形化编程·选做题模拟五卷 一.单选题 1. 执行以下脚本后舞台上的角色将 ?ÿ

  2. 模拟五:STEMA 考试选择题模拟练习试卷(初级组)及答案 + 自我解题笔记

    模拟一:STEMA 考试选择题模拟练习试卷(初级组)及答案 + 自我解题笔记 模拟二:STEMA 考试选择题模拟练习试卷(中级组)及答案 + 解题后期更新 模拟三:STEMA 考试选择题模拟练习试卷( ...

  3. Unity3d BTDF实时折射模拟有粗糙度的半透明物体

    折射的原理是运用BTDF的一个球形高斯近似 需要考虑折射光的来源,一般会想到用环境贴图(IBL)或者grab texture,但是折射光不全都来自一个平面,所以选择环境贴图来作为折射光. 这个效果主要 ...

  4. 概率模型分子动力学模拟五元环吡咯C4H5N

    吡咯是一种非常重要的化学物质,特别是这种物质对人来说有一种果香.吡咯中有两个双键,整个吡咯环是在一个平面上,应该是一种高度对称的结构,根据这种结构用神经网络反向传导方法制作了吡咯的模型 经过多次试验这 ...

  5. Unity3D脚本中文系列教程(五)

    http://dong2008hong.blog.163.com/blog/static/4696882720140302848544/?suggestedreading&wumii Unit ...

  6. 基于Unity3D的自动寻路车辆模拟

    案例展示 1.开发背景 仿真测试可以在开发的早期,在即便实际处理器控制器和实车都没有ready的情况下--依然能对算法进行测试,尽早发现bug,尽早解决bug,而不把过多的bug带到实车测试中去. 2 ...

  7. 天津理工计算机通信工程学院,2018年天津理工大学计算机与通信工程学院811信号与系统考研仿真模拟五套题...

    一.解答题 1. 绘出下列系统的仿真框图: (1): (2) . [答案](1)取中间变量q(t),使 激励信号e(t)与中间变量q(t)的关系,如图1所示. 图1 将①代入原方程,得 对比等式两边, ...

  8. Unity3D相机操控(完整模拟Scene视图操作)

    文章目录 1. 需求 2. 效果 3. 逻辑梳理 3.1 正交/透视视图的缓动切换 3.2 拉近缩远 3.3 上下左右拖拽相机 4 源码 1. 需求   一直想把Scene视图相机的操作复制到Game ...

  9. 某电子计算机主机,2018年南开大学数学科学学院432统计学[专业硕士]之概率论与数理统计教程考研仿真模拟五套题...

    一.计算题 1. 设某商店中每月销售某商品的数量X 服从参数为7的泊松分布. 问在月初应进货多少件,才能保证当月不脱销的概率不小于0.90. [答案]用k 表示在月初进货该商品的件数,则由题意知k 应 ...

最新文章

  1. 机器学习中的算法(4.3):SVM----针对线性不可分问题理解
  2. 一位清华贫困生的独白,风雨清华路!
  3. 对话推荐算法研究综述
  4. 两种 js下载文件的方法(转)
  5. Unity3D 学习教程 4 创建物体
  6. oracle数据库是db还是dbnms,Oracle数据库中各种类型的文件损坏与修复过程详解(2)...
  7. 【数据结构总结】第五章 树和二叉树(非线性结构)
  8. python编程快速上手-----让繁琐工作自动化_Python编程快速上手让繁琐工作自动化--逗号代码和字符图网格...
  9. 奇数阶幻方 java_N(奇数)阶幻方-java实现代码
  10. 想成为编程高手,从基础做起
  11. Web服务器的配置与管理(1) IIS的安装与基本设置
  12. 分布排序(distribution sorts)算法大串讲
  13. Windows 10 如何添加开机启动项
  14. 理科生考计算机音乐制作专业,理科生学电子音乐-怎么学习电音制作?
  15. Learning Efficient Single-stage Pedestrian Detectors by Asymptotic Localization Fitting
  16. 松下服务器报警13参数修改,新版松下伺服发生故障报警代码一览及对策.doc
  17. Tomcat控制台中文乱码怎么处理[已解决 绝对好用]
  18. Pytorch unfold和fold
  19. 【10天企业定制课】2018秋PS软件photoshop/CC应用计划学习视频-孙伟-专题视频课程...
  20. 阿里校招应届生面试经验

热门文章

  1. Unity 骨骼动画
  2. 面试behavior questions 回答
  3. 20170421康拓普面试题
  4. Android开发样式问题总结【持续更新】
  5. python实现商品管理系统_商品管理系统(示例代码)
  6. 微信Android客户端的ANR监控方案
  7. ukulele弹奏模拟器v1.0(待完善)
  8. java rds 数据库_Java程序如何连接RDS MySQL
  9. 独木舟上的旅行(船问题贪心)
  10. 四川大学计算机专业调剂,2020年四川大学计算机学院(软件学院)考研调剂信息...