
场景【测试】 1.使投掷物落地后会发出声音(逻辑上)并且停止滚动 2.使敌人听到投掷物落地的声音后,奔向落点 老泪纵横,出现了很多Bug,终于修完了,对不起,我明天一定做完所有游戏系统,做不完请买开发加速卡。 加油吧,加油了吗?
39 lines
1.1 KiB
C#
39 lines
1.1 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class Missile : MonoBehaviour
|
|
{
|
|
//投掷物类,用来控制投掷物
|
|
// Start is called before the first frame update
|
|
private bool amINoisy = false;//记录自己是否落地发出声音的变量
|
|
private bool amIBeenChecked = false;//记录自己是否已经被敌人检查过
|
|
void Start()
|
|
{
|
|
|
|
}
|
|
|
|
// Update is called once per frame
|
|
void Update()
|
|
{
|
|
|
|
}
|
|
|
|
void OnCollisionEnter2D(Collision2D other)
|
|
{
|
|
if(other.gameObject.tag == "地面")
|
|
{
|
|
//当投掷物砸到地面,发出一个响声(逻辑上),标记自身为声源
|
|
amINoisy = true;
|
|
//同时,摧毁自身的刚体组件,阻止其滚动
|
|
Destroy(GetComponent<Rigidbody2D>());
|
|
//再摧毁自身碰撞体
|
|
Destroy(GetComponent<BoxCollider2D>());
|
|
}
|
|
}
|
|
|
|
public bool AMINoisy(){return amINoisy;}
|
|
public bool AmIBeenChecked(){return amIBeenChecked;}
|
|
public void YouAreChecked(){amIBeenChecked = true;}
|
|
}
|