Project1

标题: 关于一个按键对应一个功能 [打印本页]

作者: timmyyayaya    时间: 2012-8-5 17:55
标题: 关于一个按键对应一个功能
由于有使用改键脚本,希望不要造成太多问题的情况下,
: Z% s$ ^+ e  X想让默认的按键变成一键对应一个功能,
4 P7 j8 s  N! o$ I不过脚本好像哪边出了问题…0 R& J$ Q$ E- S: }4 p- e" b
昨日请ML4455739大大帮在下看了一下,' I2 X9 W: Y: _( V9 D. Q$ S, f' }
攻击键变成压住就会连续打,
( o4 `- V7 M2 R1 L+ w2 F1 ^5 l/ M+ `' V不知道有没有其他知道XAS的大大可以帮在下看看?
作者: serena718    时间: 2012-8-24 16:42
trigger?和press?的問題吧?詳細可以看F13 K6 Z' |3 C  r8 a7 E, _
全鍵盤腳本有兩種版本,看你是用哪種的1 C  l9 N. R4 Y  h. w. Y
一種是語法跟內建一樣,只是把Input改為Kboard' T8 e# ]6 Q8 y, p
一種是連後面的都改了
作者: ML4455739    时间: 2012-8-24 17:28
serena718 发表于 2012-8-24 16:42 + F1 \/ `0 y% S" B/ {
trigger?和press?的問題吧?詳細可以看F1$ _, K7 [( N/ A
全鍵盤腳本有兩種版本,看你是用哪種的
4 [. T# f$ e) |9 o一種是語法跟內建一樣,只 ...

- U2 m6 o$ O. y9 a) o全键盘这些我知道- X4 ^7 b" n! |; A5 k5 C9 }' H
难倒我的是键位设置那一块
5 ?6 F7 P0 A- {1 Y( M4 \您能帮到LZ么,顺便我也想学习一下
作者: serena718    时间: 2012-8-24 18:26
這是F1中關於Input內的說明
6 \* Q% E4 \$ t1 _3 ]3 T0 o1 n+ e  {" p- G1 E. Y* A1 R4 |
Input.press?(num)
* u. h) Q/ A9 Q7 U& T6 A+ D+ m2 W$ H+ T$ _. c! ~
判断与编号 num 对应的按钮是否现在被按下。
0 `7 G1 [! H9 S3 q) ^如果按下返回 true,未按下则返回 false。
+ J+ T7 d; ~1 r. n3 v7 t. c! p; x/ v8 P1 A; j( p# [* [; V1 ~
if Input.press?(Input::C)
0 Y' l. }" r3 Q- }* i7 W5 K  do_something
: R% |# {, d% r1 }- _1 ~end

8 r6 ?9 @$ f3 X/ V
. p6 n0 A& q$ V( {( DInput.trigger?(num) % D  O. ~+ n7 o  n- O

( [0 W4 ~+ u8 I, \判断与编号 num 对应的按钮是否重新被按下。
. f/ k( w+ Y7 f. T5 j3 ?! v只有从未按下状态向按下状态变化的瞬间被认定是「重新被按下」。- I: s3 C9 ^) r7 P' _8 X  }
如果按下返回 true,未按下则返回 false。8 ^, {. O! }: _0 p5 J# i3 V
, M* y; v4 q  i% D5 G- G) Z+ Q% m
Input.repeat?(num)
0 e# @( E7 w, G+ M& f0 k
  h6 G# D4 k: l9 R% p判断与编号 num 对应的按钮是否重新被按下。  r  W1 {! T8 V( w5 V! ?5 p6 x
和 trigger? 不同的是,其考虑了连续按下按钮时的重复。% y' @7 B3 O) \* q
如果按下返回 true,未按下则返回 false。6 ~7 I" x5 ?" U& m# p

% P% u9 o  O" @. O+ |4 |
: N% p. u9 {! F/ ^F1的說明有些糊裡糊塗的
* ]; |) ~, k: Q8 Y直接觀察全鍵盤中的寫法= =% L- J  A5 t$ i& g9 p% r
+ w) r; g- b$ y
推斷press?是「只要是按下的情況下就成立」2 k" u2 B! Q$ l

- X! N% s4 U  I) M" O0 Strigger?為「按下的那瞬間」條件成立,也就是說按下後若沒放開,不會再重新執行結果
& l1 Y" A1 V# L% l1 Q( \. h9 k. t6 G; @
repeat?則是按下後@R_Key_Repeat[rkey] 會+1$ t% ?9 V4 D* V8 Q* o- ~
當@R_Key_Repeat[rkey]的值大於設定且!@R_Key_Repeat[rkey].nil?* w* A  K: Q7 \& V' z% y4 t
@R_Key_Repeat[rkey]值會重新轉為0
9 F; {0 Y* a, L$ h且結果為true; j& W* h% i( w& w- v
所以推斷為「持續按下按鍵一定時間後,結果成立」- J0 Q5 `# O: M

9 d  z+ |1 k: i8 w, H  P/ JXAS_3.82中判斷武器 def right_hand_button_update 中也是用 trigger? 來判斷" ]/ p- A( z/ d# f) m9 c

作者: ML4455739    时间: 2012-8-24 18:55
serena718 发表于 2012-8-24 18:26
# G2 O) c7 H: t2 ]1 p; K這是F1中關於Input內的說明
) h6 [& v# f+ |8 d* @/ @" S# ]: g  r" O2 @. U$ l
Input.press?(num)

" m5 x0 c% G7 X! ~- C  `$ C您没有看过LZ的工程……
" \; X( P- p/ r. g0 f+ E
7 P' z& ^6 U* z# D! n, ^' }$ S  i这些基础的我当然知道的说,
5 t  y7 K) c! {! A! Q4 @5 J就是顶楼提到的改键脚本是难题,
0 ^, ?9 B2 _) d5 v" S* K7 i* Q0 r* e0 i; f5 f, S
他相当于把这些条件都重置了……
作者: serena718    时间: 2012-8-24 19:45
改鍵腳本?+ N8 u6 Z/ L1 w+ y
是像網遊那樣自定義按鍵那種嗎?
作者: ML4455739    时间: 2012-8-24 20:31
serena718 发表于 2012-8-24 19:45
$ K3 E. ?( c* G6 c6 `改鍵腳本?- r6 {& Y" A, }3 Q/ {+ y
是像網遊那樣自定義按鍵那種嗎?

) x' _0 D( d: q7 }4 k* g是啊。
9 P  ^! T3 v+ v' Q- f默认的、全键盘的、改键的
! i0 N$ K" Q+ b" o* A% {* F三种类似Input.press?这种判定的写法,我彻底混乱了……
作者: timmyyayaya    时间: 2012-9-28 01:39
抱歉,前阵子比较忙碌,一个月多没上线,
. f3 D# |5 I2 p5 N2 ]4 B现在才回复这篇内容。
/ c+ B1 A! Y8 f6 s" M
5 ]2 S' C, ^7 E3 R9 c因为改键要动到太多,果然玩家还是用作者的按键玩吧~




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1