u3d脚本学习二,实现坦克发出子弹

微笑昨天弄了四个小时还是没实现水下模糊的功能!!!

然后今天才发现动态挂载脚本的时候有个shader脚本没添加进去,那么现在问题来了,如何在动态挂载脚本之后向里面再添加函数呢??


昨天在网上百度的时候。。发现可以用预制体

然后今天就来学一学预制体

栗子:坦克开火

首先咱们来创建一个新项目

然后在里面创建一个方块和一个球

方块就叫他tanke 球就叫他子弹

可以任意拖个图片上去上个色啥的=-=

然后创建俩脚本一个叫tanke一个叫zidan好了

然后分别挂到相应的物体上去

tanke.cs

using UnityEngine;
using System.Collections;

public class tanke : MonoBehaviour {
	public GameObject zidan;//这个需要在添加脚本之后把zidan那个球体拉进来
	private GameObject zidan_;
	// Use this for initialization
	void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {
		if (Input.GetButtonDown ("Fire1")) {//当鼠标左键按下的时候
			zidan_ = Instantiate (zidan,transform.position,transform.rotation);
			//在坦克的中心生成一个预制体实例
			zidan_.transform.parent = this.transform;
			//这个实例是放在tanke物体下的
		}
	}
}


zidan.cs

using UnityEngine;
using System.Collections;

public class bullet : MonoBehaviour {
	Vector3 fwd;
	// Use this for initialization
	void Start () {
		fwd = transform.TransformDirection (Vector3.forward);
		//3维向量
	}
	
	// Update is called once per frame
	void Update () {
		gameObject.GetComponent<Rigidbody> ().AddForce (fwd*100);
		//在脚本中应用一个力
	}
}

把子弹上的碰撞器脚本去掉 点击addcomponent加上一个刚体脚本rigidbody
然后在hierarchy下把zidan拉到assets文件夹里面=w=
然后把hirearchy里面的去掉,点击运行,点击鼠标左键就能发射子弹啦

然后我去研究脚本实例化了and明天和后天因为有考试所以不更新了QAQ



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值