1、在Game视图中选择炮弹发射目标点,然后单击鼠标左键向目标发射炮弹,最后待炮弹撞到围墙上,围墙手里物理引擎的影响而被击垮。
本例给炮弹均添加了刚体组件,给炮弹绑定了粒子系统,并且在炮弹的粒子动画中添加了不同的颜色,保持粒子特效始终跟随炮弹的移动轨迹。选择发射目标后,将向该炮弹施加一个目标方向力,使其向目标点发射。
using UnityEngine;
using System.Collections;
public class game : MonoBehaviour {
//炮弹对象
private GameObject obj;
//准心贴图
public Texture texture;
//获取该对象的渲染器
// Use this for initialization
void Start () {
//获取炮弹对象
obj=GameObject.Find("Sphere");
//获取该对象的渲染器
//隐藏默认鼠标图标
Cursor.visible=false;
}
void FixedUpdate()
{
//点击鼠标左键后
Ray ray=Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
//判断射线是否与游戏对象相交
if(Physics.Raycast(ray,out hit))
{
//取保游戏对象为围墙
if(hit.collider.name=="Cube")
{
//计算炮弹与目标点的距离
Vector3 direction=hit.transform.position-obj.transform.position;
//发射炮弹
obj.GetComponent<Rigidbody>().AddForceAtPosition(direction,hit.transform.position,ForceMode.Impulse);
}
}
}
void OnGUI()
{
//绘制准心
Rect rect=new Rect(Input.mousePosition.x - (texture.width>>1),Screen.height-Input.mousePosition.y-(texture.height>>1),texture.width,texture.height);
GUI.DrawTexture(rect,texture);
}
// Update is called once per frame
void Update () {
}
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。