Я пишу программу для получения значений от контроллера полета, а затем использую эти значения для взаимодействия с HUD. Проблема, с которой я сталкиваюсь, заключается в том, что я не могу получить переменную из функции контроллера полета и передать ее функции HUD. Я пробовал window
без везения, попробовал вложенные функции и другие материалы, которые я нашел в Интернете - ничто из этого не работает. Любая помощь могла бы быть полезна. Вот код -Локальная переменная не становится глобальной
Это та часть, которая тянет данные из контроллера полета -
var roll_in;
listenerImu.subscribe(function(message, roll_in) {
roll_in = (message.twist.linear.x) * (-57.2958);
return roll_in;
});
После того как данные введены в roll_in
, его нужно поместить в эту функцию -
function FlightIndicator(placeholder, type, options) {
var attitude = this;
var settings = $.extend({
size: 500,
roll: roll_in, // Vehicle Roll
pitch: pitch_in, // Vehicle Pitch
turn: 0,
heading: 0,
vario: 0,
airspeed: 0,
altitude: 0,
pressure: 1000,
showBox: false,
img_directory: 'jQuery-Flight-Indicators-master/img/'
},
options);
}
Даже если я положил console.print(roll_in)
сразу после функции listenerImu
, он печатает undefined
.
Спасибо!
потому что вы определяете roll_in в области блоков. Этот возврат ничего не делает. – epascarello
Он сказал, что он попробовал 'window.roll_in'. Возможно, нам нужен полный файл, в котором объявляется 'roll_in' и где выполняется этот скрипт? в браузере? –
Примечание: [Переменная с тенью] (https://en.wikipedia.org/wiki/Variable_shadowing). –