Unity学习笔记 之 发射小球碰撞物体的代码记录

原创 2015年07月10日 14:19:41

绑定在摄像机上的脚本

using UnityEngine;
using System.Collections;

public class abc : MonoBehaviour {

	//设置移动速度
	public int speed = 5;

	//设置将被初始化加载的对象
	public Transform newobject = null;

	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
		//通过左右方向键,或A、D字母键控制水平方向,实现往左、往右移动
		float x = Input.GetAxis("Horizontal") * Time.deltaTime * speed;
		//通过上下方向键,或W、S字母键控制垂直方向,实现往前、往后移动
		float z = Input.GetAxis("Vertical") * Time.deltaTime * speed;
		//移动 绑定物的 x、z 轴,即移动 摄像机的 x、z 轴。 
		transform.Translate(x,0,z);



		//判断是否按下鼠标的左键
		if (Input.GetButtonDown("Fire1")) {
			//实例化命令:Instantiate(要生成的物体, 生成的位置, 生成物体的旋转角度)
			Transform n  = (Transform)Instantiate(newobject, transform.position, transform.rotation);

			//转换方向
			Vector3 fwd = transform.TransformDirection(Vector3.forward);

			//给物体添加力度
			//Unity5之前的写法:n.rigidbody.AddForce(fwd * 2800);
			n.GetComponent<Rigidbody>().AddForce(fwd * 2800);
		}


		//判断是否按下字母按钮 Q
		if (Input.GetKey(KeyCode.Q)) {
			//改变 绑定物的 y 轴,即改变 摄像机的 y 轴。 
			transform.Rotate(0,-25*Time.deltaTime,0,Space.Self);
		}

		//判断是否按下字母按钮 E
		if (Input.GetKey(KeyCode.E)) {
			transform.Rotate(0,25*Time.deltaTime,0,Space.Self);
		}



		//判断是否按下字母按钮 Z
		if (Input.GetKey(KeyCode.Z)) {
			//旋转 绑定物的 y 轴,即旋转 摄像机的 y 轴。 
			transform.Rotate(-25*Time.deltaTime,0,0,Space.Self);
		}

		//判断是否按下字母按钮 X
		if (Input.GetKey(KeyCode.X)) {
			//旋转 绑定物的 y 轴,即旋转 摄像机的 y 轴。  
			transform.Rotate(25*Time.deltaTime,0,0,Space.Self);
		}


		//判断是否按下字母按钮 F
		if (Input.GetKey(KeyCode.F)) {
			//移动 绑定物的 y 轴,即移动 摄像机的 y 轴。 
			transform.Translate(0,-5*Time.deltaTime,0);
		}

		//判断是否按下字母按钮 C
		if (Input.GetKey(KeyCode.C)) {
			//移动 绑定物的 y 轴,即移动 摄像机的 y 轴。 
			transform.Translate(0,5*Time.deltaTime,0);
		}
	}
}


绑定在发射的小球上的脚本

using UnityEngine;
using System.Collections;

public class xiaomie : MonoBehaviour {

	// Use this for initialization
	void Start () {
		//销毁物体,gameObject,目测应该是指物体自身,即达到自我销毁的需求.
		Destroy(gameObject, 3.0f);
	}
	
	// Update is called once per frame
	void Update () {
	
	}
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

unity3D游戏开发十二之疯狂的小球

下面我们通过一个具体的实例来了解如何使用物理引擎,该实例通过第三人称视角控制游戏中的小球对象,游戏通过是否与钻石碰撞来界定是否寻找到钻石并获得积分,获得积分满10分后,赢得游戏,当小球冲出跑道时,游戏...

Unity5模拟小球碰撞以及阻力现象

直接看视频吧 http://v.youku.com/v_show/id_XOTI3Njc1MDA4.html

Unity基础小案例---射击小球

此项目有2个页面组成 第一个页面 1、看上图的退出、开始游戏,这2个按钮是Main Camera关联的Menu1脚本文件来实现的-参数(左、上、宽、高) 可以将Menu1脚本文件直接拖拽到Main...

Unity学习笔记(一):碰撞体(Collider),触发器(Trigger),刚体(RigidBody)

碰撞体(Collider),触发器(Trigger),刚体(RigidBody)的相关区分官方解释 刚体(Rigidbody):Rigidbody(刚体)组件可使游戏对象在物理系统的控制下来运动,刚体...

Unity3D学习笔记(十)物理引擎:碰撞器

物理引擎(Physics Engine和碰撞器(Collider),最近网络上很流行一句话可以用来形容第一次听到这两个词的感觉:虽然不是很明白,但是感觉好像很厉害的样子……^_^。 其实这它们在...

Unity学习笔记2:物理引擎和碰撞

本小节主要是Unity物理引擎,刚体碰撞方面的散记。 Character Controller的一些特性: 本身不受physics影响,需要接受外力作用时,使用onCharacterColli...

unity3d学习笔记之碰撞检测

很多人在初学Unity3D的时候,可能会碰到这样一个问题:导入Unity3D的模型,给模型添加RigidBody后,模型会 一直往下落。 那么,我们如何解决这个问题呢? 如果你尝...
  • mfc11
  • mfc11
  • 2012-09-17 15:01
  • 7795

【Unity 3D】学习笔记三十七:物理引擎——碰撞与休眠

碰撞与休眠

Unity学习笔记 1st —— 物体会移动就是游戏的开始!

咱们先来看看Unity制作游戏最基本的要求: 角色不管怎样也至少会移动啊!!! 来来来,先让我们创建一个新项目,这个就不用我来教了吧。 创建好项目后,会出现一个界面: 然后,先让我们创建一...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)