pick_object() всегда возвращает null
21 января 2016 18:11
Добрый вечер!
Разбираю простой пример работы движка: пытаюсь обработать клик по обьекту.
Проблема в том что при нажатии в любую облать canvas'а, даже по самому обьекту, всегда получаю null.
Мой код:
Перепроверил, у обьекта заданно свойство selectable. Что можно еще посмотреть?
Разбираю простой пример работы движка: пытаюсь обработать клик по обьекту.
Проблема в том что при нажатии в любую облать canvas'а, даже по самому обьекту, всегда получаю null.
Мой код:
var m_app = b4w.require('app');
var m_data = b4w.require('data');
var m_scenes = b4w.require('scenes');
m_app.init({
show_fps: true,
canvas_container_id: "main_canvas_container",
callback: init_cb,
console_verbose: true,
autoresize: true
})
function init_cb(canvas_elem) {
m_data.load("cube.json", loaded_cb);
canvas_elem.addEventListener('mousedown', canvas_click, true);
}
function loaded_cb() {
m_app.enable_controls();
m_app.enable_camera_controls();
}
function canvas_click(event) {
//event.preventDefault();
var x = event.clientX;
var y = event.clientY;
var object = m_scenes.pick_object(x, y);
console.log({x: x, y: y, object: object});
}
Перепроверил, у обьекта заданно свойство selectable. Что можно еще посмотреть?
21 января 2016 18:25
21 января 2016 18:28
21 января 2016 18:30
21 января 2016 18:39
21 января 2016 18:44
а это есть в начале вашего кода?
тогда это так
а в конце
(Menu это я из своего кода просто накопировал)
b4w.register("Menu", function(exports, require) {
тогда это так
var m_app = require("app");
var m_data = require("data");
var m_scenes = require("scenes");
а в конце
b4w.require("Menu", "MENU_1").init();
(Menu это я из своего кода просто накопировал)
Дорогу осилит идущий
21 января 2016 18:53
Обернул, в итоге получилось вот так:
Результатов нет.
А в самой сцене может быть загвоздка? В блендере я нуб полный.
b4w.register("Menu", function(exports, require) {
var m_app = require("app");
var m_data = require("data");
var m_scenes = require("scenes");
m_app.init({
show_fps: true,
canvas_container_id: "main_canvas_container",
callback: init_cb,
console_verbose: true,
autoresize: true
})
function init_cb(canvas_elem) {
m_data.load("cube.json", loaded_cb);
canvas_elem.addEventListener('mousedown', canvas_click, true);
}
function loaded_cb() {
m_app.enable_controls();
m_app.enable_camera_controls();
}
function canvas_click(event) {
var x = event.clientX;
var y = event.clientY;
var object = m_scenes.pick_object(x, y);
console.log({x: x, y: y, object: object});
console.log(m_scenes.get_object_name(object));
};
});
b4w.require("Menu", "MENU_1").init();
Результатов нет.
А в самой сцене может быть загвоздка? В блендере я нуб полный.
21 января 2016 18:55
21 января 2016 19:00
21 января 2016 19:03