此项目有2个页面组成

第一个页面

1、看上图的退出、开始游戏,这2个按钮是Main Camera关联的Menu1脚本文件来实现的-参数(左、上、宽、高)

可以将Menu1脚本文件直接拖拽到Main Camera上,或者直接Add Component脚本文件

#pragma strictfunction OnGUI(){if(GUI.Button(Rect(180,200,60,30),"退 出")){Application.Quit();               }if(GUI.Button(Rect(280,200,60,30),"开始游戏")){Application.LoadLevel("01");}
}

2、上图的案例、游戏说明是GUI Text--这里拿案例截图说明

这里主要说明下Position:以视图左下角为(0,0)右上角(0,0)为标记, 我测试z值可以随便填,没有影响

3、第一个页面的天空图片,如何为场景添加天空盒

在Assets-->Import Package-->SkyBoxes导入系统的天空盒子资源图片

在Edit-->Render Settings

第二个页面

先来看Project结构图片

先来看materials文件夹

prefabs---sedan添加xh销毁脚本--3秒销毁

#pragma strictfunction Start () {
//gameObject代表依附的物体Destroy(gameObject,3.0);
}

prefabs---zhuankuai

jiancha--如果砖块被打到地面以下(gameObject.transform.position.y<0),就将主摄像机上的sheji脚本的消灭砖块数量+1,如果打击砖块数量>5,就提示过关,并且将sheji脚本enabled=false,不可以在发射子弹,并且启动restart脚本,弹出游戏提示框

#pragma strict
function Start () {}
//var sd:int;
var xm:int;
function Update () {
if(gameObject.transform.position.y<0){//射击脚本的公有变量(xmshu)自身加1实现消灭计数;xm=gameObject.Find("Main Camera").GetComponent(sheji).xmshu++;//sd=gameObject.Find("Main Camera").GetComponent(sheji).sdshu;//gameObject.Find("wenzi").GetComponent(GUIText).text="射弹数:" +sd+" 消灭数:"+xm;if(xm > 5 ){gameObject.Find("wenzi").GetComponent(GUIText).text = "恭喜过关!继续努力!坚持学下去!";gameObject.Find("Main Camera").GetComponent(sheji).enabled=false ;gameObject.Find("dimian").GetComponent(restart).enabled=true ;}Destroy(gameObject);
}
}

restart

#pragma strictfunction OnGUI(){if(GUI.Button(Rect(180,100,60,30),"退 出")){Application.Quit();               }if(GUI.Button(Rect(280,100,60,30),"重新开始")){Application.LoadLevel("01");}if (GUI.Button( Rect(10, 160, 100, 50), "Play"))  audio.Play();  if (GUI.Button( Rect(10, 220, 100, 50), "Pause"))  audio.Pause();  if (GUI.Button( Rect(10, 280, 100, 50), "Stop"))  audio.Stop();  }

jiancha

#pragma strict
function Start () {}
//var sd:int;
var xm:int;
function Update () {
if(gameObject.transform.position.y<0){//射击脚本的公有变量(xmshu)自身加1实现消灭计数;xm=gameObject.Find("Main Camera").GetComponent(sheji).xmshu++;//sd=gameObject.Find("Main Camera").GetComponent(sheji).sdshu;//gameObject.Find("wenzi").GetComponent(GUIText).text="射弹数:" +sd+" 消灭数:"+xm;if(xm > 5 ){gameObject.Find("wenzi").GetComponent(GUIText).text = "恭喜过关!继续努力!坚持学下去!";gameObject.Find("Main Camera").GetComponent(sheji).enabled=false ;gameObject.Find("dimian").GetComponent(restart).enabled=true ;}Destroy(gameObject);
}
}

主相机---将sedan附上,还有将sheji脚本附上

意思为:

