美文网首页
射线拓展

射线拓展

作者: 胤醚貔貅 | 来源:发表于2017-04-18 16:36 被阅读9次

小球撞击砖块,小球和砖块都必须有碰撞体,当小球撞击到砖块之后,小球消失,在小球原本位置再生成一个小球,点击鼠标继续撞击,小球撞击砖块是被检测者,在小球类中声明委托和事件

Bug :当鼠标点击的位置没有砖块时,没有碰撞事件发生,小球不会消失,也不会重新生成小球。

小球脚本

usingUnityEngine;

usingSystem.Collections;

publicclassSphereScript:MonoBehaviour{

public delegate void DeadDelegate();

public event DeadDelegate deadEvent;

public bool flag;

voidOnCollisionEnter(Collision other){

if(!flag){

if(other.gameObject.name.Contains("Cube")){

flag=true;

Invoke("Dead",1);//隔几秒调用方法

}

}

}

voidDead(){

deadEvent();

Destroy(gameObject);

}

}

游戏控制脚本GameController

usingUnityEngine;

usingSystem.Collections;

publicclassGameController:MonoBehaviour{

public GameObject ballPrefabs;

private GameObject ball;

voidStart(){

CreatBall();//游戏开始默认创建

}

voidUpdate(){

RaycastHit hit;

if(Input.GetMouseButtonDown(0)){

if(Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition),out hit)){

//给球添加一个指向当前鼠标点击的点方向的力

Vector3 forceDir=(hit.point-ball.transform.position).normalized;

ball.GetComponent<Rigidbody>( ).AddForce(forceDir*20,ForceMode.Impulse);//瞬时力

}

}

}

voidCreatBall( ){

ball=Instantiate(ballPrefabs,newVector3(0,0.4f,-6.58f),Quaternion.identity)asGameObject;

ball.GetComponent<SphereScript>( ).deadEvent+=BallDead;//注册事件

}

voidBallDead( ){

CreatBall( );

}

}

相关文章

  • 射线拓展

    小球撞击砖块,小球和砖块都必须有碰撞体,当小球撞击到砖块之后,小球消失,在小球原本位置再生成一个小球,点击鼠标继续...

  • 点线面关系

    射线与射线的交点计算

  • Unity 射线

    1,摄像机射线: 2, 物体发射射线: 3, 点击发出射线:

  • 射线与球的相交

    今天来说说射线和球的相交检测。 从图形来说 ![射线和圆相交, origin是射线起点, dir是射线的方向向量。...

  • UI射线部分执行逻辑

    射线底层实现逻辑,Ui射线最重要的部分就是GraphicRaycaster。 射线响应方法,具体实现逻辑如下

  • 射线

    射线:射线是3D世界中一个点向一个方向发射的一条无终点的线,在发射轨迹中与其他物体发生碰撞时,它将停止发射 。 用...

  • 射线

    public GameObject _player; bool isMove = false; Vector3 _...

  • 射线

    我的父亲四十六岁的时候走了,事业也正处于巅峰时刻,没有征兆,一切戛然而止。他一生没有见过手机,不知道互联网,也没有...

  • 射线

    爱是一道射线 起点在你身上 另一端在时空之外

  • 射线测厚仪对人体有伤害吗?

    什么是射线测厚仪?从字面上就不难理解,自然与射线有关。具体是利用X射线穿透被测材料时,结合X射线的强度变化与相关材...

网友评论

      本文标题:射线拓展

      本文链接:https://www.haomeiwen.com/subject/oufqzttx.html