| 赞 | 0 |
| VIP | 0 |
| 好人卡 | 2 |
| 积分 | 6 |
| 经验 | 31761 |
| 最后登录 | 2025-10-29 |
| 在线时间 | 1796 小时 |
- 梦石
- 0
- 星屑
- 562
- 在线时间
- 1796 小时
- 注册时间
- 2009-7-12
- 帖子
- 443
|
這是F1中關於Input內的說明
2 T5 R7 `& A5 y3 p) h! O+ m. Q2 j2 n; \) W6 W! x
Input.press?(num)
( _- \' r6 R$ }, w
6 n* M" r/ N' Q4 Q) P* B判断与编号 num 对应的按钮是否现在被按下。/ }7 j- s4 r& d9 k8 D4 c: Q! d
如果按下返回 true,未按下则返回 false。! U. U' h# B: r( t7 k, Y: ?
8 o- U0 W, ^2 ?. }. M* b
if Input.press?(Input::C)
5 p, i R9 T4 P do_something
4 f# B! ]2 |5 bend
1 A7 g$ A' x0 {2 P% d
8 j* C% _, E( k& n" u- _Input.trigger?(num)
" E- @9 c% u. _0 Z2 a- P
8 [9 D* c% o3 J. ^判断与编号 num 对应的按钮是否重新被按下。
x6 V' X2 q0 Q9 T/ E! n只有从未按下状态向按下状态变化的瞬间被认定是「重新被按下」。. G& I4 c* a; v1 o' Q& I. l
如果按下返回 true,未按下则返回 false。4 H% q( B7 R" `! w% Z' |& I6 z
/ c2 F/ E3 l3 y9 ^* f& }
Input.repeat?(num)
' e P* n1 }3 u+ f3 @- D% \0 V4 u1 H# `
7 k8 k( _) m0 G D7 r判断与编号 num 对应的按钮是否重新被按下。: z' a" W0 K0 }0 Y
和 trigger? 不同的是,其考虑了连续按下按钮时的重复。0 l w! g+ a+ R O: u
如果按下返回 true,未按下则返回 false。
' R- E( [* s# g* t' g, {# F) s) E! S" k# K v! J/ \ I
2 D- D/ I8 ^$ Y) F* v1 t& ?4 p
F1的說明有些糊裡糊塗的% k4 w! a: s$ R: Y
直接觀察全鍵盤中的寫法= =6 Q6 E& C9 k8 q3 C7 H. A
" V, A1 ]# F, {2 i, `推斷press?是「只要是按下的情況下就成立」- n- S, D2 q$ w$ ^5 ?( `
7 r* x, \) Z% E$ F% _! a
trigger?為「按下的那瞬間」條件成立,也就是說按下後若沒放開,不會再重新執行結果
3 y5 l1 l$ b0 V8 J3 p1 B
b! c4 }. w) srepeat?則是按下後@R_Key_Repeat[rkey] 會+1
8 {+ _5 Z+ E% f1 _8 I當@R_Key_Repeat[rkey]的值大於設定且!@R_Key_Repeat[rkey].nil?
8 C! J) W! F2 O: ~9 ^; E0 h+ n+ \@R_Key_Repeat[rkey]值會重新轉為0
2 Z6 c. j3 m& m2 u且結果為true( x7 H$ u& F( [3 S& V8 {2 L
所以推斷為「持續按下按鍵一定時間後,結果成立」
( Q, P/ C+ e) r3 ~2 C5 f P( d, T' o+ r# T4 c
XAS_3.82中判斷武器 def right_hand_button_update 中也是用 trigger? 來判斷
' K8 O# @% Y' P9 Y% w |
|