Скрипт игрока

Программирование на Юнити.

Скрипт игрока

Сообщение Woolf 04 июл 2010, 13:08

Понимаю, что вопрос нубский и глупый, но помогите плз со скриптами глобальных объектов.

Вот у меня есть сцена mainMenu и сцены локаций, их много.
Я хочу, чтобы в игре присутствовали глобальные объекты, самый яркий пример - игрок, который содержит уровень , опыт и так далее.

Вот я набросал болванку класса игрока

Код: Выделить всё
using UnityEngine;
using System.Collections;

public class Piscator : GameObject {

    public long ID=0; //ИД игрока
   
   public int Level; // Уровень
   public string Name; // Имя (логин)
   public int MapID; // Местонахождение
   
   public long Exp=0; // Опыт
   public long levExp=0; //Опыт для уровня
   
   public long Money=0;  // Деньги
   public long RMoney=0; // Деньги 2
   
   public int gameMode = 0; // 0 - none, 1 - перемещение по локации, 2 - сидит ловит
   public bool isLoginned=false; // Залогинился ли
   
   public Transform  position; // Позиция игрока на локации
   public GameObject targetPath; // Куда идти (на локе)
   
       
   public Piscator (string login, string pass) {

   }
      
        public Piscator (long aID) {
   
   }

   // Поведение игрока
   void Update()
        {
   
   }
   
}


Помогите плз интегрировать такой класс игрока в игру и повесить на него поведение..
Я, хоть сишарп и понимаю, но как оно работает в движке - не очень.
Последний раз редактировалось Woolf 04 июл 2010, 13:21, всего редактировалось 1 раз.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Скрипт игрока

Сообщение Woolf 04 июл 2010, 13:14

Вот первый вопрос:
1) верно ли я унаследовался от GameObject?

2) как и где мне объявить объект игрока? Т.е. если по кнопке login в GUI я создам этот объект Piscator user=new Piscator();
как мне сделать этот объект видимым для ВСЕЙ игры, включая уровни и так далее?

3) Как мне потом находить этот объект в скриптах?

4) Имеются ли где либо 3D RPG туториалы с видом сверху-сбоку (аналог дьябла)?
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Скрипт игрока

Сообщение Golandez 04 июл 2010, 14:51

Имя переменной пишется с маленькой буквы.
1)Что вы хотели унаследовать от класса GameObject?
2) Обьявить ГО public static,чтобы был видим везде.
3)http://unity3d.ru/distribution/viewtopic.php?f=87&t=2051&p=17637&hilit=faq#p17637 пункт первый.
4)Не встречал.
Ты нужен только тогда,когда нужен.(С)
Сказать спасибо
Аватара пользователя
Golandez
Пилигрим
 
Сообщения: 1637
Зарегистрирован: 06 авг 2009, 13:55
Откуда: Харьков
Skype: lestardigital

Re: Скрипт игрока

Сообщение Woolf 05 июл 2010, 14:22

Golandez писал(а):Имя переменной пишется с маленькой буквы.
1)Что вы хотели унаследовать от класса GameObject?
2) Обьявить ГО public static,чтобы был видим везде.
3)http://unity3d.ru/distribution/viewtopic.php?f=87&t=2051&p=17637&hilit=faq#p17637 пункт первый.
4)Не встречал.



Что такое ГО? GameObject?


1) Хороший вопрос, я понял ) А от чего лучше наследоваться или не нужно вообще? По сути класс игрока это просто датаконтейнер, который хранит в себе параметры, присылаемые по сети.

2) Хм, но если объявить его как статик, то он же организует один экземпляр этого класса для всей игры? Или я не совсем понимаю? Как бы один экземпляр не решает, нужно несколько (отображать других игроков). Или же для других игроков, наверное, необходим класс попроще, который будет содержать укороченную информацию.

И как насчёт инстансов? Я бы хотел сделать для менеджеров нечто вроде этого:
Код: Выделить всё

public class UserManager {

   private static UserManager mgr = null;

   public static UserManager getInstance() {
      if (mgr == null) {
         mgr = new UserManager();
      }
      return mgr;
   }
}


Это вообще-то джава, в сишарпе это покатит? )


3) спасибо, но...
GameObject.GetComponent<Имя_скрипта>().
не будет ли тормозить поиск компонента в update?
и тут имя скрипта.. А не класса. Как-то не правильно..


4) жаль.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Скрипт игрока

Сообщение Rip 24 июл 2010, 23:34

создать префаб игрок и на него повесть го, в игре он будет доступен глобально , или возможно еще использовать иерархию.
Вроде так если я правильно тебя понял..
Вообще сам в тупике при переходе на [unity 3D] все не понятно ко-то.
Изображение
Реальность существует независимо от вас, до тех пор пока вы с этим согласны.
Изображение
Аватара пользователя
Rip
UNIт
 
Сообщения: 103
Зарегистрирован: 30 янв 2010, 14:11
Откуда: Оренбугская обл. г.Орск
  • ICQ

Re: Скрипт игрока

Сообщение Ging 27 июл 2010, 10:46

У меня вчера возникла похожая задача, решил вот таким образом:
http://unity3d.ru/distribution/viewtopic.php?f=18&t=2254
Аватара пользователя
Ging
UNец
 
Сообщения: 22
Зарегистрирован: 30 июн 2010, 14:06
Откуда: Москва
  • ICQ

Re: Скрипт игрока

Сообщение Rip 27 июл 2010, 16:01

1) Хороший вопрос, я понял ) А от чего лучше наследоваться или не нужно вообще? По сути класс игрока это просто датаконтейнер, который хранит в себе параметры, присылаемые по сети.


наследоватся нужно влюбом случае(как я понял,тонкости движка),если нужен просто свой класс то наследоватся от ScriptableObject
это типа пустой класс.
Изображение
Реальность существует независимо от вас, до тех пор пока вы с этим согласны.
Изображение
Аватара пользователя
Rip
UNIт
 
Сообщения: 103
Зарегистрирован: 30 янв 2010, 14:11
Откуда: Оренбугская обл. г.Орск
  • ICQ


Вернуться в Скрипты

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

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