综述
上次我们主要讲述了道具的生成和拾取以及放置的功能以及代码的实现,本次主要介绍玩家触碰地雷以及其他道具的生成和销毁。
内容
触碰地雷
玩家触碰地雷,会造成范围伤害,同时,玩家会倒地,3秒不能控制角色。
public void OnTriggerEnter(Collider collision)
{
if (!collision.gameObject.tag.Equals("Player"))
{
return;
}
float radius = 3.0f;
Vector3 explosionPos = transform.position;
Collider[] colliders = Physics.OverlapSphere(explosionPos, radius);
foreach (Collider hit in colliders)
{
if (hit.gameObject.tag.Equals("Player"))//打到玩家
{
PropsPlayerController ppc = hit.gameObject.GetComponent<PropsPlayerController>();
PropsPlayerHealth pph = hit.gameObject.GetComponent<PropsPlayerHealth>();
PropsPlayerPropController pppc = hit.gameObject.GetComponent<PropsPlayerPropController>();
//玩家击飞
if (hit.attachedRigidbody)
{
hit.attachedRigidbody.AddExplosionForce(500, explosionPos, radius);
}
//掉血\动画\失控
if (ppc != null)
{
Debug.Log("调用switch方法");
pph.GetDamage(1, 2