2016-09-24 1 views
1

自動ホットキースクリプトのint値をdoubleに変更する方法があるかどうかは、カーソルの移動速度と使いたいものを「微調整」小数点以下の値。私が10進数値を入力できると思う唯一の方法は、doubleを使うことですが、int値をdoubleに変更する方法(または可能であれば)を変更する方法がわかりません。Autohotkey |どのようにintを二倍に変更するには

ここにコードがあり、あらかじめありがとうございます!私は小数点

DllCall("mouse_event", uint, 1, int, 0, int, Y, uint, 0, int, 0) 
Sleep, 15 
DllCall("mouse_event", uint, 1, int, 0, int, Y, uint, 0, int, 0) 

私は高い私はYの値は、より速く、それが行くことを変えることを知っていることを、以下に示すYの値を変更しようとしていますが、私はあることを望んでいた

#NoEnv 
SendMode Input 
SetWorkingDir %A_ScriptDir% 

; NRA 
NRA := 1 

; NR 
~LButton:: 
while GetKeyState("LButton") & NRA 
{ 
DllCall("mouse_event", uint, 1, int, 0, int, 1, uint, 0, int, 0) 
Sleep, 15 
DllCall("mouse_event", uint, 1, int, 0, int, 1, uint, 0, int, 0) 
Sleep, 5 
} 
return 

; keys 
Insert::ExitApp 
delete::suspend 

そのY位置に値(例として1.5または2.7など)を入れることができます。

答えて

0

AutoHotkey v1.1では、浮動小数点リテラルは実際には文字列「 」で、浮動小数点出力のデフォルトの精度は6桁で、SetFormat、Format()、Round() SubStr()、Floor()を使用してそれらを表示します。 Source

さらに精度の高い数学を行う予定がある場合は、Math libraryを使用する必要があります。

私は本当にあなたのコードについてはわかりません。あなたは決まった変数を指定していないか、精度が必要な数学を見せてくれたからです。あなたは何かを残しましたか?

ダブル:あなたの編集に基づいて

NRA := 1 

MsgBox % format("{1:0.15f}", NRA) ; Double precision 

残念ながらmouse_eventDWORDをexceptsでのみ4,294,967,295までの範囲0の整数値を受け入れます。

あなたの唯一の選択は、最大限の制御のために1ずつ増やすことです。

+0

申し訳ありませんが、少し具体的なはずです。私が変更しようとしているコードは、DLL CallマウスイベントのY位置です。本当の質問をすばやく編集します –

関連する問題