forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Уроки (http://forum.boolean.name/forumdisplay.php?f=145)
-   -   Переход с Blitz3D на Unity3D. (http://forum.boolean.name/showthread.php?t=13540)

pax 18.12.2010 21:24

Ответ: Переход с Blitz3D на Unity3D.
 
Цитата:

Сообщение от Crayzi (Сообщение 172355)
П.с. Я так понял что "public" означает что я создал глобальную переменную или же это не так? Как создать локальную/глобальную переменную?

Что-то я не сразу этот вопрос замерил.

модификатор public определяет публичную область видимости переменной/метода/класса. Если хочется обратиться к переменной объекта как [объект].[переменная] то ее надо сделать public или internal. internal от public отличается тем, что закрывает видимость переменной/класса/свойства внутри dll (сборки). public - не закрывает. приватные переменные могут быть объявлены с помощью модификаторов private и protected. protected позволит пользоваться переменной/свойством/методом в объектах - наследниках.
Чтобы сделать статическую переменную (global в Blitz3d) надо объявить переменную с дополнительным модификатором static.

т.е.

PHP код:

public class ExampleClass
{
   public static 
float variable_name;


тогда к этой переменной можно будет обратиться отовсюду с помощью имени типа объекта, т.е.
PHP код:

ExampleClass.variable_name 1.234f

PS: пошел C# ))

pepel 18.12.2010 21:28

Ответ: Переход с Blitz3D на Unity3D.
 
Цитата:

Сообщение от pax (Сообщение 172370)
Объявление свойства выглядит так:
PHP код:

public Quaternion rotation
{
   
get
   
{
     
// действие
     
return значение;
   }
   
set
   
{
     
//действие с входным значением value
   
}


Потом можно им пользоваться как полем.


чет я не врубился ты же писал myLight.transform.rotation = Quaternion.Euler(90, 0, 0);

зачем еще нужно обьявление .?

короч я еще походу не готов к этим сложным языкам)

pax 18.12.2010 21:30

Ответ: Переход с Blitz3D на Unity3D.
 
Цитата:

Сообщение от pepel (Сообщение 172376)
зачем еще нужно обьявление .?

По такому принципу создано свойство rotation типа Transform. Это просто пример.
Установка значения свойства на C#:
PHP код:

transform.rotation = new Quaternion(); 

на С++:
PHP код:

transform.set_rotation(new Quaternion()); 


Взятие значения свойства на C#:
PHP код:

Quaternion rot transform.rotation

на С++:
PHP код:

Quaternion rot transform.get_rotation(); 

Вот и различия.
Создание свойства и использование свойства - это разные вещи. В данном посте использование свойства rotation. Объявление свойства у объекта я показал выше.

на Блице Тип с полем:

Код:

Type Player
  Field life#
End Type

На C# класс с полем
PHP код:

public class Player
{
  public 
float life;


Для начала изучения не обязательно знать чем отличаются свойства от полей. Это постепенно будет понятно.

Crayzi 18.12.2010 21:49

Ответ: Переход с Blitz3D на Unity3D.
 
Цитата:

Сообщение от pax (Сообщение 172377)
По такому принципу создано свойство rotation типа Transform. Это просто пример.
Установка значения свойства на C#:
PHP код:

transform.rotation = new Quaternion(); 

на С++:
PHP код:

transform.set_rotation(new Quaternion()); 


Взятие значения свойства на C#:
PHP код:

Quaternion rot transform.rotation

на С++:
PHP код:

Quaternion rot transform.get_rotation(); 

Вот и различия.
Создание свойства и использование свойства - это разные вещи. В данном посте использование свойства rotation. Объявление свойства у объекта я показал выше.

на Блице Тип с полем:

Код:

Type Player
  Field life#
End Type

На C# класс с полем
PHP код:

public class Player
{
  public 
float life;


Для начала изучения не обязательно знать чем отличаются свойства от полей. Это постепенно будет понятно.



Кажись я начинаю по чучуть догонять что к чему, авось пока в юнити разбираюсь еще и С# начну понимать))

.Squid 18.12.2010 22:16

Ответ: Переход с Blitz3D на Unity3D.
 
Да-да, рах, строй для них знания без фундамента. Так быдло-кодеры и рождаются. А тебе потом за ними еще придется их говно-код подтирать.

pax 18.12.2010 22:18

Ответ: Переход с Blitz3D на Unity3D.
 
Цитата:

Сообщение от .Squid (Сообщение 172384)
Да-да, рах, строй для них знания без фундамента. Так быдло-кодеры и рождаются. А тебе потом за ними еще придется их говно-код подтирать.

Не беспокойся, это мои проблемы ;)

.Squid 19.12.2010 03:19

Ответ: Переход с Blitz3D на Unity3D.
 
Ппц, РАХ, ты уже задолбал удалять сообщения. Я свою мысль специально тегами оффтопа обернул.
Хочешь, чтобы тебе писали только то, что приятно читать и совпадает с твоим мнением, - организуй свой форум и вводи там тоталитаризм.

pax 19.12.2010 13:23

Ответ: Переход с Blitz3D на Unity3D.
 
Я удалил твое сообщение только второй раз и уже задолбал? Сообщение было адресовано мне, я его прочитал, ответил, подождал и удалил за ненадобностью. В чем недовольство? Личные сообщения лучше в личку пиши.

.Squid 19.12.2010 14:33

Ответ: Переход с Blitz3D на Unity3D.
 
Цитата:

Сообщение от pax (Сообщение 172385)
Не беспокойся, это мои проблемы ;)

К сожалению, нет. Эти быдло-кодеры потом будут окружать не только тебя.
Не стоит понимать мои слова как личное оскорбление. Я хочу лишь сказать, что ты даешь людям рыбу, а надо давать удочку.

Цитата:

Сообщение от pax (Сообщение 172424)
Я удалил твое сообщение только второй раз и уже задолбал? Сообщение было адресовано мне, я его прочитал, ответил, подождал и удалил за ненадобностью. В чем недовольство? Личные сообщения лучше в личку пиши.

Я удаление своих сообщений в темах, которые модерируются тобой, замечаю уже не первый, и не второй раз. Это неимоверно раздражает. Ну ладно, если ты не понимаешь мой юмор и считаешь его какими-то нападками. Но, заметь, я никогда правила форума не нарушал. Мат в своей речи я использую крайне редко. До личных оскорблений я никогда не опускался. Весь оффтоп заключен в соответствующие теги. Какое ты имеешь право удалять мои сообщения? Не злоупотребляй своими возможностями.
Ты как-то недавно написал, что форум - это тоже некое подобие учебного пособия. А не думал ли ты, что мой "оффтоп" тоже будет для кого-то полезен? Возможно кто-то призадумается и поймет, что учиться программировать, вставляя "public" и "virtual" наобум, пытаясь увидеть изменения в поведении компилятора / приложения, - это, мягко говоря, неправильно?

pax 19.12.2010 15:47

Ответ: Переход с Blitz3D на Unity3D.
 
Вероятность полезности оффтопа очень мала. Многие не прочитают оффтоп зайдя на форум. И т.к. это сказано в рамках оффтопа не проанализируют.

Цитата:

Эти быдло-кодеры потом будут окружать не только тебя.
Чем называть всех быдло-кодерами, лучше бы ссылки ("удочки") на учебники раздавал.

Я буду рад, что на форуме вообще кто-то будет что-то делать, чем смотреть на пустующие разделы. "Эти быдло-кодеры потом..." могут стать и нормальными программистами (не профессионалами, т.к. многим это и не нужно, для многих это хобби). Каждый начинает учиться по разному. Кто-то знает что ему нужно - купит книжку в магазине и будет читать, кто-то случайно заинтересуется и задаст "быдло-кодерский" вопрос. В итоге результат может разный. Первому может книжка не понравится, и он скажет что это не мое или понравится, он будет читать новые книжки читать. А второго чем-то заинтересовала тема и он начнет копать дальше, тоже начнет книжки читать. А может "элита" по стебается над ним и он тоже бросит не начав, хотя у него будут нужные способности к самообучению.

Я себя не могу назвать профессионалом, я владею C#'ом на достаточном мне уровне. Да я учился самостоятельно, читал книжки, учился по примерам на этом форуме и на других форумах. Может задавал мало вопросов только потому, что до меня их уже задали так называемые "быдло-кодеры". И вообще у меня профессия "Технология машиностроения", программирование было моим хобби и выросло в нечто большее.

Так к чему я это все: помогать новичкам я будут так же как и помогал, меня не волнует мнение "элиты" о "рыбе". Каждый из участников форума сам решит как приготовить "пойманную мной рыбу себе на ужин" - просто сварить как уху и не почувствовать ее вкуса, или попробовать приготовить какое-то особенное блюдо на ее основе, которое даст ему навыки кулинара и следующую "рыбу" он приготовит еще лучше.

Illidan 19.12.2010 15:57

Ответ: Переход с Blitz3D на Unity3D.
 
Пакс, хорошо сказал!)

Crayzi 19.12.2010 18:25

Ответ: Переход с Blitz3D на Unity3D.
 
Цитата:

Сообщение от .Squid (Сообщение 172384)
Да-да, рах, строй для них знания без фундамента. Так быдло-кодеры и рождаются. А тебе потом за ними еще придется их говно-код подтирать.

Кое что хочу прояснить, я хорошо знаю блитз, мне понравился Unity, я захотел узнать как пользоватся им аля-блитз, здесь я пытаюсь узнать тот минимум чтобы начать понимать как работает чужой код и чтобы иметь возможность его изменять, я на много быстрее понимаю если есть с чем сравнивать, для меня ответы которые дает pax - именно то что я хотел узнать, получив его ответы я уже сам могу по немногу читать чужой код и результативно обучатся.
Во как! ))
П.с. .Squid, если не умееш объяснять как положено то и рождаются быдло кодеры, + может ктото твой код считает быдлокодом, ведь сколько людей, столько подходов и решений какой либо проблеммы, правда некоторые решения - стандартный вариант, а некоторые - аля быдлокод, но ведь все когдато писали быдлокод, без этого нереально, если только нет под рукой учителя который делится с тобой своим опытом, для некоторых и Goto - незаменимая вещь, только потому что они знают в каких конкретных случаях эта функция должна быть использована.
+2 минуты...
Нормальный читаемый подчерк кода у человека вырабатывается со временем.
Иногда новичку легче понять чей-нибудь быдлокод чем мега навороченный с мега профессиональными, мега блатными выражениями какогото профи, в данном случае он подумает "что это за пурга? и как в ней разобратся", все люди учатся постепенно, если только у них нет врожденного таланта.

