イベントとイベントとのマス単位距離を求めます。「平方根を求める」を併用すると正確に求まります。
イベント命令の記述例と、相互変換モジュールを用いて貼り付けるためのコードを併記しています。実際に入力する際は、相互変換モジュールを用いてスイッチ・変数番号を任意の番号に書き換えて変換すると効率的です。
2つのイベントの座標を指定の変数に代入して実行すると、イベント同士の距離をマス単位で求めて『V[0003]:結果』に返します。途中の計算で「平方根を求める」を使用します。例えば、EV0003(12, 2), EV0005(3, 9)の距離を求める場合は『V[0003]:結果』に11が入ります(真値は√((12-3)^2+(2-9)^2)=√130=11.401……)。
相互変換モジュール用コード | イベント命令記述例 |
---|---|
#include "rpgfunc.as" /* スイッチ・変数番号を入力 */ s1 = 1 // スイッチ1:前々回結果(「平方根を求める」と同一) v1 = 1 // 変数1:引数(「平方根を求める」と同一) v2 = 2 // 変数2:一時変数(「平方根を求める」と同一) v3 = 3 // 変数3:結果(「平方根を求める」と同一) v4 = 4 // 変数4:前々回結果(「平方根を求める」と同一) event1ID = 3 // 1つ目のイベントID event2ID = 5 // 2つ目のイベントID sqrtID = 1 // 「平方根を求める」のコモンイベントID /* 以下、イベント命令の構文 */ varsel v1 : var 0, 6, event1ID, 1 varsel v1 : var 2, 6, event2ID, 1 varsel v1 : var 3, 1, v1, 0 varsel v2 : var 0, 6, event1ID, 2 varsel v2 : var 2, 6, event2ID, 2 varsel v2 : var 3, 1, v2, 0 varsel v1 : var 1, 1, v2, 0 event 0, sqrtID send |
使用スイッチ
|
◆変数の操作:[0001:元の数]代入,(1つ目のイベントのX座標) ◆変数の操作:[0001:元の数]減算,(2つ目のイベントのX座標) ◆変数の操作:[0001:元の数]乗算,変数[0001]の値 ◆変数の操作:[0002:一時変数]代入,(1つ目のイベントのY座標) ◆変数の操作:[0002:一時変数]減算,(2つ目のイベントのY座標) ◆変数の操作:[0002:一時変数]乗算,変数[0002]の値 ◆変数の操作:[0001:元の数]加算,変数[0002]の値 ◆イベントの呼び出し:平方根を求める ◆ |