Форум

Сообщения, созданные пользователем Dragon3DGraff
27 декабря 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 декабря 2015 19:08

Написали бы сразу как не получилось
как вы ответили так я сразу и стал пробовать, так сразу и написал или Вы имеете ввиду ночью то?) нее) я пока искал в чем проблема много нового узнал

Делов том, что в документации тоже написано
Глубокое копирование
При глубоком копировании новый объект будет обладать уникальными для него свойствами, а именно, он будет иметь свою собственную геометрию. То есть при изменении геометрии на объекте-оригинале у объекта-копии геометрия изменяться не будет. Для такого типа копирования на исходном объекте нужно дополнительно выставить опцию Rendering Properties > Force Dynamic Geometry.
Дорогу осилит идущий
25 декабря 2015 16:45
Ураааа! Спасибо! все получилось!
(вчера до 2 ночи мучился и сегодня полдня)

Вы имели ввиду "Dynamic geometry"?

"Force dynamic geometry" была включена ,а вот сейчас включил "Dynamic geometry" и все заработало, а то не хотел глубоко копировать
Дорогу осилит идущий
25 декабря 2015 16:04
Вернемся к нашим баранам
загрузка сцены происходит при нажатии кнопки 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 декабря 2015 11:37
Круто! С юбилеем!
Классный движок, хоть я только начал осваивать. Я тут недавно, но мне тут нравится Доброжелательная атмосфера, приятно, что вы реагируете на замечания пользователей, подсказываете, помогаете. Вот например с канвас-текстурами я уперся в камень невозможности и вы незамедлительно отреагировали, добавив новый фунционал в следующем же релизе, за что вам отдельное спасибо!

Желаю вам дальнейшего процветания и развития!

А мы в свою очередь будем ковырятьтестировать и, если что, сообщать если что не так
Дорогу осилит идущий
23 декабря 2015 09:32
Как альтернатива B4W оно конечно и рядом не валялось. Но какие то простые вещи, типа может быть:
За то в этой штуке по идее можно довольно просто сделать 3D чат с 3D смайлами и 3D комнатами
ну или что-то еще.
То есть может имеет смысл спаритьскомбинировать их в общей концепции "3D-интернет"

смущает
поддержка Android будет добавлена в ближайшем времени
я чего то недопонимаю, или оно не работает во всех браузерах? на андроиде какой-то другой браузер? а если я на андроиде установил Хром?
Дорогу осилит идущий
22 декабря 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 декабря 2015 14:38
Спасибо! Буду разбираться. не думал что Пеларгония в цвету - это то, что мне надо еще в горшках по-моему есть все, что мне надо) и моделлинг, и текстурирование
Дорогу осилит идущий
21 декабря 2015 13:10
Не подскажите толковый урок, как сделать "RGBA текстура с картой высот в альфа канале" (для ноды B4W_PARALLAX)?
порыл в тырнете - чет толкового не нашел. выяснил, что такой подход применяется в геймдеве (в 3DMax я делал это через канал Bump).
Желательно как сделать это в Gimp
Дорогу осилит идущий
21 декабря 2015 10:06
ага, спасибо
Дорогу осилит идущий