赞 | 0 |
VIP | 0 |
好人卡 | 2 |
积分 | 2 |
经验 | 31761 |
最后登录 | 2025-4-18 |
在线时间 | 1746 小时 |
- 梦石
- 0
- 星屑
- 193
- 在线时间
- 1746 小时
- 注册时间
- 2009-7-12
- 帖子
- 443
|
這是F1中關於Input內的說明
* \) d% Z# |& }( P+ \' q9 b8 Q
& x/ T Y0 _& o( _8 E5 x8 QInput.press?(num)
/ r1 z/ n: i; _4 c& P7 ?$ ^2 q! U0 u" ^6 y5 `
判断与编号 num 对应的按钮是否现在被按下。
}- t/ ~' c t3 r- {9 x9 |9 r如果按下返回 true,未按下则返回 false。
7 n z0 p, L% j0 `' l6 C& Z8 N u. k. q+ S, l E
if Input.press?(Input::C)
5 k& m4 F- L# B$ N3 X6 Q do_something9 J9 N- f& ~. g! {
end ' g- k) Q+ w; Z3 ` r
! p% M5 {% |, G+ C, W" f aInput.trigger?(num)
* |+ N- e+ Y# \2 I* D+ R
* H4 D2 ]* i+ ~+ J+ c判断与编号 num 对应的按钮是否重新被按下。
( ]. T- R1 |& Z/ i! \; o' v只有从未按下状态向按下状态变化的瞬间被认定是「重新被按下」。; }. l$ \5 `: h5 G2 y
如果按下返回 true,未按下则返回 false。
: a/ L* [, z3 z/ _; b7 y" c2 A- D d+ T
Input.repeat?(num) 4 T" D+ f2 W, v+ H( C0 _ c
! Y% c; r/ X' C+ a/ E5 n判断与编号 num 对应的按钮是否重新被按下。$ J" }- P; x' S" ~
和 trigger? 不同的是,其考虑了连续按下按钮时的重复。
' s* Y8 O' F- B, y& [" I如果按下返回 true,未按下则返回 false。* H: i! e; q( _* w/ c7 a I
* B: O; |% D7 k8 b! K
M( C/ ^! i5 v# O. E4 p a
F1的說明有些糊裡糊塗的6 o2 V& j* r+ S3 O! X
直接觀察全鍵盤中的寫法= =
6 ]1 l9 y2 S& `6 t8 C1 T {) h2 F) S. | g+ Q7 i' n
推斷press?是「只要是按下的情況下就成立」
) b; D( j- X7 q/ Y+ C7 { ~" z7 c% H x8 f7 E% M* Q5 ~$ n
trigger?為「按下的那瞬間」條件成立,也就是說按下後若沒放開,不會再重新執行結果
! o2 u& F& P- [, c& p( I" M$ H' s# Q Q. C4 t6 X7 h+ ^7 Y
repeat?則是按下後@R_Key_Repeat[rkey] 會+16 D! u. C$ `. U
當@R_Key_Repeat[rkey]的值大於設定且!@R_Key_Repeat[rkey].nil?
( F3 m7 ^4 [; `: m: i) |@R_Key_Repeat[rkey]值會重新轉為00 s' a. R! x& x b: k g
且結果為true
* O/ C% f" Y+ v3 k# P. G1 e4 b/ e2 U所以推斷為「持續按下按鍵一定時間後,結果成立」
3 j% b) K0 U6 F" O) _8 D- W$ h! s9 g' x
XAS_3.82中判斷武器 def right_hand_button_update 中也是用 trigger? 來判斷" l4 H$ L: S# U
|
|