forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Unity (http://forum.boolean.name/forumdisplay.php?f=144)
-   -   Tile Map Editor (http://forum.boolean.name/showthread.php?t=16356)

pax 06.03.2012 09:13

Ответ: Tile Map Editor
 
Цитата:

Сообщение от WISHMASTER35 (Сообщение 221750)
Почему, если я создаю поле public TileSet tileset = new TileSet();, то в инспекторе мне предлагается задать этому полю значение как буд-то эта ссылка равна null?

потому что
Цитата:

Сообщение от WISHMASTER35 (Сообщение 221750)
TileSet : MonoBehaviour.

Нельзя создать компонент без объекта, т.е. нельзя для компонентов использовать ключевое слово new, можно только AddComponent. Поэтому тебе предлагается навесить на поле какой-то созданный компонент.

WISHMASTER35 06.03.2012 21:31

Ответ: Tile Map Editor
 
Да мне TileSet и не надо было использовать как компонент.
Просто если не наследовать его от MonoBehaviour, то в инспекторе не отображается.
А я хотел что бы в инспекторе отображался объект TileSet и его поля.
По-моему в JS так делали. Или я что-то не так помню.

pax 06.03.2012 22:44

Ответ: Tile Map Editor
 
http://unity3d.com/support/documenta...ializable.html тебе поможет

WISHMASTER35 20.03.2012 02:30

Ответ: Tile Map Editor
 
Цитата:

Сообщение от pax (Сообщение 221850)

На структуры это почему-то не действует.
Почему событие MouseDrag не вызывается при нажатой левой кнопки мыши? И как самому отследить это? Узнать зажата ли кнопка мыши в данный момент нельзя и Event.current.button равно 0, если лкм зажата или не зажата никакая(

pax 20.03.2012 09:17

Ответ: Tile Map Editor
 
Это действует на классы.
http://unity3d.com/support/documenta...useButton.html показывает, зажата ли кнопка.
На счет GUI - надо обрабатывать эвент
http://unity3d.com/support/documenta...MouseDrag.html
для расчета смещения, и эвенты
http://unity3d.com/support/documenta...MouseDown.html
http://unity3d.com/support/documenta...e.MouseUp.html
для определения какая кнопка нажата

http://unity3d.com/support/documenta...MouseDrag.html
работает только на объектах с колайдерами в режиме Play.

WISHMASTER35 20.03.2012 19:06

Ответ: Tile Map Editor
 
Цитата:

http://unity3d.com/support/documenta...useButton.html показывает, зажата ли кнопка.
В редакторе не работает же.
Цитата:

На счет GUI - надо обрабатывать эвент
http://unity3d.com/support/documenta...MouseDrag.html
Этот эвент когда надо и не вызывается т.е. когда зажата левая кнопка.

Вообщем я так понимаю надо с помощью MouseDown/MouseUp и bool mousePressed отслеживать нажата клавиша или нет. Как-то тупо это делать вручную(

Надо было это прописать HandleUtility.AddDefaultControl(GUIUtility.GetCont rolID(FocusType.Passive));

WISHMASTER35 24.03.2012 01:29

Ответ: Tile Map Editor
 
Сделал следующую версию)
Демо http://dl.dropbox.com/u/55489242/Til...WebPlayer.html
Проект http://dl.dropbox.com/u/55489242/Til...r.unitypackage
Видео http://www.youtube.com/watch?v=lmV4W...ature=youtu.be

С редактором уже наверно все закончено.
В игру добавил объекты которые можно двигать, объекты которые сами двигаются и тригеры.
Но все это работает фиговато т.к. двигающиеся платформа двигается не видя препятствий перед собой, а игрой стоящий на такой платформе прикрепляется так, что тоже пройдет сквозь все. Хотя это и не очень важно для многих подобных игр. И на одну клетку могут зайти несколько объектов, а это уже хуже.
Так что надо как-то полностью по другому делать игровую часть.


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

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