RaycastHit随机获得2次点击

时间:2014-05-16 16:16:46

标签: unity3d

我已经在网上关注了一段时间的教程,到目前为止它已经很好了。我唯一的问题是使用RaycastHit。现在乍一看,一切似乎都很好,但是时不时地看起来好像我得到了两次点击。基本上我已经设置好了,每当我按下鼠标按钮时,动画就会随着玩家摆动一个球杆而发出光线,并且一条射线将从玩家(实际上是第一人称相机的游戏对象)发送给敌人。但有时候,游戏对象在两次点击中被摧毁,时不时地被摧毁,只有一次被摧毁。

#pragma strict

var TheDamage : int = 50;
var Distance : float;           
var MaxDistance : float = 1.5;
var TheSystem : Transform;


function Update ()                               
{
if(Input.GetButtonDown("Fire1")) 
{   
animation.Play("Attack"); 
}
}

function AttackDamage () 
{
var hit : RaycastHit;
if(Physics.Raycast (TheSystem.transform.position, TheSystem.transform.TransformDirection(Vector3.forward),hit))
{                                            
Distance = hit.distance; 
}       
if (Distance < MaxDistance)
{                                       
EnemyLogic.ApplyDamage(TheDamage);
}
}

&安培;&安培;

#pragma strict

static var Health = 100;

function Update ()
{
if (Health <= 0)
{
Dead ();
}
}

static function ApplyDamage (TheDamage: int)
{
Health -= TheDamage;
}

function Dead ()
{
Destroy (gameObject);
}

0 个答案:

没有答案