【发布时间】:2014-08-13 00:00:30
【问题描述】:
我正在学习使用 Unity 制作游戏的教程,但我的 JavaScript/UnityScript 遇到了一个特殊问题:
#pragma strict
var Health = 100;
function ApplyDamage (TheDamage : int)
{
Health -= TheDamage;
if(Health <= 0)
{
Dead();
}
}
function Dead()
{
Destroy (gameObject);
}
这是我的敌人游戏对象的脚本,然而,尽管我有一个近战系统的逻辑,你必须点击他两次然后他死,它不起作用,每当我的玩家角色走进敌人时无需点击即可自动销毁。
我也会在这里发布我的近战系统:
#pragma strict
var TheDamage : int = 50;
var Distance : float;
var MaxDistance : float = 1.5;
function Update ()
{
if (Input.GetButtonDown("Fire1"))
var hit : RaycastHit;
if (Physics.Raycast (transform.position, transform.TransformDirection(Vector3.forward), hit))
{
Distance = hit.distance;
if (Distance < MaxDistance)
(
hit.transform.SendMessage("ApplyDamage", TheDamage, SendMessageOptions. DontRequireReceiver)
);
}
}
谁能帮我解决这个问题?这似乎是一个随机错误。
【问题讨论】:
标签: unity3d unityscript