攻击最接近的目标C#

时间:2015-07-22 22:03:39

标签: c# targeting

我对编程/脚本编写场景非常陌生,我跟随tutorial关注制作基本控制器和战斗系统(Birds view RPG)。事情是教程将制作一个"点击攻击" (目标)当我自己想要攻击最接近的敌人时#34;战斗类型。

到目前为止,我设法做了3个对手,但是我只能攻击其中的1个,那就是教练开始添加我想避免的目标脚本。我试着在answers.unity3d.com上找到someone else有点类似的问题,并尝试将代码合并到我自己的项目中。结果似乎略显缺乏,需要帮助弄清楚它可能是什么!

我确实看到了许多类似的问题并尝试复制/粘贴代码,但似乎总是存在我不熟悉的小问题。 (例如,让标签生效?)

///Player code:

 using UnityEngine; 
 using System.Collections;

public class Player : MonoBehaviour { 

public string name;

public int health;

public int damage;

public float range;

public Transform opponent;

void Start () 
{

}

void Update () 
{
    Player. ();
}

void Player.Attack()
{
    if(Input.GetKeyUp (KeyCode.Space)) 
    {
        if(Vector3.Distance(opponent.transform.position, transform.position);
        {
        if(opponent != null && Vector3.Distance (opponent.position, Transform.position) < Range)
        {   
           opponent.GetComponent<Enemy>().GetHit(damage);
    }
    }





 ///Enemy code:



using UnityEngine;
using System.Collections;

public class Enemy : MonoBehaviour
{
    public string name = "Monster"; 

    public int health;

    public int damage;

    void Start () 
    {

    }

    void Update () 
    {

    }

    public void GetHit(int playerDamage)
    {
        health = health - playerDamage;
    }

    void OnMouseOver()
    {
        Player.opponent = Transform;
    }
}

0 个答案:

没有答案