2015-07-04 2 views
2

Я использую свойство UserDD объекта Three.js Object3D для хранения информации из базы данных MySQL, сериализованной в json-пары, чтобы дать мне данные для выполнения различных действий при выборе объектов, представляющих сохраненные данные. Кажется, это хорошо работает для нескольких пар.Существуют ли ограничения, ограничивающие свойство user.Ta.ds.js?

Я отмечаю из ссылки предупреждение о том, чтобы не хранить ссылки на функции, поскольку они не будут клонированы. Может ли кто-нибудь сказать мне, есть ли другие ограничения для этого свойства (количество пар, иерархические данные и т. Д.)? Я хочу хранить 2-3 000 слов текста, изображений, капли и т. Д., Но предпочитаю запрашивать проб и ошибок. документы немного редки по таким вопросам.

Большое спасибо ... Джеймс

ответ

2

Нет особых ограничений. Это просто объект JavaScript:

https://github.com/mrdoob/three.js/blob/0fbc8afb348198e4924d9805d1d4be5869264418/src/core/Object3D.js#L85

this.userData = {}; 

Итак, пока ваш объект находится в памяти, вы можете поставить там любые переменные JavaScript. Только ограничения - это то, что у вас всегда есть, доступная память в основном. Поскольку объекты Javascript могут содержать любые типы и иерархию, так что вы в порядке.

Я использовал этот поиск, чтобы проверить это в коде: https://github.com/mrdoob/three.js/search?utf8=%E2%9C%93&q=userdata

+0

Благодаря @antont обучения методом проб и ошибок является отличным способом, чтобы понять много кода, но сделать одно плохое решение реализации, и это может означать 100 часов работы позже, чтобы отменить. Ваш простой ответ очень ценится, поскольку мне предстоит пройти долгий путь, когда я изучаю JavaScript и Three.js ... – Mentasm