| 赞 | 0 |
| VIP | 0 |
| 好人卡 | 2 |
| 积分 | 7 |
| 经验 | 31761 |
| 最后登录 | 2026-2-12 |
| 在线时间 | 1808 小时 |
- 梦石
- 0
- 星屑
- 687
- 在线时间
- 1808 小时
- 注册时间
- 2009-7-12
- 帖子
- 443
|
這是F1中關於Input內的說明; b, A. h* X) z1 _& e+ d3 K
0 k) C; I; {. t3 K& r& f+ m. s
Input.press?(num)
9 ?5 Z3 T/ U7 ^- I! D1 V( c4 e( w; R
4 m1 M/ ^0 T. V D/ ]判断与编号 num 对应的按钮是否现在被按下。2 z3 U3 U0 b, I( _
如果按下返回 true,未按下则返回 false。
; [. T _+ q0 g) K& t0 j. r: z
1 y) J+ _- F; Bif Input.press?(Input::C)# X( K- ]+ b2 S9 g! u) T
do_something, q/ }+ {/ }9 k- j
end
/ B$ @9 t' C- U' ^" F" O$ L% X/ I5 _
Input.trigger?(num)
/ R4 r) [+ n+ W% D
! N# {2 d* G% h8 @6 N0 ~' Y判断与编号 num 对应的按钮是否重新被按下。
+ S1 u2 O/ W0 w% N. g! g& j只有从未按下状态向按下状态变化的瞬间被认定是「重新被按下」。
, c9 d: \. [" Q5 |# q, o3 F如果按下返回 true,未按下则返回 false。. x1 i6 j; b% J" O
* t, [) A8 v4 Q/ K1 }7 \+ y ^. n
Input.repeat?(num) $ \( S8 N* S6 X% m0 x; @
# r3 K0 b, r9 }% C判断与编号 num 对应的按钮是否重新被按下。
3 _& @& {- C: @3 J和 trigger? 不同的是,其考虑了连续按下按钮时的重复。2 ~: m( i2 r; F% c6 F
如果按下返回 true,未按下则返回 false。
& z: z' H* K# A0 ]2 F4 ^" d L9 W) f9 d$ F$ e8 l! T# t4 L# C
2 \2 d+ N' u+ x0 n+ m& P
F1的說明有些糊裡糊塗的! ^8 N$ V0 M! K) v2 h# F% D
直接觀察全鍵盤中的寫法= =2 K7 |* |. j$ `; ^: E5 \
$ r; Z% t: ~ l/ ]/ d9 u
推斷press?是「只要是按下的情況下就成立」
' a$ [5 l4 j' ?6 s* u2 Y- W- f' b- V
trigger?為「按下的那瞬間」條件成立,也就是說按下後若沒放開,不會再重新執行結果. x6 V e* t7 u
: M- F6 z5 @7 E% c0 Prepeat?則是按下後@R_Key_Repeat[rkey] 會+1" D) H% @$ j. \) I
當@R_Key_Repeat[rkey]的值大於設定且!@R_Key_Repeat[rkey].nil?3 ]8 g0 u' q' r. \: ]5 X& @1 }
@R_Key_Repeat[rkey]值會重新轉為0! J! K! U2 i/ U" Q# t
且結果為true
3 W. O$ K2 F% n# U' w所以推斷為「持續按下按鍵一定時間後,結果成立」
& P& ?$ M5 D5 b9 ]( w
, U& v5 q' {! E: EXAS_3.82中判斷武器 def right_hand_button_update 中也是用 trigger? 來判斷& j; K' {; O6 @8 \
|
|