Составление таблицы рекордов

#unity3d #unityscript

#unity-game-engine #unityscript

Вопрос:

Я пытаюсь создать таблицу рекордов для моей аркадной игры spaceshooter, я создаю эту таблицу с переменными, поэтому для хранения результатов не требуется база данных, они будут временными

 var high1 : int;
var high2 : int;
var high3 : int;
var high4 : int;
var high5 : int;

function OnGUI () {
    var camera;
    camera = GameObject.FindWithTag("MainCamera");
    var scorepoints;
    scorepoints = camera.GetComponent(Scorescript).currentScore;
}
  

Кстати, я использую Unity и пытаюсь получить доступ к Scorescript, в котором содержится текущий результат, который был у игрока, проблема в том, что он всегда говорит, что не может найти компонент скрипта, имя тега объекта правильное, и имя скрипта тоже, вот сценарий оценки:

 var customSkin : GUISkin;

var enemy;
enemy = GameObject.FindWithTag("Enemy");

var currentScore : int = 0;
var visibleScore : int = 0;

function OnGUI () {
    GUI.skin = customSkin;
    GUILayout.BeginArea ( Rect ( Screen.width / 1.2, Screen.height / 10 ,300,200) );
    GUILayout.Box ( visibleScore.ToString () );
    GUILayout.EndArea ();
}

function AnimateVisibleScore () {
    iTween.ValueTo (
        gameObject,
        {
            "from" : visibleScore,
            "to" : currentScore,
            "onupdate" : "ChangeVisibleScore",
            "time" : 0.5
        }
    );
}

function ChangeVisibleScore ( i : int ) {
    visibleScore = i;
}

function IncrementScore ( i : int ) {
    currentScore  = i;
    AnimateVisibleScore ();
}

function DecrementScore ( i : int ) {
    currentScore -= i;
    AnimateVisibleScore ();
}
  

И я новичок в написании сценариев, если кто-нибудь может помочь в доработке этой конкретной части, я был бы очень благодарен.

Комментарии:

1. Просто в качестве подсказки, вместо отдельных переменных score1, score2 и т.д. Используйте массив.

Ответ №1:

Попробуйте

 scorepoints = Camera.main.GetComponentInChildren("Scorescript");