赞 | 0 |
VIP | 0 |
好人卡 | 2 |
积分 | 5 |
经验 | 31761 |
最后登录 | 2025-9-10 |
在线时间 | 1789 小时 |
- 梦石
- 0
- 星屑
- 507
- 在线时间
- 1789 小时
- 注册时间
- 2009-7-12
- 帖子
- 443
|
這是F1中關於Input內的說明
3 j" U4 A. y9 M0 ]% \5 ^8 B
% C3 _# p7 T4 x3 X$ jInput.press?(num)
5 i7 |1 D( t7 f: K" m% t& g; v; y3 U- _+ p) F
判断与编号 num 对应的按钮是否现在被按下。8 v8 q- _# n) ]- c7 |# i; Q& S
如果按下返回 true,未按下则返回 false。
6 r5 b% B" v) d! t' Y0 n \% h9 A
2 M1 M$ P$ p4 o7 @if Input.press?(Input::C)
* _$ P/ Y |# W+ p% z9 M! W% s9 q do_something
0 w6 J* y! D1 H* pend
5 P, C' ^) K1 R# n; U
+ ^$ U+ A! W, C8 [- o8 \1 u: V4 S YInput.trigger?(num)
- J4 t# d0 y/ Z; D
( ]" F8 d& ]$ K判断与编号 num 对应的按钮是否重新被按下。
; V1 q" d0 d( ?1 S只有从未按下状态向按下状态变化的瞬间被认定是「重新被按下」。
9 x4 J g; \, T$ q/ q0 o' \7 ]如果按下返回 true,未按下则返回 false。
/ b1 g" w6 v7 V% b }, H! P" R" u8 |* q# F6 N. G2 c0 t0 [' |
Input.repeat?(num)
! @4 G1 N; i; Y+ U" p: r$ v) J8 W/ V/ b6 N" ]+ l
判断与编号 num 对应的按钮是否重新被按下。' f. Y4 n6 K* \/ _2 N/ g
和 trigger? 不同的是,其考虑了连续按下按钮时的重复。" V; _9 U* t2 G* p( o' y: z) A
如果按下返回 true,未按下则返回 false。5 F- J' X! T5 G" p i8 O
4 x1 A: u7 u% w5 T8 j g
( W6 ^. p. E! }" X; N {0 n$ D0 VF1的說明有些糊裡糊塗的 W+ z2 k9 P6 M- h3 D
直接觀察全鍵盤中的寫法= =# U' }2 B( r# n* n- D2 P
) q, {+ D( i5 W7 v6 e i推斷press?是「只要是按下的情況下就成立」" @0 J) d& J4 X
, J9 E. [& D# Z) ktrigger?為「按下的那瞬間」條件成立,也就是說按下後若沒放開,不會再重新執行結果
- ~% M. O2 g$ V$ t9 v- Z7 w
: g3 J1 y# q" N# Arepeat?則是按下後@R_Key_Repeat[rkey] 會+1
6 T9 X* }3 X" {3 f: N當@R_Key_Repeat[rkey]的值大於設定且!@R_Key_Repeat[rkey].nil?
0 X0 I$ T( ~* `0 m@R_Key_Repeat[rkey]值會重新轉為0
" b2 M6 M) e& [7 g9 ?且結果為true+ T( l( e1 w8 O: ]
所以推斷為「持續按下按鍵一定時間後,結果成立」1 T; ?( i3 p$ ^' M# O
1 s) F/ D# u( x- h9 a2 ~
XAS_3.82中判斷武器 def right_hand_button_update 中也是用 trigger? 來判斷4 H. W: V6 X3 D
|
|