Project1

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

作者: timmyyayaya    时间: 2012-8-5 17:55
标题: 关于一个按键对应一个功能
由于有使用改键脚本,希望不要造成太多问题的情况下,
/ a; n, K( ]3 }! z- g想让默认的按键变成一键对应一个功能,
8 C/ V3 x! D$ L+ z5 i2 o不过脚本好像哪边出了问题…4 X' {& T) s! U1 ]
昨日请ML4455739大大帮在下看了一下,
# Q8 i7 o1 o2 v. p% t攻击键变成压住就会连续打,: N2 @! U4 _9 Z& b* F( z) q
不知道有没有其他知道XAS的大大可以帮在下看看?
作者: serena718    时间: 2012-8-24 16:42
trigger?和press?的問題吧?詳細可以看F1  j& j" N; T1 q+ S6 n% u0 T( `; Z8 u
全鍵盤腳本有兩種版本,看你是用哪種的
! y' F: T# b% J4 A8 a! c" c( ^一種是語法跟內建一樣,只是把Input改為Kboard
4 u0 ~5 i, _1 Q0 F1 p9 l0 k一種是連後面的都改了
作者: ML4455739    时间: 2012-8-24 17:28
serena718 发表于 2012-8-24 16:42
  D0 y# ~7 i, ?+ Utrigger?和press?的問題吧?詳細可以看F15 o3 ^3 _% e, T! _+ f# K6 H
全鍵盤腳本有兩種版本,看你是用哪種的- ?# l" h( t  C
一種是語法跟內建一樣,只 ...

( t$ v. ~6 _: q全键盘这些我知道" Z0 q5 x% c" Z, r; }
难倒我的是键位设置那一块
2 e; {" c( z6 d4 [. j' G您能帮到LZ么,顺便我也想学习一下
作者: serena718    时间: 2012-8-24 18:26
這是F1中關於Input內的說明3 F- E/ r/ \2 H
. e+ \" B' V! Q. ]4 z- ^
Input.press?(num) % U$ S& C( t& T4 j( u# T4 C8 l
$ j0 F1 {, r9 a9 ~
判断与编号 num 对应的按钮是否现在被按下。
, P2 F8 E% O  P# p# j如果按下返回 true,未按下则返回 false。
# A! p3 K. c7 `9 }7 t8 l  p( X) Q) |( f7 I
if Input.press?(Input::C)
; X- a; G3 N9 e3 O% X- \  do_something
, t( ]9 ?& |! v# C8 F- G& iend
: c5 c2 f. ^4 l; O; q5 z4 J
% |6 i, ?# ]. z0 O% @
Input.trigger?(num)
: Q% q$ G# z' p/ A: x: a$ c
0 U# \/ a( e# A, I3 T0 D判断与编号 num 对应的按钮是否重新被按下。! l; W9 b. o& b; ?
只有从未按下状态向按下状态变化的瞬间被认定是「重新被按下」。! `8 b) p* Q% q9 p
如果按下返回 true,未按下则返回 false。
0 @5 K7 q- f7 _9 q7 R$ N& _5 R* i1 Y0 a) _
Input.repeat?(num)
/ ~0 t. A  f3 P
0 L7 J0 H1 b0 X+ G判断与编号 num 对应的按钮是否重新被按下。
  z1 Q& _7 t9 `8 \0 E" Z0 z( K7 _和 trigger? 不同的是,其考虑了连续按下按钮时的重复。
) s$ B6 C/ q% N. P  u如果按下返回 true,未按下则返回 false。
2 f+ |) E; p/ w' }! g% K6 Q7 O7 R% e3 U' O6 V& \% d- A) G
, j8 @$ I0 v. I* Q+ i+ C/ f# ^
F1的說明有些糊裡糊塗的7 |* M/ h9 {4 b! ]" w
直接觀察全鍵盤中的寫法= =5 j1 Q8 t7 h0 u. Z# x
/ y/ O# ?, o* r: e
推斷press?是「只要是按下的情況下就成立」
7 f1 o# _; A2 Q4 ]2 Q8 [" G4 M# w) Z# D
trigger?為「按下的那瞬間」條件成立,也就是說按下後若沒放開,不會再重新執行結果: X# E8 k7 }( J* X3 F. c

# R  A! A- E$ J7 nrepeat?則是按下後@R_Key_Repeat[rkey] 會+1# Y' X  N: \& q1 o' U
當@R_Key_Repeat[rkey]的值大於設定且!@R_Key_Repeat[rkey].nil?
8 P3 K$ ]- p4 N  M@R_Key_Repeat[rkey]值會重新轉為0* m6 }! g  a% X' x; ~
且結果為true3 i8 ?6 N4 s2 a# U0 D; D9 q" L
所以推斷為「持續按下按鍵一定時間後,結果成立」
. F5 ~% g4 c# s+ e- Y% b- s+ Y8 u5 u- x
XAS_3.82中判斷武器 def right_hand_button_update 中也是用 trigger? 來判斷
. B* f9 W& j- H. T) x' }3 \
作者: ML4455739    时间: 2012-8-24 18:55
serena718 发表于 2012-8-24 18:26 & }6 S* q2 C2 t6 `0 l4 O4 E1 n
這是F1中關於Input內的說明4 X# M  {, N9 q* S6 G
+ `, l. l* ]% y! I8 y  y
Input.press?(num)
9 U  a7 f! e3 y% |
您没有看过LZ的工程……
# ?- [% _( C3 }
3 W9 w. f+ A) R; R这些基础的我当然知道的说,0 Q8 N* f' I/ ?4 f& |1 D
就是顶楼提到的改键脚本是难题,4 J, L8 q. M2 ^% p
, `1 k: ~+ _' H
他相当于把这些条件都重置了……
作者: serena718    时间: 2012-8-24 19:45
改鍵腳本?: L4 \- ~. I6 }6 c/ M
是像網遊那樣自定義按鍵那種嗎?
作者: ML4455739    时间: 2012-8-24 20:31
serena718 发表于 2012-8-24 19:45
. G3 X1 d! V6 w0 o% v1 ?改鍵腳本?
# a$ \. ^+ G( v& D' c0 k, V9 T  O是像網遊那樣自定義按鍵那種嗎?

3 E+ N5 ^7 w$ E, {是啊。
: F' ?5 m- e% Y# A0 [( w; e- L默认的、全键盘的、改键的
; \, w( W, a% p. V* Y' F" D三种类似Input.press?这种判定的写法,我彻底混乱了……
作者: timmyyayaya    时间: 2012-9-28 01:39
抱歉,前阵子比较忙碌,一个月多没上线,
7 r5 b) c+ ?: h- J( r  p现在才回复这篇内容。
4 I# V" m* x# {) p# N4 z
# a$ A" E3 g. N$ t- t3 v+ j, N因为改键要动到太多,果然玩家还是用作者的按键玩吧~




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