Нужна помощь

08 ноября 2016 19:18
…двух несвязанных между собой… все, понял, спасибо.
Алексей
08 ноября 2016 19:25
несвязанных
можно сделать, чтобы они были связаны, т.е. изменялись по ссылке, но это будет работать не со всеми типами данных; впрочем, это уже нюансы языка
08 ноября 2016 19:29
это речь идет о module.exports? несколько такого рода переменных в одном модуле можно применять, например:
module.exports = 123
module.exports = 456
module.exports = 789
??

И если я делаю var odin_dva_tri = require(./file), то будет ли конфликт между ними?
Алексей
08 ноября 2016 19:47
require("AmAve_2100");
    var ch_tex = 0

    exports.change_textures = function () {
        
        if (!ch_tex){
            ch_tex = 1
        }
        else {ch_tex = 0}
        
        
        var TEX_NIGHT_DIR = "tex_night/";
        
        var TEX_DAY_DIR = "tex_day/";      
        console.log(m_amave.APP);
        console.log(ch_tex)
        return ch_tex


Подскажите, если я во входные парламенты функции вставляю ch_tex, то у меня при вызове функции значения не меняются, а значит туда передается значение, назначенное при определении переменной. А как это может быть, если у меня эта функция вызывается из другого файла? Или при вызове через exports читается все, что написано до определения функции - все переменные, пути и т.д. и подхватывается значение  ch_tex = 0????
Алексей
08 ноября 2016 19:49
Вообще, функция после исполнения где переменные хранит? Как переменную можно раскопать в консоли и посмотреть к какой функции она относится?
Алексей
08 ноября 2016 23:17
Вылез глюк по замене картинки из текстур. Половина картинок меняется, половина нет. Фотки прилагаю. Прошу помочь разобраться в этом.
Алексей
09 ноября 2016 10:42
это речь идет о module.exports? несколько такого рода переменных в одном модуле можно применять, например:
module.exports = 123
module.exports = 456
module.exports = 789
??

И если я делаю var odin_dva_tri = require(./file), то будет ли конфликт между ними?
не, немного не то
я о том, что если в том же примере использовать объект, то обе переменные будут ссылаться на него:
var APP_ASSETS_PATH = exports.APP_ASSETS_PATH = { test: 0 };
APP_ASSETS_PATH.test = 1;
console.log(APP_ASSETS_PATH.test, exports.APP_ASSETS_PATH.test); // выдаст 1 1


А module.exports так не надо использовать - это объект, содержащий объявления, доступные извне. Его нужно применять только внутри своего же модуля, чтобы вывести наружу методы или переменные. Если потом будете загружать этот модуль через require, то вернется как раз его объект exports.
Например:
b4w.register("module1", function(exports, require) {
exports.odin = 3;
exports.dva = 2;
exports.tri = 1;
});

b4w.register("module2", function(exports, require) {
var m1 = require("module1");
console.log(m1); // выдаст: Object {odin: 3, dva: 2, tri: 1}
});
09 ноября 2016 11:00
Подскажите, если я во входные парламенты функции вставляю ch_tex, то у меня при вызове функции значения не меняются, а значит туда передается значение, назначенное при определении переменной. А как это может быть, если у меня эта функция вызывается из другого файла? Или при вызове через exports читается все, что написано до определения функции - все переменные, пути и т.д. и подхватывается значение  ch_tex = 0????
exports тут не при чем, так работает javascript. Переменная ch_tex у вас обявлена в т.н. "глобальной области видимости", т.е. будет видна внутри там же функции. Если объявить переменную с тем же именем в самой функции или передать параметр с таким же именем, то он как бы перезатрет глоб. переменную.
Если кратко, области видимости бывают вложенные, т.е:
(глобальная обл. ( обл. функции ) )
При использовании переменной, она сначала ищется в текущей области, если объявление не находится, то ищем выше и т.д., поэтому глобальная переменная ch_tex в вашем примере становится видна.
09 ноября 2016 11:09
Вообще, функция после исполнения где переменные хранит? Как переменную можно раскопать в консоли и посмотреть к какой функции она относится?
это уже сложнее, если просто нужно посмотреть значение переменной, то можно либо через console.log() её вывести, либо навесить на глоб. объект window, например:
var test = 0;
...
window.test = test;

тогда сможете в консоли просто набирать window.test и увидите значение
09 ноября 2016 11:12
Вылез глюк по замене картинки из текстур. Половина картинок меняется, половина нет. Фотки прилагаю. Прошу помочь разобраться в этом.
А как конкретно делаете смену? В консоли ошибок нет?
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.