フライトコントローラから値を取得し、それらの値を使ってHUDとやりとりするプログラムを作成しています。私が直面している問題は、フライトコントローラ関数の内部から変数を取得してHUD関数に渡すことができないということです。私は運がないwindow
を試してみました。機能を入れ子にしました。そして、私がオンラインで見つけた他のものもありました。どんな助けでも本当に感謝しています。ローカル変数がグローバルにならない
これは、フライトコントローラからデータを引き出し部分です - - ここでは、コードです
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);
}
-
var roll_in;
listenerImu.subscribe(function(message, roll_in) {
roll_in = (message.twist.linear.x) * (-57.2958);
return roll_in;
});
データはroll_in
に入れられるとは、それがこの機能に置かれる必要があります
listenerImu
の直後にconsole.print(roll_in)
を置いても、undefined
が表示されます。
ありがとうございます!
ブロックスコープでroll_inを定義するためです。その返品は何もしません – epascarello
彼は 'window.roll_in'を試したと言いました。 'roll_in'が宣言されているファイル全体と、このスクリプトが実行されている場所が必要な場合がありますか?ブラウザで? –
注:[可変シャドーイング](https://en.wikipedia.org/wiki/Variable_shadowing)。 –