#pragma strictfunction Start () {}
var speed : int = 5;
var newobject:Transform;
var sdshu:int = 0;
var xmshu:int=0;
function Update () {
var x:float= Input.GetAxis("Horizontal")*Time.deltaTime*speed;var z:float = Input.GetAxis("Vertical")*Time.deltaTime*speed;transform.Translate(x,0,z);if(Input.GetButtonDown("Fire1")){//(要生成的物体sedan,生成的位置,生成物体的旋转角度)--newobject本例是主摄像机var n:Transform = Instantiate(newobject,transform.position,transform.rotation);//转换方向var fwd:Vector3 = transform.TransformDirection(Vector3.forward);//给物体加力n.rigidbody.AddForce(fwd*1500.0);sdshu++;//访问其他物体!!!!gameObject.Find("wenzi").GetComponent(GUIText).text="射弹数为:" +sdshu+"  消灭数为:"+xmshu;; }//监视键盘上按键(在Y轴方向旋转)if(Input.GetKey(KeyCode.Q)){//xyz轴transform.Rotate(0,-25*Time.deltaTime,0,Space.Self );}if(Input.GetKey(KeyCode.E)){transform.Rotate(0,25*Time.deltaTime,0,Space.Self );}if(Input.GetKey(KeyCode.Z)){transform.Rotate(-25*Time.deltaTime,0,0,Space.Self );}if(Input.GetKey(KeyCode.C)){transform.Rotate(25*Time.deltaTime,0,0,Space.Self );    }if(Input.GetKey(KeyCode.H)){transform.Translate(0,5*Time.deltaTime,0);}if(Input.GetKey(KeyCode.N)){transform.Translate(0,-5*Time.deltaTime,0);}
}

cube

cylinder

dimian--将音乐文件附上

sphere

wenzi

Unity基础小案例---射击小球相关推荐

  1. Hibernate基础小案例

    写一个简单的hibernate 1.导入jar包 hibernate3.jar核心+require必须引入的(6个)jar包+jba目录jar包+数据驱动包 2.写映射文件 格式:***.hbm.xm ...

  2. js基础-小案例歌词匹配

    歌词匹配 const lyricString = "[00:00.000] 作词 : 许嵩\n[00:01.000] 作曲 : 许嵩\n[00:02.000] 编曲 : 许嵩\n[00:22 ...

  3. 【前端基础小案例】HTML+CSS实现酷狗音乐热榜效果

  4. python爬虫基础小案例, scrapy框架,思路和经验你全都有。

    目录 一.scrapy介绍 二.爬取步骤 三.代码 1.创建爬虫项目    scrapy startproject 项目名字                注意: 项目名字不能出现中文,也不能以数字开 ...

  5. java中的基本小程序_12个用Java编写基础小程序经典案例(收藏篇)

    原标题:12个用Java编写基础小程序&经典案例(收藏篇) 如果是刚接触或者刚学习java,练习一些基础的算法还是必须的,可以提升思维和语法的使用. 1.输出两个int数中的最大值 impor ...

  6. 前端工程师就业班Sass基础+进阶+案例开发经验【JS++前端】-艾小野-专题视频课程...

    前端工程师就业班Sass基础+进阶+案例开发经验[JS++前端]-98人已学习 课程介绍         本套课程是摘选自JS++第三期前端工程师精英就业班系列课程,进行系统深度的对Sass技术知识点 ...

  7. Unity制作随机数字抽奖小案例

    Unity制作随机数字抽奖小案例 1. 搭建 UI 界面 2. 实现思路 2-1. 创建 RandomNumber 类 [挂载在每个抽奖格子(Numbers下面的Image)] 2-2. 创建 Sta ...

  8. JS小案例总结(JS基础案例)

    JS小案例总结 JS小案例总结 案例一:JS实现tab选项卡功能 案例二:JS实现盒子拖拽功能 案例三:JS实现导航条吸顶效果 案例四:JS实现图片懒加载结构 案例五:JS实现简易弹幕功能 案例六:J ...

  9. JavaScript基础语法及小案例

    目录 JavaScript基础语法 1. 变量声明和赋值 2. 数据类型 1) 基本数据类型 2) 复合数据类型(引用类型) 3) 特殊数据类型 3. 运算符 1) 算术运算符 2) 赋值运算符 3) ...

最新文章

  1. python怎么安装matplotlib-[Python]一步步安装numpy,matplotlib
  2. 如何adb shell进入ctia模式
  3. 11.JDK8内存模型、本地方法栈、虚拟机栈、栈帧结构(局部变量表、操作数栈、方法出口、虚拟机栈与本地方法栈的关系、寄存器、方法区、堆(Heap)、jvm中的常量池、Metaspace(元空间))
  4. java 与 乱码问题_透彻分析和解决一切javaWeb项目乱码问题
  5. orcale 之 集合操作
  6. springCloud - 第2篇 - 服务的发现 seeParam
  7. 2021年中国在线旅游直播专题分析
  8. mysql 阿里云 版本_阿里云虚拟主机mysql已经支持版本切换,支持MySQL 5.7.25
  9. PCL——快速邻域搜索
  10. Extjs GRID表格组件使用小结
  11. Python ASCII码
  12. 巨人肩膀上的迁移学习(2)---图像回归
  13. 如何用CSS3制作一个平面正方体和立体正方体
  14. 营业执照编码验证规则(15位和18位
  15. MySQL中的auto_increment
  16. python中的str()函数
  17. MySQL 5.7 安装教程(全步骤、保姆级教程)
  18. GTID 模式 - 通过跳过事务解决主从故障
  19. ifconfig命令手册
  20. multisim二极管_变容二极管应用的Multisim仿真及分析

热门文章

  1. 高中生计算机报纸word,电子板报(word)_高中生学习报.doc
  2. 学习React[一]
  3. 老生常谈的商城系统(Asp.Net+uniapp)
  4. 服务器如何做中转进行端口映射,使服务器之间通信,然后访问目标网站(baidu.com)
  5. 02回声服务端与客户端(瑕疵版)
  6. eos 账户名与uint64_t转换(N与name)
  7. 后台管理系统导出数据列表返回二进制数据,下载后为null
  8. 装修垃圾分类实施方案,垃圾处理资源再利用工艺流程---腾重科技
  9. 【C语言】对拍【保姆级教程】
  10. mikrotik l2tp配置