Project1

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

作者: timmyyayaya    时间: 2012-8-5 17:55
标题: 关于一个按键对应一个功能
由于有使用改键脚本,希望不要造成太多问题的情况下,5 B) i! q% q$ L$ A( V
想让默认的按键变成一键对应一个功能,! c* S+ e. b; w4 W
不过脚本好像哪边出了问题…
' r+ X. f8 F' E2 m: _昨日请ML4455739大大帮在下看了一下,0 f; F/ S4 y* P: a3 A
攻击键变成压住就会连续打,# q6 ~  T8 h! `6 K- b0 s9 c
不知道有没有其他知道XAS的大大可以帮在下看看?
作者: serena718    时间: 2012-8-24 16:42
trigger?和press?的問題吧?詳細可以看F1
$ H5 j' ]0 w& {# p& o全鍵盤腳本有兩種版本,看你是用哪種的
( a6 l  ~# A8 E: ]一種是語法跟內建一樣,只是把Input改為Kboard  F1 v. \% J' p
一種是連後面的都改了
作者: ML4455739    时间: 2012-8-24 17:28
serena718 发表于 2012-8-24 16:42 ( J' M5 X* g/ |) \- i( b
trigger?和press?的問題吧?詳細可以看F1
9 O8 g; r: B- v1 h( j全鍵盤腳本有兩種版本,看你是用哪種的, A  k8 l2 Q$ ]0 o
一種是語法跟內建一樣,只 ...
  ~* W' P- f9 B1 N* T9 M' x
全键盘这些我知道
. `5 V: B1 p3 B4 X难倒我的是键位设置那一块
1 S6 r5 A3 j+ Z1 |5 |2 W您能帮到LZ么,顺便我也想学习一下
作者: serena718    时间: 2012-8-24 18:26
這是F1中關於Input內的說明
/ u7 f' E8 c0 D) B9 Y" u
1 B3 p  t2 t' a# v. L3 }Input.press?(num)
3 ]- S* V& l& P4 U  |: {8 I% P7 F, c/ ]6 K
判断与编号 num 对应的按钮是否现在被按下。
- c4 F. z( [1 S如果按下返回 true,未按下则返回 false。. Z  H5 m6 q: x+ O

' e1 z% A! m% o1 P. h8 L- _+ \
if Input.press?(Input::C)
0 r4 `; ~5 _" @& a! c  do_something
& L' X  l$ k$ H+ ]* @# d: \end
3 X+ ~) q, u5 k+ M* K

8 ^) A! T* [& G: v+ ]Input.trigger?(num)
9 a4 G, c0 ^) w3 G
, _9 N' U+ \9 ~! t/ p判断与编号 num 对应的按钮是否重新被按下。0 A7 B7 }. D, N/ _, ]4 {
只有从未按下状态向按下状态变化的瞬间被认定是「重新被按下」。- z1 {: M) n% D3 i
如果按下返回 true,未按下则返回 false。8 h2 S( n- G$ A4 A1 y

; D9 c) N) K' G! HInput.repeat?(num)
/ k* \: E# c) ?
! L; j: |9 I( r- n( u判断与编号 num 对应的按钮是否重新被按下。
8 h% P+ r- B  I1 D和 trigger? 不同的是,其考虑了连续按下按钮时的重复。+ Y3 m$ H6 v' \' v4 h- u
如果按下返回 true,未按下则返回 false。
2 K# r" ?$ |  g# C! Z0 `% H. \. D4 Q0 w$ q9 f1 V0 J* P
+ O: Z7 t* c( w0 t& k# @* f- l
F1的說明有些糊裡糊塗的# S- N, V% i) J' r2 v
直接觀察全鍵盤中的寫法= =
1 s* V: m7 z% R# F- b
1 V9 F  \5 S: |7 M推斷press?是「只要是按下的情況下就成立」& z, B) p. H. W2 R5 Q# D
5 \4 e$ `9 @) h+ H
trigger?為「按下的那瞬間」條件成立,也就是說按下後若沒放開,不會再重新執行結果
6 W2 T( _* a$ E" t3 V: v6 w. A1 z1 U  A$ ?5 A# A5 U
repeat?則是按下後@R_Key_Repeat[rkey] 會+1- h, f7 a0 i' |, P: \5 u# D
當@R_Key_Repeat[rkey]的值大於設定且!@R_Key_Repeat[rkey].nil?& Z+ l- \8 ^6 t) B5 V! X& o( L
@R_Key_Repeat[rkey]值會重新轉為00 ?4 @! q4 R' ~, t9 Q  f
且結果為true
6 a. R6 |9 F. P$ ^4 a& y. R所以推斷為「持續按下按鍵一定時間後,結果成立」; F8 ^) J; W! R  Z3 a2 V
. \/ I3 |1 X! z# o( C8 U( I
XAS_3.82中判斷武器 def right_hand_button_update 中也是用 trigger? 來判斷, j& v! J) Z+ {% P% J, N1 k

作者: ML4455739    时间: 2012-8-24 18:55
serena718 发表于 2012-8-24 18:26
( \" _# [! U4 A( `這是F1中關於Input內的說明
; N& t& G% U) Y! [5 ^
2 z& o% Q& [' {, SInput.press?(num)

5 O1 e0 y3 A8 d9 d2 q. X/ N9 G您没有看过LZ的工程……
2 `2 M% f& m) T0 U8 _( K. S( A2 J9 \, z( T& i  M- C2 o
这些基础的我当然知道的说,8 b  x# E0 Y" l# p% ]- m
就是顶楼提到的改键脚本是难题,
" v- L/ D2 e6 q# ]- v0 b8 o! B8 k! g& q4 m8 Y* n( A4 F: ~- s
他相当于把这些条件都重置了……
作者: serena718    时间: 2012-8-24 19:45
改鍵腳本?
$ v$ O" q" x8 }- }+ e2 F是像網遊那樣自定義按鍵那種嗎?
作者: ML4455739    时间: 2012-8-24 20:31
serena718 发表于 2012-8-24 19:45
5 Z2 z2 u+ [  w! n; d改鍵腳本?5 w! M3 L% ~" O" E" d
是像網遊那樣自定義按鍵那種嗎?

  _, v% \9 p: e- x4 }: K: a9 p是啊。+ [- Q" N) }% t5 B& z
默认的、全键盘的、改键的" b, j0 F3 i* z' b
三种类似Input.press?这种判定的写法,我彻底混乱了……
作者: timmyyayaya    时间: 2012-9-28 01:39
抱歉,前阵子比较忙碌,一个月多没上线,
* |5 E) `+ ]; k现在才回复这篇内容。
5 u2 @4 E' |- G& w# B7 S
; z$ F7 N  T% I* R, h5 F; o1 W6 Q  l因为改键要动到太多,果然玩家还是用作者的按键玩吧~




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