赞 | 0 |
VIP | 0 |
好人卡 | 2 |
积分 | 4 |
经验 | 31761 |
最后登录 | 2025-6-30 |
在线时间 | 1780 小时 |
- 梦石
- 0
- 星屑
- 425
- 在线时间
- 1780 小时
- 注册时间
- 2009-7-12
- 帖子
- 443
|
這是F1中關於Input內的說明
% ]8 v& a4 ^. U& Z1 ~* x- B h3 t! p0 t% _
Input.press?(num)
" y6 ?, W7 b# _ W: _9 v8 }6 [/ Z) {3 J; Q: C5 @
判断与编号 num 对应的按钮是否现在被按下。' K3 {" s2 p8 P# L1 D T2 A; i* c1 M
如果按下返回 true,未按下则返回 false。% g7 P: w: u* Y, w" W& ^# G
( V: A/ H/ S( o% D; |9 x, P3 P& B
if Input.press?(Input::C)
4 m# j7 p5 b/ e) H, Q do_something) Q: w* M8 b- m0 N9 ^
end
* r" K3 Y% o( r# R: _% V! U' _. J* \, w8 z: w
Input.trigger?(num)
/ _6 c6 f. Q* k* \ J3 L- t
4 b! L' Z* V8 {6 D8 F判断与编号 num 对应的按钮是否重新被按下。1 H ?" R v) b
只有从未按下状态向按下状态变化的瞬间被认定是「重新被按下」。
' B4 Y# E* S0 L* w$ a" @如果按下返回 true,未按下则返回 false。
+ G% _% T- y' [7 r9 o+ R7 X' @, p T
Input.repeat?(num) ' ]& {+ S P* D. J
m9 o; W/ M. K# @0 ^. j判断与编号 num 对应的按钮是否重新被按下。
" S" _( ~, n2 q# F! v和 trigger? 不同的是,其考虑了连续按下按钮时的重复。
, I1 C" q% D; X( W. I( A如果按下返回 true,未按下则返回 false。$ L4 t' K3 O, @! l8 X& @6 a
8 I, y* n% m) U V3 b) p
) H# B- S$ F H6 T! A& y$ G$ [F1的說明有些糊裡糊塗的
$ K3 ]/ A3 W+ a) o" V6 j直接觀察全鍵盤中的寫法= =
+ Z. Y2 H/ N0 p/ w. Q3 T! a0 N: j! S+ q% F V6 T. c. Y
推斷press?是「只要是按下的情況下就成立」
W% R; @7 ^7 ^2 r+ Y& ]3 m: f9 g$ x! x1 f. T3 [. x
trigger?為「按下的那瞬間」條件成立,也就是說按下後若沒放開,不會再重新執行結果, b9 ]& W0 k" O6 z' h
9 q1 D* l, o# E0 W/ ^# Drepeat?則是按下後@R_Key_Repeat[rkey] 會+1/ }7 \$ ?% C8 t/ E" J* l
當@R_Key_Repeat[rkey]的值大於設定且!@R_Key_Repeat[rkey].nil?
+ K* {* f3 o; U: i@R_Key_Repeat[rkey]值會重新轉為0
. \, j6 I' l; j6 L; A且結果為true8 z3 u9 X1 s# {* o9 k! q; s
所以推斷為「持續按下按鍵一定時間後,結果成立」% P. n( g4 ]1 H% Q
1 N' {7 }2 ^0 `0 c1 X
XAS_3.82中判斷武器 def right_hand_button_update 中也是用 trigger? 來判斷
( n0 d k) X8 n |
|