Unity基础课程之物理引擎8-扔保龄球游戏案例(完)

三个脚本:

1.给求添加力

2.分数管理器

3.检测是否发生碰撞

-----------------------------------------------

脚本源码

1.给求添加力

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class RoleControl : MonoBehaviour
{
    // 1.玩家控制一个保龄球,按下空格键,开始发射
    // 拿到物体

    GameObject MainRole;
    Rigidbody Onerigi;

    bool isDown = true;

   public float ForceDATA = 100f;
    void Start()
    {
        MainRole = GameObject.Find("MainRole");

    }
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space)&&isDown)//如果用户按下空格键
        {
            //开始添加力给MainRole
            Onerigi = MainRole.GetComponent();
            Onerigi.AddForce(new Vector3(0, 0, -1)* ForceDATA, ForceMode.Impulse);
            isDown = false;
        }//end if        

    }//end update
}//end class

2.分数管理器

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;

public class ScoreManager : MonoBehaviour
{    // 如果撞倒花瓶就加分 

    TMP_Text OneWenBen;
    GameObject wenben;
    public static int currentScore = 0;


    private void Start()
    {
        wenben = GameObject.Find("Text (TMP)");
        OneWenBen = wenben.GetComponent();
    }

   
    private void LateUpdate()
    {
        Debug.Log("恭喜你!得分了!你的分数是:" + currentScore);
        OneWenBen.text ="Score:"+ currentScore.ToString();
    }
}

3.检测是否发生碰撞

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CollisionTest : MonoBehaviour
{
    // 碰撞检测

    //private void OnTriggerEnter(Collider other)
    //{
    //    //发生了碰撞
    //    ScoreManager.currentScore += 1;//通知分数管理器类加分
    //    Debug.Log("开始碰撞");
    //    Debug.Log(other.gameObject.name);
    //}

    private void OnCollisionEnter(Collision collision)
    {
        Debug.Log("开始碰撞");
        if (collision.collider.gameObject.name!="Plane"&& collision.collider.gameObject.name != "Cube")
        {
            ScoreManager.currentScore += 1;
            //通知分数管理器类加分
           
        }

       
        Debug.Log(collision.collider.gameObject.name);
    }

}

Unity基础课程之物理引擎8-扔保龄球游戏案例(完)_第1张图片

你可能感兴趣的:(Unity零基础课程,unity,游戏)