Постоянные переменные

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Постоянные переменные

Сообщение andron_20 29 июл 2013, 15:26

имеется скрипт, выставил переменные, занес перса в префаб, переменная таргет не сохраняется, как сделать, чтобы она была постоянна: например таргетом всегда должен быть объект с названием GameObj. Мне прям очень нужна помощь чтобы мультипл доделать :-B
Синтаксис:
Используется csharp
/// <summary>
/// Player.
/// Вешается на игрока
/// Отвечает за смерть игрока
/// </summary>
using UnityEngine;
using System.Collections;

public class Player : MonoBehaviour {
        private float distance;
        public GameObject target;
        private bool window = false;
        public GameObject gg;// Для поиска скрипта мыши и его отключения
        // Use this for initialization
       
        void Start () {
                Time.timeScale = 1;
        }
       
        // Update is called once per frame
        void Update () {
                //вводим переменную distance и вычисляем расстояние между игроком и противником
                distance = Vector3.Distance(target.transform.position, transform.position);
                //вычисляем еденичный вектор направления к цели
                Vector3 dir = (target.transform.position - transform.position).normalized;
                //вычисляем нахождение цели в поле зрения (значение 0 или отриц - сзади. значение 1 или положительное - впереди) значение меняется от 1 до -1
                float direction = Vector3.Dot(dir,transform.forward);
                //если дистанция меньше максимальной то можем нанести урон
                if(distance < 3 && direction > 0){
                //ищем скрипт
                Slender sl = (Slender)target.GetComponent("Slender");
                //eh.AddjustCurrentHealth(-10);
                sl.NoKill = false;
                Time.timeScale = 0;
                window = true;
                MouseLook ml = (MouseLook) gg.GetComponent<MouseLook>();
                ml.enabled = enabled;
                }
        }
       
        void OnGUI (){
                if (window){
                if (GUI.Button ( new Rect(Screen.width/2 - 90,Screen.height/2 - 40,180,30), "You die")) {
                        Time.timeScale = 1;
                        window = false;
                        MouseLook ml = (MouseLook) gg.GetComponent<MouseLook>();
                        ml.enabled = enabled;
                        Application.LoadLevel (0);
                        }
                }
        }
}

 
Последний раз редактировалось andron_20 30 июл 2013, 03:34, всего редактировалось 2 раз(а).
andron_20
UNец
 
Сообщения: 2
Зарегистрирован: 26 июл 2013, 16:03

Re: Help!

Сообщение 2rusbekov 29 июл 2013, 15:29

в функцию старт добавь target = GameObject.Find('GameObj');
Still alive...
Аватара пользователя
2rusbekov
Адепт
 
Сообщения: 1409
Зарегистрирован: 06 апр 2012, 12:57
Откуда: Бишкек

Re: Help!

Сообщение Левш@ 29 июл 2013, 15:36

andron_20, тему нормально переименуй.... :-w За такие названия у нас банят.
_X.cor.R (Prologue)
Аватара пользователя
Левш@
Адепт
 
Сообщения: 4073
Зарегистрирован: 14 окт 2009, 16:34
Откуда: IBERIA
Skype: bars_levsha
  • Сайт

Re: Постоянные переменные

Сообщение andron_20 30 июл 2013, 03:37

Левш@,
Ну, я думаю новеньким простительно :-?
andron_20
UNец
 
Сообщения: 2
Зарегистрирован: 26 июл 2013, 16:03

Re: Постоянные переменные

Сообщение Левш@ 30 июл 2013, 04:54

В префабах не сохраняются ссылки на обьекты сцены, только на ресурсы.
Поэтому при инстансе обьекта, в старте надо финдить нужный обьект, получить на него ссылку и потом уже с ней работать.
_X.cor.R (Prologue)
Аватара пользователя
Левш@
Адепт
 
Сообщения: 4073
Зарегистрирован: 14 окт 2009, 16:34
Откуда: IBERIA
Skype: bars_levsha
  • Сайт


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 33