Перевод уроков под С#. Помощь. Возможные проблемы.

Общие вопросы о Unity3D

Перевод уроков под С#. Помощь. Возможные проблемы.

Сообщение dak20 13 июл 2009, 23:14

Всем привет. Собственно занялся я не так давно изучением сего чуда до этого лазил в дебрях DirectX, OpenGL, изучению физики и.т.д. Понял одно что бы сделать что то свое нужно идти не снизу вверх а наоборот, т.е посмотреть комплект программного обеспечения для создания игр Unity как раз хорошо подходит в этом плане. Сдела я первый урок про 2Д платформера. Повторить можно его за один день а вот сделать его с нуля и тем более перевести все с JavaScript оказалось не так то просто. Но работа начата. Цель изучить Unity и создать свой проект.

Проблема заключается в следующем(привожу отрывок кода из первого туториала на JavaScript):

Скрипт: LevelAttributes
JavaScript

function Start () {
createdBoundaries = new GameObject ("Created Boundaries");
createdBoundaries.transform.parent = transform;

leftBoundary = new GameObject ("Left Boundary");
leftBoundary.transform.parent = createdBoundaries.transform;
boxCollider = leftBoundary.AddComponent (BoxCollider);
boxCollider.size = Vector3 (colliderThickness, bounds.height + colliderThickness * 2.0 + fallOutBuffer, colliderThickness);
boxCollider.center = Vector3 (bounds.xMin - colliderThickness * 0.5, bounds.y + bounds.height * 0.5 - fallOutBuffer * 0.5, 0.0);
.............................
}

C#
void Start ()
{
GameObject createdBoundaries = new GameObject ("Created Boundaries");
createdBoundaries.transform.parent = transform;

GameObject leftBoundary = new GameObject ("Left Boundary");
leftBoundary.transform.parent = createdBoundaries.transform;
boxCollider = leftBoundary.AddComponent (BoxCollider); // в этом месте все падает.

Что такое boxCollider и откуда он взялся в документции его нету. Т.е про BoxCollider - я в целом представляю а вот откуда взялся boxCollider не имею понятия. Объясните! Я как понимаю он тут нужен для ссылки на сам BoxCollider который мы динамически создаем и помещаем в leftBoundary.
Ошибка следующего характера:

Expression denotes a `type', where a `variable', `value' or `method group' was expected
dak20
UNец
 
Сообщения: 2
Зарегистрирован: 13 июл 2009, 22:53

Re: Перевод уроков под С#. Помощь. Возможные проблемы.

Сообщение Neodrop 13 июл 2009, 23:20

Box Collider это компонент физики - коллизионный куб.
Ваш код жутко не правилен. Вот рабочий вариант:

C#
Код: Выделить всё
void Start ()
{
GameObject createdBoundaries = new GameObject ("Created Boundaries");
createdBoundaries.transform.parent = transform;

GameObject leftBoundary = new GameObject ("Left Boundary");
leftBoundary.transform.parent = createdBoundaries.transform;

BoxCollider boxCollider = leftBoundary.AddComponent (typeof( BoxCollider)) as BoxCollider;


P.S. Надо же, совсем забыл, что имя объекту можно задать в конструкторе... :-?
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Перевод уроков под С#. Помощь. Возможные проблемы.

Сообщение dak20 13 июл 2009, 23:31

Я догадывался что JacaScript делает автоматом привидение типов, и даже хотел сделать то что вы мне написали. Но спасибо большое.
dak20
UNец
 
Сообщения: 2
Зарегистрирован: 13 июл 2009, 22:53

Re: Перевод уроков под С#. Помощь. Возможные проблемы.

Сообщение Neodrop 13 июл 2009, 23:34

Не только автомат. Автоматическое приведение это главный тормоз Жабы.
Но там можно и непосредственно объявить тип переменной. К примеру :

Код: Выделить всё
var myObj : GameObject = new GameObject();


Что по скорости, практически приравнивает к работе Напильника. :-?
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт


Вернуться в Общие вопросы

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

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