Вопрос с работой API

08 июня 2018 15:07
Добрый день.
Не могу сообразить посему не работает функция,
function show_bild(){
load_interfase();
m_data.unload(APP_ASSETS_PATH_TWO);
m_data.load(APP_ASSETS_PATH + "simple_app.json", load_cb, null, true);
}

function load_interfase(){
console.log("LOAD_CAMTEEN");
$('.all_but').hide();
}

даже на консоль не идет данных, остальное все срабатывает.
почему то
такая форма работает
document.getElementById("details").style.display = "block";
а Jqerty нет
$('.all_but').hide();
08 июня 2018 15:42
Да и как она срабатывать будет если hide(); стоит……..
09 июня 2018 14:27
Очень сумбурный вопрос .
Не понятно, где вы вызываете функцию show_bild. Попробуйте пройтись по коду построчно отладчиком, ну или повставлять больше console.log-ов.
Александр (команда Blend4Web)
twitter
09 июня 2018 16:34
Все разобрался, просто для каждой сцены свои функции
"use strict"

b4w.register("simple_app_es5", function(exports, require) {
// import modules used by the app

var m_app       = b4w.require("app");
var m_cfg       = b4w.require("config");
var m_data      = b4w.require("data");
var m_preloader = b4w.require("preloader");
var m_ver       = b4w.require("version");
var m_anim      = b4w.require("animation");
var m_cont      = b4w.require("container");
var m_mouse     = b4w.require("mouse");
var m_scenes    = b4w.require("scenes");
var m_geom      = require("geometry");
var m_obj       = require("objects");
var m_ln        = require("logic_nodes");
var m_cam       = require("camera");
var m_phy       = require("physics");
var m_trans     = require("transform");
var m_util      = require("util");
/*——————————————————-Variable_Initialization———*/
var _previous_selected_obj = null,
    can = 0,
    cube = null,
    exit_bild = null,
    ent_Stock = null,
    ent_Industrial = null,
    ent_Admin = null,
    ent_Safety = null,
    ent_Smoking = null,
    ent_Locker = null,
    ent_Security = null,
    ent_Recreation = null,
    ent_Camteen = null,
    ent_Hotel = null,
    ent_Pantry = null,
    ent_Bookkeeping = null,
    ent_Training = null,
    ent_Medical = null,
    id = 0,
    num_id = 0,
    arr_room = {
        "r1": "Комната охраны труда",
        "r2": "Комната отдыха",
        "r3": "Раздевалка/душевая",
        "r4": "Учебный класс",
        "r5": "Медицинский кабинет",
        "r6": "Производственный цех",
        "r7": "Кладовка для бытхим",
        "r8": "Столовая",
        "r9": "Бухгалтерия",
        "r10": "Гостиница для сотрудников",
        "r11": "Курилка",
        "r12": "Комната охраны",
        "r13": "Склад",
        "r14": "Администрация",                                                                                                              
    },
    arr_can = {
       "can0": main_canvas_click,
       "can1": main_canvas_click_stock,
       "can2": main_canvas_click_Industrial,
       //"can3": main_canvas_click_Admin,
       //"can4": main_canvas_click_Safety,
       //"can5": main_canvas_click_Smoking,
       //"can6": main_canvas_click_Locker,
       //"can7": main_canvas_click_Security,
       //"can8": main_canvas_click_Recreation,
       "can9": main_canvas_click_Camteen,
       //"can10": main_canvas_click_Hotel,
       //"can11": main_canvas_click_Pantry, 
       //"can12": main_canvas_click_Bookkeeping, 
       //"can13": main_canvas_click_Training,
       //"can14": main_canvas_click_Medical,                                                        
    },

// detect application mode
    DEBUG = (m_ver.type() == "DEBUG");

// automatically detect assets path
var APP_ASSETS_PATH = m_cfg.get_assets_path("simple_app");
var APP_ASSETS_PATH_STOCK = m_cfg.get_assets_path("Stock");
var APP_ASSETS_PATH_CAMTEEN = m_cfg.get_assets_path("Camteen");
/**
 * export the method to initialize the app (called at the bottom of this file)
 */
exports.init = init;
function init() {
    m_app.init({
        canvas_container_id: "main_canvas_container",
        callback: init_cb,
        show_fps: DEBUG,
        console_verbose: DEBUG,
        autoresize: true
    });
}

/**
 * callback executed when the app is initialized 
 */
function init_cb(canvas_elem, success) {

    if (!success) {
        console.log("b4w init failure");
        return;
    }

    m_preloader.create_preloader();

    // ignore right-click on the canvas element
    canvas_elem.oncontextmenu = function(e) {
        e.preventDefault();
        e.stopPropagation();
        return false;
    };
    load();
}

/**
 * load the scene data
 */
 function preloader_cb(percentage) {
    m_preloader.update_preloader(percentage);
}
function load() {
    m_data.load(APP_ASSETS_PATH + "simple_app.json", load_cb, preloader_cb);
}
function load_Stock() {
    load_interfase();
    m_data.load(APP_ASSETS_PATH_STOCK + "Stock.json", load_cb_stock, true);
}
function load_Industrial() {
    load_interfase();
    m_data.load(APP_ASSETS_PATH_STOCK + "Industrial.json", load_cb_industrial, true);
}
function load_Camteen() {
    load_interfase();
    m_data.load(APP_ASSETS_PATH_CAMTEEN + "Camteen.json", load_cb_camteen, true);
}
/*———-LOAD_SCENES CAMERAS EVENTS————*/
function load_events(data_id, success){
    if (!success) {
        console.log("b4w load failure");
        return;
    }
    console.log(can);
    m_app.enable_camera_controls();
    var canvas_elem = m_cont.get_canvas();
    var num_can =  arr_can["can"+can];
    console.log(num_can);    
    canvas_elem.addEventListener("mousedown", num_can, false);
    canvas_elem.addEventListener("touchstart", num_can, false);    
}
/*———-LOAD_BILD————*/
function load_cb(data_id, success) {
    load_events(data_id, success);
    /*——————————————————--Object_Initialization————*/ 
    cube = m_scenes.get_object_by_name("Cube");
    ent_Stock = m_scenes.get_object_by_name("Stock");
    ent_Industrial = m_scenes.get_object_by_name("Industrial");
    ent_Admin = m_scenes.get_object_by_name("Admin");
    ent_Safety = m_scenes.get_object_by_name("Safety");
    ent_Smoking = m_scenes.get_object_by_name("Smoking");
    ent_Locker = m_scenes.get_object_by_name("Locker");
    ent_Security = m_scenes.get_object_by_name("Security");
    ent_Recreation = m_scenes.get_object_by_name("Recreation");
    ent_Camteen = m_scenes.get_object_by_name("Camteen");
    ent_Hotel = m_scenes.get_object_by_name("Hotel");
    ent_Pantry = m_scenes.get_object_by_name("Pantry");
    ent_Bookkeeping = m_scenes.get_object_by_name("Bookkeeping");
    ent_Training = m_scenes.get_object_by_name("Training");
    ent_Medical = m_scenes.get_object_by_name("Medical");    

    /*——————————————————--Function_initialization———-*/
    document.getElementById("click_one").onclick = hide_block;
    document.getElementById("click_two").onclick = show_block; 
    /*—————————————————————————-*/
}
/*———-LOAD_CAMTEEN————*/
function load_cb_stock(data_id, success){
    load_events(data_id, success);
    exit_bild = m_scenes.get_object_by_name("Exit");       
}
function load_cb_industrial(data_id, success){
    load_events(data_id, success);
    exit_bild = m_scenes.get_object_by_name("Exit");       
}
function load_cb_camteen(data_id, success){
    load_events(data_id, success);
    exit_bild = m_scenes.get_object_by_name("Exit");       
}


function main_canvas_click(e) {
    if (e.preventDefault)
        e.preventDefault();
        var x = m_mouse.get_coords_x(e);
        var y = m_mouse.get_coords_y(e);
        var obj = m_scenes.pick_object(x, y);               
        switch (obj){
          case ent_Stock: 
            console.log("Stock"); 
            show_stock();    
          break; 
          case ent_Industrial:
            console.log("Industrial"); 
            show_industrial();             
          break;
          case ent_Admin:
            console.log("Admin");
          break;
          case ent_Safety:
            console.log("Safety");
          break;
          case ent_Smoking:
            console.log("Smoking");
          break;
          case ent_Locker:
            console.log("Locker");
          break;
          case ent_Security:
            console.log("Security");
          break;
          case ent_Recreation:
            console.log("Recreation");
          break;
          case ent_Camteen:
            console.log("Camteen");
            show_camteen();
          break;
          case ent_Hotel:
            console.log("Hotel");
          break;
          case ent_Pantry:
            console.log("Pantry");
          break;
          case ent_Bookkeeping:
            console.log("Bookkeeping");
          break;
          case ent_Training:
            console.log("Training");
          break;
          case ent_Medical:
            console.log("Medical");
          break;                                                                                          
          default:  
        }
    }
function main_canvas_click_stock(e) {
    if (e.preventDefault)
        e.preventDefault();
        var x = m_mouse.get_coords_x(e);
        var y = m_mouse.get_coords_y(e);
        var obj = m_scenes.pick_object(x, y); 
        console.log("ERROR");              
        switch (obj){
          case exit_bild: 
            console.log("Bild");
            show_bild();   
          break;  
          default:  
        }   
    }
function main_canvas_click_Industrial(e) {
    if (e.preventDefault)
        e.preventDefault();
        var x = m_mouse.get_coords_x(e);
        var y = m_mouse.get_coords_y(e);
        var obj = m_scenes.pick_object(x, y); 
        console.log("ERROR");              
        switch (obj){
          case exit_bild: 
            console.log("Bild");
            show_bild();   
          break;  
          default:  
        }   
    }         
function main_canvas_click_Camteen(e) {
    if (e.preventDefault)
        e.preventDefault();
        var x = m_mouse.get_coords_x(e);
        var y = m_mouse.get_coords_y(e);
        var obj = m_scenes.pick_object(x, y); 
        console.log("ERROR");              
        switch (obj){
          case exit_bild: 
            console.log("Bild");
            show_bild();   
          break;  
          default:  
        }   
    }
    
function hide_block(){
    m_scenes.hide_object(cube);
}
function show_block(){
    m_scenes.show_object(cube);
}
function show_bild(){
    can = 0;
    m_data.unload(APP_ASSETS_PATH_CAMTEEN);
    m_data.load(APP_ASSETS_PATH + "simple_app.json",  load_cb, null, true);
    hide_intrface();    
}
function show_stock(){
    can = 1;
    m_data.unload(APP_ASSETS_PATH);
    m_data.load("assets/Stock.json", load_cb_stock, null, true); 
    load_interface();       
}
function show_industrial(){
    can = 2;
    m_data.unload(APP_ASSETS_PATH);
    m_data.load("assets/Industrial.json", load_cb_industrial, null, true); 
    load_interface();       
}
function show_camteen(){
    can = 9;
    m_data.unload(APP_ASSETS_PATH);
    m_data.load("assets/Camteen.json", load_cb_camteen, null, true); 
    load_interface();
};
function load_interface(){
    console.log("LOAD_CAMTEEN");
    $('.all_but').show();
    $('.b1').mouseenter(function(){
        id = $(this);
        num_id = id.attr('val');
        id.addClass('but_wh');
        $('.test').html(arr_room["r"+num_id]);
    });
    $('.b1').mouseleave(function(){
        $('.test').html("None"); 
        id.removeClass('but_wh');
    });
}
function hide_intrface(){
    console.log("LOAD_BILD");
    $('.all_but').hide();    
}

});
 
b4w.require("simple_app_es5").init();





 
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.