| 赞 | 0 |
| VIP | 0 |
| 好人卡 | 2 |
| 积分 | 7 |
| 经验 | 31761 |
| 最后登录 | 2026-2-12 |
| 在线时间 | 1808 小时 |
- 梦石
- 0
- 星屑
- 687
- 在线时间
- 1808 小时
- 注册时间
- 2009-7-12
- 帖子
- 443
|
這是F1中關於Input內的說明) k# Z# d1 D3 I7 I
/ S; }/ ]4 {! C
Input.press?(num) * `) {& B9 ^4 C2 Y8 {8 Q6 _; m! Z
# P2 O! q- d! c6 i
判断与编号 num 对应的按钮是否现在被按下。
5 z+ E2 `7 d8 a4 l2 {9 y如果按下返回 true,未按下则返回 false。
! w2 r8 n3 e$ o- n( v; U
4 K9 L. {2 S# Y% @9 Z; u; U( Mif Input.press?(Input::C)5 k2 n3 x' n2 D1 o
do_something
5 I. J, v3 o- ?end
$ o+ ?' L$ ]. z' f
& K8 b/ ]' F$ P4 D/ t% vInput.trigger?(num)
( p2 y, v3 B9 A: q+ D9 m2 c4 F7 \ }4 F
判断与编号 num 对应的按钮是否重新被按下。
3 ]2 |# y$ k. Y* u' [* K, ~只有从未按下状态向按下状态变化的瞬间被认定是「重新被按下」。+ r' R. B; \3 a4 o0 S0 |* I2 Q
如果按下返回 true,未按下则返回 false。& I0 P+ X6 `! \4 ^7 s, P
9 G+ ~: K L' j! \* T; D0 N
Input.repeat?(num) * ]+ n5 V# w+ u# G5 G
- j& j, R; V5 G1 X
判断与编号 num 对应的按钮是否重新被按下。
, r2 R, Q z6 C- F1 m2 _$ h) f和 trigger? 不同的是,其考虑了连续按下按钮时的重复。. \! p, ]! x a( e
如果按下返回 true,未按下则返回 false。2 ?8 |+ O, ^6 d0 f& G, F3 p7 n
! A4 a# Z, V3 @# A
; A2 `/ `/ P% Q+ h4 j$ C( NF1的說明有些糊裡糊塗的& \9 y" x9 c' V1 I
直接觀察全鍵盤中的寫法= =
8 U: ]: c, @# u" Y B, q7 Z9 ^1 g! x
推斷press?是「只要是按下的情況下就成立」
3 E J: u" v. I* I5 ~& G
H4 S9 F; A! Dtrigger?為「按下的那瞬間」條件成立,也就是說按下後若沒放開,不會再重新執行結果
3 m/ L/ q( U" l/ J* H* C# Z
" K- m% \. [& a, j( p9 vrepeat?則是按下後@R_Key_Repeat[rkey] 會+1
4 G b: w- i# V# g& l/ N+ o- m2 x當@R_Key_Repeat[rkey]的值大於設定且!@R_Key_Repeat[rkey].nil?
2 q3 C% B/ m$ k/ X3 a' ?* d, L$ V# C) D@R_Key_Repeat[rkey]值會重新轉為0# N; `( j/ _, p3 d0 [
且結果為true
& | ^" m, x5 D所以推斷為「持續按下按鍵一定時間後,結果成立」1 }# J5 ^/ m( O& {: R+ r! d
6 `5 I6 |. A3 L( E: u3 R
XAS_3.82中判斷武器 def right_hand_button_update 中也是用 trigger? 來判斷! `: Y2 w+ T# P& s- \/ }# ^
|
|