![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| neoks |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: нет Всего: 1 |
Пишу редактор для создание новых объектов в игре, в чем суть, нужно создать обьект, посмотреть какие скрипты у него есть и по надобности запустить.
К примеру как это делается в unity 3D в скриптах.
не могу сообразить теперь как этот скрипт подгружать, к примеру основной скрипт выполняет функцию
также не могу врубить как ID подгружать, к примеру есть массив с этими ID и в них есть те самые скрипты, вопрос в том как их выполнить ? знаю что можно через eval() но потом найти ошибку как иголку в стоге сена. Есть идее как это можно реализовать ? |
||||
|
|||||
| neoks |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: нет Всего: 1 |
Намудрил вот такое, не знаю, правильно ли решение ?
Добавлено через 2 минуты и 17 секунд а блин, значение одинаковое почему то)) |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
я нифига не понял :(
|
|||
|
||||
| neoks |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: нет Всего: 1 |
skyboy пытаюсь загружать скрипт из файла, суть в том что каждый игровой обьект имеет свой скрипт, игровой движок запускает события типа onCreate(), onUpdate(),onDestroy() и тд. например при создание обьекта чет нуно сделать или добавить что-та в карте или еше что-та сделать.
Поэтому нечего проще не придумал как сделать вот такие вот скриптики для взаимодействия с обьктом, но долго думал как сделать так чтобы игровой движок запускал события в обьекте. Намудрил так, вроде пашет правильно, просто и со вкусом))
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
окей.
1. каждый объект(конструктор?) — в отдельном файле. 2. надо подгружать файлы динамически(нельзя сразу все файлы подключить и потом просто вызывать те или иные блоки?) 3. после окончания загрузки надо как-то выполнять код в них(про requirejs слыхал? почему б не использовать такой же подход?)
запуск кода из строки — та еще боль. |
|||
|
||||
| neoks |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: нет Всего: 1 |
skyboy не особо та понял что делает requirejs ? пока вдуплил что оно скрипты подгружает, вроде также можно сделать и свою функцию через тег <script>
2. не обязательно динамически, можно через php все подгрузить, все равно они все будут загружены но requirejs также загружает скрипт в строку и я им потом пользуюсь, не так ли ? |
|||
|
||||
| ksnk |
|
||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Оно загружает скрипты, а не кусочки кода.
Если после загрузки объекта поменять ему prototype на нужный объект, то дополнительного eval'а больше не понадобится. Это сообщение отредактировал(а) ksnk - 11.9.2013, 12:15 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
||||
|
|||||
| neoks |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: нет Всего: 1 |
ksnk я пока вообще не врубаюсь как это чудо работает, читал доки, примеры, какие там примеры? вот он умеет загружать а что загружать хз что он может)) поэтому я пока вообше не вкуриваю как оно работает, как мне к примеру конструктор писать? и какой скрипт писать в файл? специальный для requirejs или мона свой писать? аля что угодно и оно будет работать?))
Этот пример то что ты мне дал я снова не вкурил, это типа в файле должен быть скрипт? или где?, и как потом им пользоваться с движка? На примере запуск конструктора с движка;
Сори за стока вопросов) я не гуру в скрипте вот и не понимаю как оно работает) мне пример бы чтобы понять что к чему) Это сообщение отредактировал(а) neoks - 11.9.2013, 14:44 |
|||
|
||||
| ksnk |
|
||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
C requireJs не работал, но осуждаю Вот наколенная грязная реализация. Вероятно, что-то подобное делает и requireJs.
Что то такое. Ключевые моменты - асинхронный запрос тут только для того, чтобы первоначальный пример работал. Должна существовать функция-прототип всех объектов, чтобы не писать все возможные методы во всех скриптах. Писано на коленке, возможны ашипки. ajax от jquery- это просто демонстрация неасинхронного аякса. P.S. Надо бы проверить что тут такое написалось ... Это сообщение отредактировал(а) ksnk - 11.9.2013, 16:13 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
||||
|
|||||
| neoks |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: нет Всего: 1 |
Попробовал, поменял вместо ajax сразу на строку http://jsfiddle.net/QTwQc/ выбил вот такую вот ошибку Uncaught SyntaxError: Unexpected token var , что теперь писать в строке ?
Это сообщение отредактировал(а) neoks - 11.9.2013, 17:59 |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| neoks |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: нет Всего: 1 |
ksnk Спасибо! как всегда выручил) еще бы придумать как бы так сделать чтоб когда метода такого нет не вылетала ошибка))
|
|||
|
||||
| ksnk |
|
||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Ну, как всегда на JS
Хотя иногда луше в прототипе определить затычки -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
||||
|
|||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
||||
|
||||
| neoks |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: нет Всего: 1 |
Все, вопрос решен, сделал заглушки, еще раз спасибо всем)
|
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |