看板 EzHotKey 關於我們 聯絡資訊
我希望達到的目的是讓變數變化,然後把視窗透明度指定為變化後的變數。如下: tran = 100 ;先設定一個變數 !wheelup:: ;alt+滑鼠往上滾 tran := tran+50 ;把右邊計算結果丟進左邊 WinSet, Transparent, %tran%, a ;讓當前視窗透明度為變數%tran% return !WheelDown:: ;alt+滑鼠往下滾 tran := tran-50 ;把右邊計算結果丟進左邊 WinSet, Transparent, %tran%, a ;讓當前視窗透明度為變數%tran% return 結果是一滾動視窗透明度就變成0。 改成下面這樣: !wheelup:: ;alt+滑鼠往上滾 tran = 100 ntran := tran+50 ;把右邊計算結果丟進左邊 WinSet, Transparent, %ntran%, a ;讓當前視窗透明度為變數%ntran% return !WheelDown:: ;alt+滑鼠往下滾 tran = 100 ntran := tran-50 ;把右邊計算結果丟進左邊 WinSet, Transparent, %ntran%, a ;讓當前視窗透明度為變數%ntran% return 結果是透明度只有150和50兩種... 這我知道笨在哪裡,因為每次動作一次又指定了一次變數。 那請問上面這樣寫是錯在哪裡呢?是因為全域變數不能再改變嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.34.51.142
arj32:按方案1,你把tran = 100放在整個腳本第一行 06/11 07:45
成功了,改成第一行就可以了... 研究了一下終於原因了,原來我有一個熱鍵功能沒有加return...:p 調整了一下腳本,以免變數tran超出0~255範圍: !wheelup:: ;alt+滑鼠往上滾 tran := tran+30 ;把右邊計算結果丟進左邊 if tran >= 255 { tran = 255 } WinSet, Transparent, %tran%, a ;讓當前視窗透明度為變數tran return !WheelDown:: ;alt+滑鼠往下滾 tran := tran-60 ;把右邊計算結果丟進左邊 if tran <= 0 { tran = 0 } WinSet, Transparent, %tran%, a ;讓當前視窗透明度為變數tran return ※ 編輯: kslman 來自: 122.147.6.242 (06/11 13:40)