#pragma strict
import UnityEngine.UI; function Start () { }
var speed : int = 5;
var newobject : Transform;
var sdshu : int = 0;
var xmshu : int = 0; function Update () {
//yidong
var x : float = Input.GetAxis("Horizontal")*Time.deltaTime*speed;
var z : float = Input.GetAxis("Vertical")*Time.deltaTime*speed;
if (Input.GetKey(KeyCode.H)){
transform.Translate(0,5*Time.deltaTime,0);
}
if (Input.GetKey(KeyCode.N)){
transform.Translate(0,-5*Time.deltaTime,0);
}
transform.Translate(x,0,z);
//print (x);
//kaihuo
if (Input.GetButtonDown("Fire1")){
var n : Transform = Instantiate(newobject,transform.position,transform.rotation);
var fwd : Vector3 = transform.TransformDirection(Vector3.forward);
n.GetComponent(Rigidbody).AddForce(fwd*3000);
sdshu++;
gameObject.Find("Canvas/wenzi").GetComponent(Text).text="射弹数:" +sdshu+ " 消灭数:" + xmshu; }
//xuanzhuan
if (Input.GetKey(KeyCode.Q)){
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);
} }

这是射击脚本。射击脚本的另外一种写法:var newobject: Regidbody;         var n: Rigidbody = Instantiate(newobject,transform.position,transform.rotation);          n.velcocity = transform.forward*30.0;给n命名用于碰撞检测, n = “射弹”;

另一个鼠标点击函数:OnMouseDown()。

 function Start () {

 }
var sd : int;
var xm : int;
function Update () {
if(gameObject.transform.position.y<0){
xm = gameObject.Find("Camera").GetComponent(sheji).xmshu++;
sd = gameObject.Find("Camera").GetComponent(sheji).sdshu;
gameObject.Find("Canvas/wenzi").GetComponent(Text).text="射弹数:" +sd+ " 消灭数:" + xm;
if (xm > 20){
gameObject.Find("Canvas/wenzi").GetComponent(Text).text="恭喜过关!";
gameObject.Find("Camera").GetComponent(sheji).enabled=false;
gameObject.Find("dimian").GetComponent(restar).enabled=true;
}
Destroy(gameObject);
} }

这是检查脚本。

 #pragma strict
@script RequireComponent(AudioSource)
import UnityEngine.SceneManagement ; function OnGUI(){
var audio: AudioSource = GetComponent.<AudioSource>();
if(GUI.Button(Rect(180,100,60,30),"退 出")){
Application.Quit();
}
if(GUI.Button(Rect(280,100,60,30),"重新开始")){
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
}
if(GUI.Button(Rect(10,160,100,50),"paly"))
audio.Play();
if(GUI.Button(Rect(10,220,100,50),"Pause"))
audio.Pause();
if(GUI.Button(Rect(10,280,100,50),"Stop"))
audio.Stop();
}

这是重启脚本,@强制获取组件。

var audio: AudioSource = GetComponent.<AudioSource>();可以不设置变量audio, GetComponent.<AudioSource>().Pause();这样使用。

 #pragma strict
import UnityEngine.UI; function OnCollisionEnter(){
gameObject.Find("Canvas/wenzi").GetComponent(Text).text = "大玉螺旋丸!";
gameObject.Find("Point light").GetComponent(Light).enabled = false;
gameObject.Find("Spotlight").GetComponent(Light).enabled = false;
Destroy(gameObject);
}

这是碰撞检测脚本。可以加入实参col:Collider

 #pragma strict

 function  OnGUI(){
if(GUI.Button(Rect(180,400,60,30),"开始游戏")){
Application.Quit();
}
}

这里说明下按钮的使用代码。SceneManager.LoadScene(SceneManager.GetActiveScene().name);可以在loadScene实参直接使用“场景名字“。

GetComponent.<Renderer>().material.color = Color.green;U3D会自动更新过时代码。

												

