Сообщения, созданные пользователем ДЕНИС
19 февраля 2018 16:30
Поэтому рекомендуется вызывать m_data.load после того, как предыдущие данные были загружены, например по цепочке, в каждом load_cb. Прикрепляю
Обновлю… да действительно при последовательной загрузке одно из другого заработало..
при чем обязательно указать на data_id при поиске элемента в сцене, а как же искать все объекты во всех сценах?
https://www.blend4web.com/api_doc/module-scenes.html#.get_object_by_name
в связи с тем что ИД указан как опционально и я предположил, по аналогии с очисткой сцены, что искать будет во всех загруженных сценах, но оказывается что так не работает, хотя в дебаге я посмотрел, что он находит объект и перебирает и эту сцену тоже… но на выход не возвращает его…
возможно есть другой метод искать объекты во всех загруженных в данный момент данных?
Денис
19 февраля 2018 14:49
вам нужно использовать промисы
про ассинхронность вызовов JS оно понятно.. про промисы тоже , все это было сказано уже вследствие не понимания почему все же объекты не ищутся по ГЕТ … это основной вопрос даже если в калбеке успешной загрузкипрописаны..
попробую еще раз разделить сейчас на разные калбеки последовательные, хотелось избезать этого и понадеялся, что все загрузятся и из последнего.
Денис
19 февраля 2018 12:47
Ответ на сообщение пользователя Александр Романов
…..
У вас один и тот же load_cb на все сцены…….какие данные были только что загружены…..
Да все верно план был минимизировать код и унифицировать подгрузну нужных объектов, а их передачу в переменные планировалось сделать после загрузки всех нужных частей сцены например.
можно и с разными калбеками, но подумалось, что не нуждно этого…
так как присвоить в переменную объект из таким образом загруженных данных после всех вывзовов, обычный метод не срабатывает!
Ответ на сообщение пользователя Александр Романов
Каким образом это проявляется? wait_complete_loading ………
лог пишет в кадом калбеке сообщение в консоль номер в data_id это возвращенный номер сцены
похоже что все методы запускаются ассинхронно, кроме того я вывожу еще в лог сообщение после всех load
так вот оно появляется СРАЗУ ! еще до первого ответа из калбека
data_id= 2 loaded 15% load_time sec=0.598
data_id= 3 loaded 3% load_time sec=0.586
data_id= 2 loaded 17% load_time sec=0.662
data_id= 1 loaded 32% load_time sec=0.886
data_id= 3 loaded 6% load_time sec=1.174
data_id= 1 loaded 35% load_time sec=1.232
data_id= 1 loaded 38% load_time sec=1.278
Денис
18 февраля 2018 02:56
Доброго времени суток..
разбил сцену на разные JSON чтоб грузить и заменять ее частями вроде все было ок, но
как загрузку сделал последовательную обнаружил, что переменные для объектов не получают значение.. уж было подумал, что асинхронно грузятся сцены и промазывает, проверил; да асинхронно, поставил флаг "ждать загрузки данных", но ничего не изменилось
все как обычно грузит в "перемешку все сцены":
ну и конечно target пустой оказывается во время попытки использовать его свойства по кнопкам итд.. да и в отладчике и консоли ругань на пустую переменную по время присвоения и конечно get_object_by_name не возвращает объект, хотя он точно есть в сцене и в json итд.. не первый раз обычным способом все работало..
ВОПРОС: почему же не ищутся объекты?
вопрос2: почему не отрабатывает ожидание полной загрузки?
load(path, loaded_cb(opt), stageload_cb(opt), wait_complete_loading(opt), load_hidden(opt)) → {number}
разбил сцену на разные JSON чтоб грузить и заменять ее частями вроде все было ок, но
как загрузку сделал последовательную обнаружил, что переменные для объектов не получают значение.. уж было подумал, что асинхронно грузятся сцены и промазывает, проверил; да асинхронно, поставил флаг "ждать загрузки данных", но ничего не изменилось
все как обычно грузит в "перемешку все сцены":
function init_cb ( canvas_elem, success)
{//....... обычный код
var target;
m_data.load( APP_ASSETS_PATH+"scena1.json", load_cb, preloader_cb, true, false);
m_data.load( APP_ASSETS_PATH+"scena2.json", load_cb, preloader_cb, true, false);
m_data.load( APP_ASSETS_PATH+"scena3.json", load_cb, preloader_cb, true, false);
}
function load_cb(data_id, success)
{//..... обычный код
m_app.enable_camera_controls();
target = m_scenes.get_object_by_name("target");
}
$("#target ").click(function() {
//m_scenes.show_object(target);
m_scenes.hide_object(target)
});
ну и конечно target пустой оказывается во время попытки использовать его свойства по кнопкам итд.. да и в отладчике и консоли ругань на пустую переменную по время присвоения и конечно get_object_by_name не возвращает объект, хотя он точно есть в сцене и в json итд.. не первый раз обычным способом все работало..
ВОПРОС: почему же не ищутся объекты?
вопрос2: почему не отрабатывает ожидание полной загрузки?
load(path, loaded_cb(opt), stageload_cb(opt), wait_complete_loading(opt), load_hidden(opt)) → {number}
Денис
07 февраля 2018 12:16
Не могу сказть про конкретно такой подход с модулями еще не пробовал, но было подобное сообщение ранее , когда пути к модулю движка (который дублировать конечно не надо) были пропсаны начиная с "/" или без него .. точно не поню полез руками нашел и правил и пробовал. А на локальном у меня тоже работало в ФФоксе тогда.
Денис
04 февраля 2018 16:24
02 февраля 2018 19:28
Ответ на сообщение пользователя Александр Романов
Нашел вот такое решение:
В реестре в директории HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem поменять значение ключа LongPathsEnabled в единицу.
Источник
возник попутный вопрос зачем мелкомягкие это отключили, и на что повлияет в итоге.. сдается мне что производительность и совместимость NTFS понизится (((
https://superuser.com/questions/1119883/windows-10-enable-ntfs-long-paths-policy-option-missing вот всяике подробности , будем пробовать
PS "звездный час" мелкософта кончился на XP
Денис
02 февраля 2018 01:56
01 февраля 2018 19:38
16 января 2018 02:42
Ответ на сообщение пользователя VadoZe
Конфигуратор каминов
+ менять длину ширину высоту (по опорным точкам и свободно)
+ выбирать материал для разных частей
+ включать выключать некоторые элементы
+ рассчитывать цену исходя из всего этого
+ менять окружение/фон
в идеале
+ сохранять, загружать конфиг
+ отправлять конфиг заявкой на почту
+ ундо/редо
+ скриншот
Все реализуемо, вопрос времени и денег. ну и от вас контактная информация ….
Денис