Project1

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

作者: timmyyayaya    时间: 2012-8-5 17:55
标题: 关于一个按键对应一个功能
由于有使用改键脚本,希望不要造成太多问题的情况下,
! D6 v: _2 ?+ L+ r) e想让默认的按键变成一键对应一个功能,
/ `( V8 u- v' V1 n不过脚本好像哪边出了问题…: k7 l* S! k, w) U8 U
昨日请ML4455739大大帮在下看了一下,5 t' ^- i+ b% ^) |
攻击键变成压住就会连续打,  W$ |4 P: P9 f" }
不知道有没有其他知道XAS的大大可以帮在下看看?
作者: serena718    时间: 2012-8-24 16:42
trigger?和press?的問題吧?詳細可以看F1
4 j% r/ Z, a! P7 p, C全鍵盤腳本有兩種版本,看你是用哪種的
5 p4 _! U7 u9 \4 H一種是語法跟內建一樣,只是把Input改為Kboard
  t9 q  f0 q: n8 w( L3 b一種是連後面的都改了
作者: ML4455739    时间: 2012-8-24 17:28
serena718 发表于 2012-8-24 16:42 4 L9 O1 j1 E+ e: b
trigger?和press?的問題吧?詳細可以看F1, B; ?4 q7 t: }6 z6 N
全鍵盤腳本有兩種版本,看你是用哪種的2 d6 {- W0 r' O) z" S% J
一種是語法跟內建一樣,只 ...

, v* V8 J: m; V7 |) I全键盘这些我知道
$ e) E" ]& a. |/ e难倒我的是键位设置那一块$ B9 z5 ?6 v# r5 Q0 ]
您能帮到LZ么,顺便我也想学习一下
作者: serena718    时间: 2012-8-24 18:26
這是F1中關於Input內的說明4 E. N$ x( D9 r; x! P0 |' F

/ G# {0 p) n! E2 M) W0 KInput.press?(num)
( T5 t2 C, Y1 Y) s! _, s& r) d( j& |
判断与编号 num 对应的按钮是否现在被按下。, \6 \3 }6 d  |% F8 {: e
如果按下返回 true,未按下则返回 false。
; ^" V$ Z* `  Q9 o  t
  I# |( j9 a( I8 P
if Input.press?(Input::C)* t2 j& W& U& j% ~4 h+ Q, J
  do_something
' @: f2 b+ W( x$ w$ |6 F+ _end

8 r, i- W5 B5 E. h# S9 x* ~0 _& S% o( ~7 p& b8 G: b
Input.trigger?(num) & z/ |. L; `! ]" @  u) z- g! ?

, {# e2 a8 P" J6 T$ t判断与编号 num 对应的按钮是否重新被按下。* d7 k% w! ]8 Z0 H1 r
只有从未按下状态向按下状态变化的瞬间被认定是「重新被按下」。2 G; m2 @4 j5 y* P
如果按下返回 true,未按下则返回 false。
( P& ?) q) {6 v" O9 \+ c9 A5 L. f7 a) L- x  z. @7 ?$ k
Input.repeat?(num)
) e1 d* g" Q7 L7 ]' R) p+ K. w% x! q6 N; U; D  o
判断与编号 num 对应的按钮是否重新被按下。
2 l: o& M$ G' {' U+ L$ c和 trigger? 不同的是,其考虑了连续按下按钮时的重复。
' T" E4 D4 E( j8 O' E如果按下返回 true,未按下则返回 false。
" N6 f. B5 u( J2 c8 [
4 A" U* C. [' V; k3 w8 U8 B1 A* G  [% G& g. k8 r6 r7 @0 [
F1的說明有些糊裡糊塗的
0 m) `  A/ ^6 S" W0 \% S直接觀察全鍵盤中的寫法= =
4 ^1 r3 ]; [8 n0 f0 T1 |! I4 A
3 r1 ]; j6 s$ j/ u' E推斷press?是「只要是按下的情況下就成立」# Z; v* y* Z3 }

0 h* }# Y1 O2 Utrigger?為「按下的那瞬間」條件成立,也就是說按下後若沒放開,不會再重新執行結果
3 v. ~" r' g' d
& {2 G/ ]1 J' g& p0 u5 Y9 I, @- erepeat?則是按下後@R_Key_Repeat[rkey] 會+1
9 W. z& K& E1 E: f( ]4 \( @3 U3 F當@R_Key_Repeat[rkey]的值大於設定且!@R_Key_Repeat[rkey].nil?
! c6 f+ E% A. l0 o0 `@R_Key_Repeat[rkey]值會重新轉為0
$ s# M3 \, \8 z4 Z: X( [5 B且結果為true7 M( o! U  c2 b
所以推斷為「持續按下按鍵一定時間後,結果成立」
/ H( Z: d. w$ ?3 n$ _
- D2 u5 ]" y% q7 O# |XAS_3.82中判斷武器 def right_hand_button_update 中也是用 trigger? 來判斷
% M  N" I, `! C/ [* {# H
作者: ML4455739    时间: 2012-8-24 18:55
serena718 发表于 2012-8-24 18:26 : Y, c8 {% o- F( D" Y
這是F1中關於Input內的說明
: E7 p) P1 L! D. K. z" v
" Q, A- B8 O5 J6 b, c$ OInput.press?(num)
$ L6 i/ w2 ]$ z7 a5 M# b2 b
您没有看过LZ的工程……
( y* U, O. v! k' t2 T5 ?. r% `$ _7 s, d; D6 j( y
这些基础的我当然知道的说,. r+ ?0 u, W! Z/ ~' r+ K
就是顶楼提到的改键脚本是难题,5 e% k( g& F# y

2 F: n* ^  \" H& w7 i他相当于把这些条件都重置了……
作者: serena718    时间: 2012-8-24 19:45
改鍵腳本?
6 E: ]5 Q, A" }- }2 B是像網遊那樣自定義按鍵那種嗎?
作者: ML4455739    时间: 2012-8-24 20:31
serena718 发表于 2012-8-24 19:45 9 K% M' P9 G9 S  m$ @
改鍵腳本?( x5 e  d' y% x* Z$ J
是像網遊那樣自定義按鍵那種嗎?

) ?* M& ]- i' B  l  T是啊。
0 [' U' _1 e" J$ M9 O: u9 o3 B默认的、全键盘的、改键的# j: z2 K! z3 M! f
三种类似Input.press?这种判定的写法,我彻底混乱了……
作者: timmyyayaya    时间: 2012-9-28 01:39
抱歉,前阵子比较忙碌,一个月多没上线,
+ j* {- x: w# Z/ C2 {现在才回复这篇内容。
( v8 X6 S0 d* w  L7 T
; o. w& @0 e, v. `因为改键要动到太多,果然玩家还是用作者的按键玩吧~




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