由用户创建的信息 Dragon3DGraff
03 December 2015 10:32
Дошел я наконец до этого места)
Тут задам вопрос, раз уже поднимал эту тему.
Расскажу что я хочу сделать.
Задумка - сделать 3d-меню. Динамическое, заполняемое из БД.
Что я делаю. Создал два кубика - главное меню, и подменю.
создал массив меню (пока JS из таблицы, потом его из контроллера будет передавать php).
По Массиву добавляю кубик на каждый элемент меню
при загрузке каждого кубика вызываю колбэк loaded_cb, в котором размещаю кубики как мне надо
и вот в этом же колбэке я хочу на каждый кубик поместить надпись с названием пункта соответствующего меню.
Начал разбираться с канвас-текстурами, и понял, что моя задумка похоже не прокатит, так как мы вызываем
, а CanvasID у всех кубиков то один и тот же!, всего то у меня только два кубика, я их просто много раз загружаю.
Не подскажете может нужен какой-то другой путь? или может я тут что-то не допонял?
и как мне в колбэк передать значение из своего массива
Тут задам вопрос, раз уже поднимал эту тему.
Расскажу что я хочу сделать.
Задумка - сделать 3d-меню. Динамическое, заполняемое из БД.
Что я делаю. Создал два кубика - главное меню, и подменю.
создал массив меню (пока JS из таблицы, потом его из контроллера будет передавать php).
По Массиву добавляю кубик на каждый элемент меню
function LoadMainMenuF() {
var MenuData = GetMenuArray()
for (var a = 0; a < MenuData.length; a++)
{
m_data.load("MainMenu.json", loaded_cb, null, null, true );
}
}
при загрузке каждого кубика вызываю колбэк loaded_cb, в котором размещаю кубики как мне надо
function loaded_cb(data_id, success) {
if (success) {
console.log(data_id + " loaded");
}
var LoadedObject = m_scenes.get_object_by_name("MainMenu1", data_id);
LoadPosition = LoadPosition + 3;
m_trans.set_translation(LoadedObject, 0, 0, LoadPosition);}
и вот в этом же колбэке я хочу на каждый кубик поместить надпись с названием пункта соответствующего меню.
Начал разбираться с канвас-текстурами, и понял, что моя задумка похоже не прокатит, так как мы вызываем
var ctx_image = m_tex.get_canvas_texture_context("CanvasID");
, а CanvasID у всех кубиков то один и тот же!, всего то у меня только два кубика, я их просто много раз загружаю.
Не подскажете может нужен какой-то другой путь? или может я тут что-то не допонял?
и как мне в колбэк передать значение из своего массива
02 December 2015 10:08
поделюсь своими "научными" изысканиями
позиционирование объекта :
относительного другого объекта
глобально
function GetObjectInfo(objPicked){
var SummuryInfo="";
var object_size = "";
var object_name = "";
var object_b_b_topPoint = "";
var object_b_b_bottomPoint = "";
var translation = "";
var object_height = "";
var Accuracy = 3;
var Which_Canvas = "";
var Object_Data_id = "";
object_name = "Имя: " + m_scenes.get_object_name(objPicked) + "<br>";
object_b_b_topPoint = "Верхняя точка: " + m_trans.get_object_bounding_box(objPicked).max_y.toPrecision(Accuracy) + "<br>";
object_b_b_bottomPoint = "Нижняя точка: " + m_trans.get_object_bounding_box(objPicked).min_y.toPrecision(Accuracy) + "<br>";
translation = "Положение центра:" + "<br>"
+ " X = " + m_trans.get_translation(objPicked)[0].toPrecision(Accuracy)+ "<br>"
+ " Y = " + m_trans.get_translation(objPicked)[1].toPrecision(Accuracy)+ " - Это ВВЕРХ!!!" + "<br>"
+ " Z = " + m_trans.get_translation(objPicked)[2].toPrecision(Accuracy)+ "<br>";
//m_trans.distance(objME,SubMenuOpen );
object_height = "Высота объекта: " + (m_trans.get_object_bounding_box(objPicked).max_y - m_trans.get_object_bounding_box(objPicked).min_y) + "<br>";
Object_Data_id = "Object_Data_id " + m_scenes.get_object_data_id(objPicked) + "<br>";
//object_size = "Размер объекта: " + m_trans.get_object_size(objPicked).toPrecision(Accuracy) + "<br>";
Which_Canvas = "main_canvas_container" + "<br>";
SummuryInfo = Which_Canvas + object_name + translation + object_b_b_topPoint + object_b_b_bottomPoint + object_height + Object_Data_id;
return SummuryInfo;
}
позиционирование объекта :
относительного другого объекта
m_trans.set_translation_obj_rel(SubMenuOpen, 0, 0, 0, m_scenes.get_object_by_name("MainMenu1"));
глобально
m_trans.set_translation(LoadedObject, 0, 0, 0);
27 November 2015 18:36
Если вы имеете возможность написать логику работы на JavaScript, то почему бы сразу не написать все приложение?подумал - вдруг я изобретаю велосипед, а вы уже написали инструмент (нодовую логику), который все это делает , и может быть какие вещи удобнее и быстрее сделать в ней, для чего то же вы над ней усердно работаете
движок то вы написали же, а то бы кодил сейчас напрямую под WebGl
На мой взгляд, идете совершенно верным путемвот это прекрасно
27 November 2015 17:34
ура-ура-ура
И можно ли часть логики сделать в редакторе, а часть написать кодом, и потом их связать?
Или тру - это писать на Javascript все? ( Я как-то склонен все написать кодом, но подумал - может я иду неверным путем)
расширение возможностей редактора логикиСкажите, редактор логики имеет какое то преимущество функциональное перед программированием на JavaScript?
И можно ли часть логики сделать в редакторе, а часть написать кодом, и потом их связать?
Или тру - это писать на Javascript все? ( Я как-то склонен все написать кодом, но подумал - может я иду неверным путем)
25 November 2015 10:57
25 November 2015 10:55
25 November 2015 10:51
24 November 2015 13:10