unity3d 射弹基础案例代码分析的更多相关文章

  1. unity3d 射弹基础案例

    小白本来想学cocos2dx的,然而c++难学就算了,cocos2dx对新手来说简直坑爹,于是乎转战unity3d学习js,在写出第一个游戏后兴致高多了哎. 回顾一下编辑的过程:1.建立一个cube作 ...

  2. 最新豆瓣top250爬虫案例代码分析[注释齐全]

    导入包 # json包 import json #正则表达式包 import re import requests from requests import RequestException 定义爬取 ...

  3. JavaBean 基础概念、使用实例及代码分析

    JavaBean 基础概念.使用实例及代码分析 JavaBean的概念 JavaBean是一种可重复使用的.且跨平台的软件组件. JavaBean可分为两种:一种是有用户界面的(有UI的):另一种是没 ...

  4. Hadoop基础-HDFS数据清理过程之校验过程代码分析

    Hadoop基础-HDFS数据清理过程之校验过程代码分析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想称为一名高级大数据开发工程师,不但需要了解hadoop内部的运行机制,还需 ...

  5. 共创力咨询推出《静态代码分析(PCLint)高级实务培训》课程!

    [课程背景] C/C++语言的语法非常灵活性,尤其是指针及内存使用,这种灵活性使代码效率比较高,但同时也使得代码编写具有较大的随意性,另外C/C++编译器不进行强制类型检查,也不对数据边界和有效性进行 ...

  6. 20155317《网络对抗》Exp4 恶意代码分析

    20155317<网络对抗>Exp4 恶意代码分析 基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用 ...

  7. 2017-2018-2 《网络对抗技术》 20155322 Exp4 恶意代码分析

    [-= 博客目录 =-] 1-实践目标 1.1-实践介绍 1.2-实践内容 1.3-实践要求 2-实践过程 2.1-Mac下网络监控 2.2-Windows下网络监控 2.3-Mac下恶意软件分析 2 ...

  8. _00017 Kafka的体系结构介绍以及Kafka入门案例(0基础案例+Java API的使用)

    博文作者:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...

  9. [nRF51822] 8、基础实验代码解析大全 · 实验11 - PPI

    前一篇分析了前十个基础实验的代码,从这里开始分析后十个~ 一.PPI原理: PPI(Programmable Peripheral Interconnect),中文翻译为可编程外设互连. 在nRF51 ...

随机推荐

  1. Mybatis获取插入记录的自增长ID(转)

    1.在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名,而不是表格的字段名. <ins ...

  2. (2016 年) githup 博客地址 : https://github.com/JMWY/MyBlog

    githup 博客地址 : https://github.com/JMWY/MyBlog

  3. Hibernate之即时更新

    昨天工作中遇到了一个简单的问题,弄了好久,都怪自己没有好好的去了解hibernate,导致了这样的问题弄了两三个小时. 问题是这样的:我想即时更改数据,然后再查询 (1)用Spring的getHibe ...

  4. 针对“Can't download driver to specified address”错误

    当用h-flasher检测flash-id时,可能会出现上述错误,个人认为当提示这个错误时,一般来说是sdram出现了问题,可以看看sdram有没有虚焊,或者周围的电阻电容是否正确. 在后来调板子的过 ...

  5. linux mysql远程连接

    今天在本地连接linux服务端的mysql始终报错61,谷歌后找到原因: linux的mysql默认是不允许远程连接操作的,在stack上面找到方法:修改mysql配置文件/usr/local/mys ...

  6. PL/SQL Developer 和 instantclient客户端安装配置(图文)

    一: PL/SQL Developer 安装 下载安装文件安装,我这里的版本号是PLSQL7.1.4.1391,安装目录是:D:\soft\PLSQLDeveloper 二:instantclient ...

  7. js原型基础

    js中的原型链是实现继承等面向对象的一种方式,而我这里不详细展开,仅仅是画了一张原型部分结构图,主要说明: 1._proto_和prototype之间的关系 2.原型链的起点是Object.proto ...

  8. 使用es6的set和map实现数组去重复

    var set = new Set();var arr = [1, 2, 3, 3, 2, 1];arr.map(val => set.add(val));// arr.map(function ...

  9. ApexSQLLog总结

    我们程序最近做更新,要做新功能的测试.程序经常出现大的事务,每次commit之后如果发现数据不对的问题也不能再回滚进行断点调试了,因为数据库数据已经更改了,所以一直想找一个回滚我数据库所有操作的工具. ...

  10. btrfs-snapper 实现Linux 文件系统快照回滚

    ###btrfs-snapper 应用 ----------####环境介绍> btrfs文件系统是从ext4过渡而来的被誉为“下一代的文件系统”.该文件系统具有高扩展性(B-tree).数据一 ...