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

Posted claireyuancy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity学习笔记 之 发射小球碰撞物体的代码记录相关的知识,希望对你有一定的参考价值。

绑定在摄像机上的脚本

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); } //推断是否按下字母button Q if (Input.GetKey(KeyCode.Q)) { //改变 绑定物的 y 轴,即改变 摄像机的 y 轴。 transform.Rotate(0,-25*Time.deltaTime,0,Space.Self); } //推断是否按下字母button E if (Input.GetKey(KeyCode.E)) { transform.Rotate(0,25*Time.deltaTime,0,Space.Self); } //推断是否按下字母button Z if (Input.GetKey(KeyCode.Z)) { //旋转 绑定物的 y 轴,即旋转 摄像机的 y 轴。 transform.Rotate(-25*Time.deltaTime,0,0,Space.Self); } //推断是否按下字母button X if (Input.GetKey(KeyCode.X)) { //旋转 绑定物的 y 轴,即旋转 摄像机的 y 轴。 transform.Rotate(25*Time.deltaTime,0,0,Space.Self); } //推断是否按下字母button F if (Input.GetKey(KeyCode.F)) { //移动 绑定物的 y 轴。即移动 摄像机的 y 轴。 transform.Translate(0,-5*Time.deltaTime,0); } //推断是否按下字母button 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 () {
	
	}
}


以上是关于Unity学习笔记 之 发射小球碰撞物体的代码记录的主要内容,如果未能解决你的问题,请参考以下文章

unity中射线碰撞检测总结

Unity 射线碰撞检测

Unity 射线碰撞检测

Ruby‘s Adventrue游戏制作笔记Unity角色攻击——发射子弹

Ruby‘s Adventrue游戏制作笔记Unity角色攻击——发射子弹

Ruby‘s Adventrue游戏制作笔记Unity角色攻击——发射子弹