私はLuaプログラミングを初めて勉強しています。画像を座標系から別の座標系に移動しようとする際に問題が生じています。ルアでイメージを移動するには?
私が作成しようとしているのは、X-Planeフライトシミュレータで使用することです。デフォルト言語がC++であり、多くの人が難しいと思うので、SASL(www.1-sim.com)というライブラリがあります。これはプラグイン(X-Plane用)の作成を容易にするために作成されたものです。
一般的に、SASLは一般的な行ではLuaとX-Planeの間のブリッジとして機能します。スクリプトは、実行中にX-Plane(DataRefs)から直接データを読み取ります。可能なコマンドや他の多くのことを実行します。
SASLを使用してコックピット/パネルゲージを作成する場合、クラスとして機能する基本ファイル「avionics.lua」を使用し、作業中の特定の航空機用に作成したすべてのゲージを読み込みます。例えば、私のavionics.luaファイルは次のようになります。
size = { 2048, 2048 }
components = {
flaps {};
};
、「サイズ」は描画すべきもののために使用される大きさであり、コンポーネントは、フラップがゲージ、この場合には、ゲージの配列です。
残りの作業はゲージ機能を作成することです。これは私の場合は「flaps.lua」という別のファイルで行われます。
flaps.luaの中で、2つの画像をロードするフラップインジケータ機能をコーディングする必要があります.1つはバックグラウンド用、もう1つはフラップインジケータ用です。
最初の画像は固定画像です。 2番目のフラップインジケータはフラップインジケータのDataRef(下のflapsDegreeプロパティ)に基づいて 'y'軸を移動します。
X-Planeが実行されているときの下のコードは、背景画像とフラップインジケータを最初の段階で表示しています(画像のように0です)。私は「Y」軸「を通してインジケータ」画像を移動するためのロジックを実装する必要がある場合
size = {78,100}
local flapsDegree = globalPropertyf("sim/cockpit2/controls/flap_ratio")
local background = loadImage("gfx/Flaps.png")
local indicator = loadImage("gfx/Flaps_Indicator.png")
local flaps = get(flapsPosition)
components = {
texture { position = {945, 1011, 60, 100}, image = background},
texture { position = {959, 1097, 30, 9}, image = indicator},
}
イメージは今、問題が来ます。
私は成功せずにこのコードを試してみました:
if flaps == 0.333 then
indicator.position = {959, 1075, 30, 9}
end
は、どのように私はそれを達成するだろうか?
ネイティブLuaは、これらの関数のいずれかを提供しないように私はあなたがhttps://github.com/der-On/saslこのライブラリについて話していると仮定することができます。詳細を追加してください。あなたが話しているコードをグーグルにする必要はありません。 – Piglet
はい正しいです。私があなたに提供できるように、必要な情報を教えてください。 –
あなたのプロジェクトについてもっと詳しく教えてください。あなたが使っているライブラリ、あなたが望むもののスクリーンショット、代わりに入手したものなど...これまでのところ、私はあなたがそのライブラリのドキュメンテーション特定の座標に物を描く方法について説明しています。 あなたは私たちと共有できる8行以上のコードを持っていると確信しています。 – Piglet