2016-04-20 19 views
-1

ピクセル位置をクリックするメソッドに、オブジェクト(連想配列の形式)を渡す問題があります。情報はvalue = arrayName[Key]AHKの連想配列が正しく情報にメソッドを渡さない

#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. 
#Warn ; Enable warnings to assist with detecting common errors. 
SendMode Input ; Recommended for new scripts due to its superior speed and reliability. 
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. 
CoordMode Mouse Screen 
;This Area is for defining any object nessesary to interact with the game 
; 
; 
BACKPACK_28 := {UPPER_BOUND: 964, LOWER_BOUND: 995, LEFT_BOUND: 1569, RIGHT_BOUND: 1600, MENU_KEY: "esc"} 
; 
; 
;Ends Game Object section 
^l:: 
select(BACKPACK_28, true) 
return 
select(balls, switchMenus){ 
    if(switchMenus==true){ 
     SendInput {object[MENU_KEY]} 
    } 
    Random, y , balls[LOWER_BOUND], balls[UPPER_BOUND] 
    Random, x , balls[LEFT_BOUND], balls[RIGHT_BOUND] 
    Click, x, y 
} 

答えて

1

がそうのように、引用符を使用して配列を初期化フォーマットを使用して呼び出すことができるはずです。

BACKPACK_28 := {"UPPER_BOUND": 964, ...} 

そうでない場合は、AHKは別々の変数としてUPPER_BOUNDが表示されます。

Random, y , balls[LOWER_BOUND]に関する:

[PARAM]最小:陰性、浮動小数点、または発現することができる生成することができる最小数、Randomの文書を参照してください。あなたがここに変数名を述べることを許された場合

、それはを言わないだろう。

使用% s変数の値を取得する:

どちらか

low := balls["LOWER_BOUND"] 
up := balls["UPPER_BOUND"] 
Random, y, %low%, %up% 

または

Random, y, % balls["LOWER_BOUND"], % balls["UPPER_BOUND"] 
+0

+ 1つのグレート答えを。 – 2501