| 赞 | 0 |
| VIP | 0 |
| 好人卡 | 2 |
| 积分 | 7 |
| 经验 | 31761 |
| 最后登录 | 2026-2-12 |
| 在线时间 | 1808 小时 |
- 梦石
- 0
- 星屑
- 687
- 在线时间
- 1808 小时
- 注册时间
- 2009-7-12
- 帖子
- 443
|
這是F1中關於Input內的說明
5 O, P4 P. n; b5 k" W9 \' d4 h. U9 f5 d" m- ?
Input.press?(num) 8 [1 T0 G7 j; a2 n% \. N
$ I$ [) ]% R' s" f判断与编号 num 对应的按钮是否现在被按下。- [3 n; }; k9 [7 K8 p! I
如果按下返回 true,未按下则返回 false。$ a6 ^& n/ ]" X, U0 k6 @* g0 [
- I8 l3 W7 K+ C" Y
if Input.press?(Input::C)/ H. j. q# M6 w
do_something {) \5 X+ O. {/ X- z5 C% T
end * ^$ M' o K- j! Y2 l
2 z3 `$ y+ {' w2 Y8 O |Input.trigger?(num)
: m' p, Z3 Q9 v7 I& c. k- L& f3 E( g% {1 L% j5 C3 f# J
判断与编号 num 对应的按钮是否重新被按下。- J# `- E2 F$ a' M$ D" e2 h0 ?4 ~# Q7 k' A
只有从未按下状态向按下状态变化的瞬间被认定是「重新被按下」。
! r/ Z/ B; i' _$ r7 w6 ~ B1 I5 Q如果按下返回 true,未按下则返回 false。3 U% g% O8 w9 k' y
1 O$ {! k+ |9 Q5 ]& }
Input.repeat?(num) / Q' L7 f! ^3 F$ b0 C! {; f
6 x, i' F9 _( R# R( y; l判断与编号 num 对应的按钮是否重新被按下。% o2 W% i9 m8 W! R. s
和 trigger? 不同的是,其考虑了连续按下按钮时的重复。 _( W- V* ~( g1 y! P% a
如果按下返回 true,未按下则返回 false。. g0 }2 P' M- m0 \' d
5 k$ S+ I, j5 G. } Q' B
' c/ R9 K7 [# p3 R# W, A& sF1的說明有些糊裡糊塗的 z. d1 _# R5 v- y5 D& W
直接觀察全鍵盤中的寫法= =5 v& n! A5 X& U4 E: [: j
- u. b0 h( J( h& j
推斷press?是「只要是按下的情況下就成立」- Q" v) `! a+ Q
, c, P% i! a; v6 S. c
trigger?為「按下的那瞬間」條件成立,也就是說按下後若沒放開,不會再重新執行結果
$ M8 H$ {& K0 Q# l8 n2 d0 {
: v' I6 v5 B0 A+ m' J' `* k1 prepeat?則是按下後@R_Key_Repeat[rkey] 會+1
# t& G/ }: x, O7 o8 q3 g1 N當@R_Key_Repeat[rkey]的值大於設定且!@R_Key_Repeat[rkey].nil?% l' V8 |* I6 f1 |
@R_Key_Repeat[rkey]值會重新轉為0" D4 c2 y# U [4 S3 F
且結果為true7 I& l( U6 \6 i2 C* F1 L' z
所以推斷為「持續按下按鍵一定時間後,結果成立」
: J ?. C8 g, f4 M
7 O" ]2 `2 K; @$ l4 E7 EXAS_3.82中判斷武器 def right_hand_button_update 中也是用 trigger? 來判斷; O6 v( ]; Z% R2 O- `
|
|