ffinder 19.12.2010 18:32

Ответ: Переход с Blitz3D на Unity3D.
 
вынужден согласится со squid'ом.
сначала нужно прочесть мануал, или хотя бы посмотреть видеоуроки.
а задавать тысячи вопросов без понимания общего устройства - путь в никуда.
PS: вместо того, чтобы просто написать в поиске: "что такое public в C#" человек начинает делать догадки...

ffinder 19.12.2010 18:34

Ответ: Переход с Blitz3D на Unity3D.
 
Цитата:

Сообщение от Crayzi (Сообщение 172463)
мне понравился Unity, я захотел узнать как пользоватся им аля-блитз

это у тебя никак не получится. у этих двух движков очень много разного. общее только то что оба - игровые движки.

Crayzi 19.12.2010 18:36

Ответ: Переход с Blitz3D на Unity3D.
 
Цитата:

Сообщение от ffinder (Сообщение 172465)
вынужден согласится со squid'ом.
сначала нужно прочесть мануал, или хотя бы посмотреть видеоуроки.
а задавать тысячи вопросов без понимания общего устройства - путь в никуда.
PS: вместо того, чтобы просто написать в поиске: "что такое public в C#" человек начинает делать догадки...

Все знания основываются на догадках :)
П.с. Возможно в чемто ты прав, но я спросил насчет "public" как второстепенный вопрос и только после того как почитал в интернете и еще больше запутался.

+++
ffinder->>>это у тебя никак не получится. у этих двух движков очень много разного. общее только то что оба - игровые движки.<<<
Ну незнаю, после того примера какой мне дали, мне показалось что разобратся в Юнити не так ух и сложно, главное узнать как обращатся к нужным переменным, задавать свойства и параметры объектам, управлять выводом графики, передачей данных через сеть, работать с функциями, библиотеками и т. д. И если нет возможнойтей сделать так как делается в Blitz`е, то разобратся как сделать это при помощи этого языка программирования.


Часовой пояс GMT +4, время: 17:48.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot