ItemClass как с ним работать?

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

ItemClass как с ним работать?

Сообщение Volcara 09 авг 2012, 19:12

Доброго времени суток.

Научите, подскажите где научится и вообще посоветуйте пожалуста как работать с классами на JS.
Столкнулся с такой бедой - У меня в игре куча обьектов(предметов) с которыми надо создать интерактивность.
Обьектов много и все они разные и действия с ними должны выполнятся разные, так насколько хватает моего скудного познания в программировании их все нужно обьеденить одним классом из которого уже можно будет получать данные по каждому из них.
Теперь о том чего именно я не понимаю:
1. Как обьяснить обьектам на сцене что они являются частью Класса?
2. Как написать такой класс правильно ? Так или нет? (скрипт висит на коробке)
Синтаксис:
Используется javascript

function Start()

                {
                        var inf = ItemsClass();
                        inf.objectName = "box1";

                }

class ItemsClass
       
{
                var objectName;
                var objectNumber;
        }

3. Как узнать какой именно обьект я вижу? Так не работает(скрипт висит на камере)
Синтаксис:
Используется javascript
var dist:float = 20;

function Start()
                 {
                       
                       
                 }

function Update()
                 {
                         RayHit();
                 }     

function RayHit()
                {
                        var hit:RaycastHit;
                        var directionRay = transform.TransformDirection(Vector3.forward);
                       
                        Debug.DrawRay(transform.position , directionRay * dist, Color.red);
                       
                                if(Physics.Raycast(transform.position, directionRay , hit, dist))
                                {
                                        print(ItemsClass.inf);
                                }
                }
 


да и вообще как я не бился - никак заставить работать не могу - это всего один лишь вариант из многих
Вопрос конечно нубский и стыдно за свое невежество - но второй день ищу решение и не нахожу
Volcara
UNец
 
Сообщения: 25
Зарегистрирован: 29 ноя 2010, 17:36

Re: ItemClass как с ним работать?

Сообщение Volcara 09 авг 2012, 19:35

Так тоже не работает

скрипт на камере(RayCast.js)
Синтаксис:
Используется javascript
var dist:float = 20;

function Start()
                 {
                       
                       
                 }

function Update()
                 {
                         RayHit();
                 }     

function RayHit()
                {
                        var hit:RaycastHit;
                        var directionRay = transform.TransformDirection(Vector3.forward);
                       
                        Debug.DrawRay(transform.position , directionRay * dist, Color.red);
                       
                                if(Physics.Raycast(transform.position, directionRay , hit, dist))
                                {
                                        print(GetComponent(ItemsClass).fable.objectName);
                                }
                }
               



скрипт на кубе(ItrmsCalss.js)
Синтаксис:
Используется javascript
var fable = ItemsClass();
fable.objectName = "Box1";
                       
function Start()

                {
                       
                }

class ItemsClass
        {
                var objectName;
                var objectNumber;
        }



При попадании луча на обьект получаю ошибку
NullReferenceException: Object reference not set to an instance of an object
RayCast.RayHit () (at Assets/MyScripts/RayCast.js:27)
RayCast.Update () (at Assets/MyScripts/RayCast.js:15)
Volcara
UNец
 
Сообщения: 25
Зарегистрирован: 29 ноя 2010, 17:36

Re: ItemClass как с ним работать?

Сообщение Multirezonator 09 авг 2012, 22:20

Судя по тому что Вы пишите -> Вам еще туторы и http://docs.unity3d.com/Documentation/ScriptReference/ курить да ООП основы учить.
Скрытый текст:



Аватара пользователя
Multirezonator
UNITрон
 
Сообщения: 248
Зарегистрирован: 15 фев 2010, 16:12
Откуда: Украина, Луганск
  • Сайт

Re: ItemClass как с ним работать?

Сообщение Volcara 10 авг 2012, 01:08

Я понимаю что учить и "вкуривать" мне еще долго, но и то что я понаписал тоже я не из воздуха взял а из туторилов и справки....

вот так выводит все имена
Синтаксис:
Используется javascript
#pragma strict



var dist:float = 20;

var useObj:GameObject[];

function Start()
                 {
                         useObj = GameObject.FindGameObjectsWithTag('usebleObjects');
                         for( var i = 0 ; i < useObj.length; i++ )
                         {
                        print(useObj[i].name);
                               
                         }
                       
                 }

function Update()
                 {
                         
                         RayHit();
                 }     

function RayHit()
                {
                        var hit:RaycastHit;
                        var directionRay = transform.TransformDirection(Vector3.forward);
                       
                        Debug.DrawRay(transform.position , directionRay * dist, Color.red);
                       
                                if(Physics.Raycast(transform.position, directionRay , hit, dist))
                                {
                                        //print(useObj[i].name);
                                       
                                }
                }
               
                       
               


Но как вывести имя именно того обьекта в который упирается луч?
Volcara
UNец
 
Сообщения: 25
Зарегистрирован: 29 ноя 2010, 17:36

Re: ItemClass как с ним работать?

Сообщение bomberest 10 авг 2012, 01:49

Изучать по справке результат луча
Основы Unity3D Свой 2D-движок Фильм для разработчиков Кастомизация едитора
Лекции игрового программирования
Skype: Andrewf56 | Steam: bomberest (-AnF-) | Vk: _https://vk.com/andrewshut
Аватара пользователя
bomberest
Старожил
 
Сообщения: 538
Зарегистрирован: 22 июн 2011, 14:38
Откуда: Минск
  • ICQ

Re: ItemClass как с ним работать?

Сообщение Volcara 10 авг 2012, 02:20

Спасибо за наводку - теперь зная где копать добился своего.

все заработало.

Тем кому, как и мне еще долго "Вкуривать в справку"
Синтаксис:
Используется javascript
#pragma strict



var dist:float = 20;



function Start()
                 {
                       
                       
                 }


                 
                 
function Update()
                {      
                RayHit();
                }                
                 
                 

function RayHit()
                {
                        var hit:RaycastHit;
                        var directionRay = transform.TransformDirection(Vector3.forward);
                       
                        Debug.DrawRay(transform.position , directionRay * dist, Color.red);
                       
                                if(Physics.Raycast(transform.position, directionRay , hit, dist))
                                {
                                        Debug.Log(hit.collider.name);
                                       
                                       
                                }
                }
               
       
 
Volcara
UNец
 
Сообщения: 25
Зарегистрирован: 29 ноя 2010, 17:36

Re: ItemClass как с ним работать?

Сообщение Syberex 10 авг 2012, 09:28

Volcara писал(а):Теперь о том чего именно я не понимаю:
1. Как обьяснить обьектам на сцене что они являются частью Класса?
2. Как написать такой класс правильно ? Так или нет? (скрипт висит на коробке)

1. Повесить на гейм-объекты скрипт.
2. В С# наследовать класс от MonoBehaviour. В JS класс автоматически наследует от MonoBehaviour.

Никаких переменных класса:
Синтаксис:
Используется javascript
function Start()

                 {
                         var inf = ItemsClass();
                         inf.objectName = "box1";

                 }

создавать переменную не надо, просто вешаем скрипт на объект и он получает функционал класса.
Аватара пользователя
Syberex
Адепт
 
Сообщения: 2292
Зарегистрирован: 14 янв 2011, 20:35
Откуда: Кострома
  • Сайт

Re: ItemClass как с ним работать?

Сообщение Volcara 10 авг 2012, 18:22

Спасибо - то что нужно!!
Volcara
UNец
 
Сообщения: 25
Зарегистрирован: 29 ноя 2010, 17:36


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11