由用户创建的信息 Dragon3DGraff
27 December 2015 22:56
Наверно надо еще сказать что событие надо указать "внутри приложения"
Ну я делаю так
точнее я делаю так
/**
* callback executed when the app is initizalized
*/
function init_cb(canvas_elem, success) {
if (!success) {
console.log("b4w init failure");
return;
}
//например тут
document.getElementById('ButtonId').onclick = stop_animation;
}
load();
}
<div id="ButtonId" class="btnStop" >Стоп</div>
Ну я делаю так
точнее я делаю так
ButtonId.onclick = stop_animation;
25 December 2015 19:08
Написали бы сразу как не получилоськак вы ответили так я сразу и стал пробовать, так сразу и написал или Вы имеете ввиду ночью то?) нее) я пока искал в чем проблема много нового узнал
Делов том, что в документации тоже написано
Глубокое копирование
При глубоком копировании новый объект будет обладать уникальными для него свойствами, а именно, он будет иметь свою собственную геометрию. То есть при изменении геометрии на объекте-оригинале у объекта-копии геометрия изменяться не будет. Для такого типа копирования на исходном объекте нужно дополнительно выставить опцию Rendering Properties > Force Dynamic Geometry.
25 December 2015 16:45
25 December 2015 16:04
Вернемся к нашим баранам
загрузка сцены происходит при нажатии кнопки LoadMenu, функция LoadMainMenuF
при загрузке я собираю массив… да в общем то вот кусок кода с комментариями)
так вот проблема в том, что на всех элементах одна и та же надпись…
при чем иногда она равна первому элементу массива, иногда второму… иногда третьему… потому я стал выгружать все элементы перед тем как загрузить(в случае если неоднократно нажимать кнопку), и стало всегда равно последнему элементу массива…
загрузка сцены происходит при нажатии кнопки LoadMenu, функция LoadMainMenuF
при загрузке я собираю массив… да в общем то вот кусок кода с комментариями)
//Событие на нажатие кнопки LoadMenu
function LoadMainMenuF() {
m_data.unload();
m_data.load("MainMenu.json", loaded_cb, null, null, true );
}
//Событие при загрузке сцены
function loaded_cb(data_id, success) {
var LoadedObject = m_scenes.get_object_by_name("MainMenu1");//получили нужный объект из сцены
var MenuData = GetMenuArray() //собрали массив из таблицы
CanvasTexPrint(LoadedObject,"CT",MenuData[0][0]); //пишем на нем первый элемент массива
m_scenes.show_object(LoadedObject); //показываем его
LoadPosition = 0.4;
//скачем по массиву
for (var a = 1; a < MenuData.length; a++){
var CopiedObjName = m_scenes.get_object_name(LoadedObject)+a;//имя нового элемента
var CopiedObj = m_obj.copy(LoadedObject,CopiedObjName);//получаем копию загруженного элемента
//m_scenes.get_object_by_dupli_name("MainMenu1",CopiedObjName);
m_scenes.append_object(CopiedObj); //добавляем его в сцену
console.log(m_scenes.get_object_name(CopiedObj) + " loaded");
m_trans.set_translation(CopiedObj, 0, 0, LoadPosition); //перемещаем его куда надо
console.log(m_scenes.get_object_name(CopiedObj) + " moved to " +LoadPosition);
CanvasTexPrint(CopiedObj,"CT",MenuData[a][0]); //пишем на нем элемент массива
//console.log("Hidden: " + m_scenes.is_hidden(CopiedObj));
LoadPosition = LoadPosition + 0.4;
}
console.log("Count of Selectable objects: " + m_obj.get_selectable_objects().length);
}
//Функция создания надписи на канвас-текстуре
function CanvasTexPrint (objCanvas,TexName,PrintData){
var ctx_image = m_tex.get_canvas_ctx(objCanvas, TexName);
if (ctx_image) {
var img = new Image();
img.src = "Background.png";
img.onload = function() {
ctx_image.drawImage(img, 0, 0, ctx_image.canvas.width,
ctx_image.canvas.height);
ctx_image.fillStyle = "rgba(255,255,255,255)";
ctx_image.font = "80px Arial";
ctx_image.shadowColor = "#000";
ctx_image.shadowOffsetX = 5;
ctx_image.shadowOffsetY = 5;
ctx_image.fillText(PrintData,5, 300);
m_tex.update_canvas_ctx(objCanvas, TexName);
}
}
}
так вот проблема в том, что на всех элементах одна и та же надпись…
при чем иногда она равна первому элементу массива, иногда второму… иногда третьему… потому я стал выгружать все элементы перед тем как загрузить(в случае если неоднократно нажимать кнопку), и стало всегда равно последнему элементу массива…
23 December 2015 11:37
Круто! С юбилеем!
Классный движок, хоть я только начал осваивать. Я тут недавно, но мне тут нравится Доброжелательная атмосфера, приятно, что вы реагируете на замечания пользователей, подсказываете, помогаете. Вот например с канвас-текстурами я уперся в камень невозможности и вы незамедлительно отреагировали, добавив новый фунционал в следующем же релизе, за что вам отдельное спасибо!
Желаю вам дальнейшего процветания и развития!
А мы в свою очередь будемковырятьтестировать и, если что, сообщать если что не так
Классный движок, хоть я только начал осваивать. Я тут недавно, но мне тут нравится Доброжелательная атмосфера, приятно, что вы реагируете на замечания пользователей, подсказываете, помогаете. Вот например с канвас-текстурами я уперся в камень невозможности и вы незамедлительно отреагировали, добавив новый фунционал в следующем же релизе, за что вам отдельное спасибо!
Желаю вам дальнейшего процветания и развития!
А мы в свою очередь будем
23 December 2015 09:32
Как альтернатива B4W оно конечно и рядом не валялось. Но какие то простые вещи, типа может быть:
То есть может имеет смыслспаритьскомбинировать их в общей концепции "3D-интернет"
смущает
За то в этой штуке по идее можно довольно просто сделать 3D чат с 3D смайлами и 3D комнатамину или что-то еще.
То есть может имеет смысл
смущает
поддержка Android будет добавлена в ближайшем времения чего то недопонимаю, или оно не работает во всех браузерах? на андроиде какой-то другой браузер? а если я на андроиде установил Хром?
22 December 2015 12:59
Компания Mozilla, известная свои браузером Firefox, представила новый проект с открытым исходным кодом A-Frame, предназначенный для того, чтобы облегчить разработку оптимизированных под виртуальную реальность веб-сайтов для PC, iPhone, Google Cardboard, Oculus Rift DK2 и прочих устройств. В ближайшем будущем также будет добавлена поддержка Android. A-Frame поможет создавать высокопроизводительные веб-проекты, работающие прямо в браузере, с использованием HTML вместо более сложного WebGL.
A-Frame
"A-Frame является проектом с открытым исходным кодом, предназначенным для простого создания WebVR с использованием HTML. Он разработан и поддерживается MozVR - исследовательской командой в сфере виртуальной реальности компании Mozilla. A-Frame обеспечивает некоторые пользовательские элементы WebGL в HTML, что позволяет веб-разработчикам создавать виртуальные 3D-сцены. Так как WebGL повсеместно используется в современных браузерах на PC и мобильных платформах, то A-Frame также работает на PC, iPhone (поддержка Android будет добавлена в ближайшем времени) и Oculus Rift", - сообщает Mozilla.
Команда MozVR поняла, что развитие WebVR оказалось слишком сложным, поэтому они и начали искать более простой способ создания веб-контента для виртуальной реальности. Результатом многочисленных исследований и стал проект A-Frame. Библиотеки A-Frame предлагают разработчикам огромную коллекцию базовых блоков для создания моделей, видео, геометрии и прочего контента с использованием разных типов управления.
Узнать больше о A-Frame можно на официальном сайте проекта.
взял отсюда
Источник: geeky-gadgets.com
Это они чем делают? CSS?
21 December 2015 14:38
21 December 2015 13:10