Project1

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

作者: timmyyayaya    时间: 2012-8-5 17:55
标题: 关于一个按键对应一个功能
由于有使用改键脚本,希望不要造成太多问题的情况下,
# Y! z0 [' k5 I4 a6 p2 {想让默认的按键变成一键对应一个功能,/ @$ }0 E; d: @! Y7 N5 Z2 h
不过脚本好像哪边出了问题…& M$ e3 n! C8 i4 J
昨日请ML4455739大大帮在下看了一下,
4 G! V8 `& r# K% T攻击键变成压住就会连续打,0 ~# s4 `) X9 P- [
不知道有没有其他知道XAS的大大可以帮在下看看?
作者: serena718    时间: 2012-8-24 16:42
trigger?和press?的問題吧?詳細可以看F1/ G1 D) r% o/ P5 U2 U9 i
全鍵盤腳本有兩種版本,看你是用哪種的
8 d9 {9 g! A* N  b% R一種是語法跟內建一樣,只是把Input改為Kboard
5 ?4 L1 V1 c: L" b一種是連後面的都改了
作者: ML4455739    时间: 2012-8-24 17:28
serena718 发表于 2012-8-24 16:42
5 j. m+ R% s/ b, }- b2 l8 r5 Xtrigger?和press?的問題吧?詳細可以看F1
) o6 i1 N  l$ a8 I( E- O4 i全鍵盤腳本有兩種版本,看你是用哪種的3 l% y% X& b2 N& g" A. g
一種是語法跟內建一樣,只 ...
* S8 X( i! W0 Z: z, M( v( G
全键盘这些我知道/ u" l) i  Z' h- l' t$ N' r1 e) t' Z
难倒我的是键位设置那一块
$ E* }0 A+ e* G4 S( M4 f您能帮到LZ么,顺便我也想学习一下
作者: serena718    时间: 2012-8-24 18:26
這是F1中關於Input內的說明
% M7 E  ]( m3 a8 l, b
9 R1 ]- b9 `8 p9 o% {Input.press?(num)
" ~6 k+ M/ Y) _. S* o* O/ p2 k
* x7 B8 m; @6 j5 J5 P判断与编号 num 对应的按钮是否现在被按下。
( R" O0 p" V. `. t如果按下返回 true,未按下则返回 false。
% y" c8 i  W- q! r1 W
1 v( B4 @. J. U3 T( S- P# I! G
if Input.press?(Input::C)8 d. m' S3 {" x" A5 a! v2 ~3 q5 M
  do_something% D' j* s$ x2 f4 j
end
0 c, l( S& b- T* {9 I# a% y
; m. ]: ^' a# B7 M1 X
Input.trigger?(num)
7 r  h) _7 |" a/ L. u1 W5 _( K, Q; k! a$ ~
判断与编号 num 对应的按钮是否重新被按下。
$ Y8 u' Q6 n% Z& H0 ^只有从未按下状态向按下状态变化的瞬间被认定是「重新被按下」。
* g# A( f$ V5 l. }& B) r2 E如果按下返回 true,未按下则返回 false。8 R/ K1 ]' L# ]) P! c) p
; T" _3 y  l2 x# w* U5 `  `* x
Input.repeat?(num)
9 O$ e2 F# T6 C/ l% C4 i( k* a* E1 ]
8 w/ r1 Y8 g7 o1 O6 _; o0 ]2 i判断与编号 num 对应的按钮是否重新被按下。
5 g2 x. ?) Q, U' _和 trigger? 不同的是,其考虑了连续按下按钮时的重复。8 _6 Z  U! z  s
如果按下返回 true,未按下则返回 false。$ g& j1 F2 E2 ?; V' \2 g1 j/ W

7 D7 Z9 n2 {, @4 L
: t8 q: R  W: G8 v6 L& h$ LF1的說明有些糊裡糊塗的$ i6 m/ B  r2 z. K0 R0 b
直接觀察全鍵盤中的寫法= =
" f# O2 P% Z& A5 P$ X
* |4 j1 w; X$ }4 y推斷press?是「只要是按下的情況下就成立」
& b- |. [' H& d( x5 e. @( l3 @) |/ [% w
trigger?為「按下的那瞬間」條件成立,也就是說按下後若沒放開,不會再重新執行結果; ~& [# |8 D2 n9 c1 H+ o# {

1 }& V- K4 w( [. H3 }repeat?則是按下後@R_Key_Repeat[rkey] 會+13 O% Y- g! H+ w4 r: q: Z) o& S) {2 h
當@R_Key_Repeat[rkey]的值大於設定且!@R_Key_Repeat[rkey].nil?. Z# T  V  Z7 s& _+ b
@R_Key_Repeat[rkey]值會重新轉為05 }( O# ^1 ^! E- ^' c) L  P6 n7 u
且結果為true
. _) O) J. a# C! U所以推斷為「持續按下按鍵一定時間後,結果成立」: l5 n2 ?8 a$ ^  L) e
0 o* t0 f& n* S
XAS_3.82中判斷武器 def right_hand_button_update 中也是用 trigger? 來判斷
) W( P& b- E, v! R2 z# y
作者: ML4455739    时间: 2012-8-24 18:55
serena718 发表于 2012-8-24 18:26 ' Y6 C3 @' B; ]
這是F1中關於Input內的說明# B+ J3 {+ B* k1 \9 z  ~

: l/ V9 s7 B) O6 T1 @8 HInput.press?(num)
- C2 a. q, f5 g
您没有看过LZ的工程……& F$ C3 W+ R( Z! W- J
" m; _) U3 T6 U  L' s) p/ ?
这些基础的我当然知道的说,
+ @- I* U: g$ e* ]$ D就是顶楼提到的改键脚本是难题,
# J; w% c, d- w8 J/ \- j- k- t, ^( C# i; B0 i2 z6 b- n: h
他相当于把这些条件都重置了……
作者: serena718    时间: 2012-8-24 19:45
改鍵腳本?: h( L, H% G1 T- Y/ A
是像網遊那樣自定義按鍵那種嗎?
作者: ML4455739    时间: 2012-8-24 20:31
serena718 发表于 2012-8-24 19:45
+ J4 }8 i7 c* l6 F9 `% H改鍵腳本?4 Q; k2 o$ `7 g( y+ c+ a9 b
是像網遊那樣自定義按鍵那種嗎?
' l+ V) r" I1 q( [
是啊。9 d7 o# d2 H+ N2 V/ H
默认的、全键盘的、改键的/ k$ q' @# r4 _% A! W* X
三种类似Input.press?这种判定的写法,我彻底混乱了……
作者: timmyyayaya    时间: 2012-9-28 01:39
抱歉,前阵子比较忙碌,一个月多没上线,
- y  \. j# N, ?' v; L现在才回复这篇内容。& V) I- M6 ?# k. e

4 m: B; M2 e* j, A! v9 b, w因为改键要动到太多,果然玩家还是用作者的按键玩吧~




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