赞 | 0 |
VIP | 0 |
好人卡 | 2 |
积分 | 5 |
经验 | 31761 |
最后登录 | 2025-10-10 |
在线时间 | 1794 小时 |
- 梦石
- 0
- 星屑
- 542
- 在线时间
- 1794 小时
- 注册时间
- 2009-7-12
- 帖子
- 443
|
這是F1中關於Input內的說明
# w5 T8 ~- W Y5 Z; y; E# x- Z% c- D# M- G
Input.press?(num) ' S E- k* w4 n: w
) u7 J0 M+ `3 R8 P4 W判断与编号 num 对应的按钮是否现在被按下。
* L$ u2 `4 d' L; G5 G0 L. R0 E如果按下返回 true,未按下则返回 false。) {' [' j, I9 }# S; v7 x* c2 J
* n7 F+ h7 N- D: H- }if Input.press?(Input::C), k/ |! S* E# q! T+ A: f+ R
do_something" a" S ^( u7 Z
end
: P9 f a7 h" a- ~ ^
4 p8 ^2 f) [, m9 G) jInput.trigger?(num)
5 y2 V M- k8 M
6 s; Y' |% Y+ p6 R4 X判断与编号 num 对应的按钮是否重新被按下。: J3 D; \) E* Y) O( \+ H' D2 s. @
只有从未按下状态向按下状态变化的瞬间被认定是「重新被按下」。
2 f7 w$ S6 {- G( m如果按下返回 true,未按下则返回 false。) \. x% O" _; V" q3 W
1 z6 O2 k# o0 y2 ^" a
Input.repeat?(num)
# A+ o3 q' \; L8 v& m$ I
2 P" T6 N2 H" r, Z8 M! t判断与编号 num 对应的按钮是否重新被按下。, D5 N. J- w8 \; R8 D* e$ n
和 trigger? 不同的是,其考虑了连续按下按钮时的重复。; N) R$ G; O' U- s$ @* ]8 o
如果按下返回 true,未按下则返回 false。
2 ?& G" E" B2 ^
; {7 H4 g1 C0 M' l8 F* J$ |7 T* e1 N p% w" \
F1的說明有些糊裡糊塗的8 m- i$ c4 ?) \7 r
直接觀察全鍵盤中的寫法= =
' b; a$ h; W# `0 K4 `, I$ w4 P+ W y6 j' T s2 w7 |: J3 `$ p
推斷press?是「只要是按下的情況下就成立」
2 p/ U$ z4 g4 w! I
. k# @5 |$ G+ U5 w7 ]* z" @trigger?為「按下的那瞬間」條件成立,也就是說按下後若沒放開,不會再重新執行結果
1 h" F" D6 V4 y% b5 y+ A X
* J- C; j& B! d7 frepeat?則是按下後@R_Key_Repeat[rkey] 會+1
3 P$ I; o3 [3 D當@R_Key_Repeat[rkey]的值大於設定且!@R_Key_Repeat[rkey].nil?4 M$ g' g8 I9 x+ l
@R_Key_Repeat[rkey]值會重新轉為0' X' n9 a6 ^- K( A* t! g
且結果為true4 C7 x% K8 D- \/ y5 F
所以推斷為「持續按下按鍵一定時間後,結果成立」
) B3 ]) B1 x9 ]$ o+ w9 U8 x, K" }7 P( W' j; I- w7 |
XAS_3.82中判斷武器 def right_hand_button_update 中也是用 trigger? 來判斷- ~- g; V V% Z1 s
|
|