查看: 1975|回复: 7

[有事请教] 关于一个按键对应一个功能

[复制链接]
梦石
7
星屑
2585
在线时间
567 小时
注册时间
2009-4-30
回帖
228
发表于 2012-8-5 17:55:18 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
由于有使用改键脚本,希望不要造成太多问题的情况下,
# u8 m$ r4 S- d- s( j" ?% `( G7 \想让默认的按键变成一键对应一个功能,' Q" n' t8 _( P1 c4 y
不过脚本好像哪边出了问题…
* u; K' }+ _* z昨日请ML4455739大大帮在下看了一下,
. h! N+ U  w& g) J9 n) e攻击键变成压住就会连续打,+ U9 \4 |- h/ d& A0 I
不知道有没有其他知道XAS的大大可以帮在下看看?
梦石
0
星屑
687
在线时间
1808 小时
注册时间
2009-7-12
回帖
416
发表于 2012-8-24 16:42:24 | 显示全部楼层
trigger?和press?的問題吧?詳細可以看F1
$ K! W' M* _3 U% @& w5 S/ F全鍵盤腳本有兩種版本,看你是用哪種的
8 I- f8 M! ?' k" N1 f: ]) L2 k; m一種是語法跟內建一樣,只是把Input改為Kboard
# |& m% I5 r+ P+ m一種是連後面的都改了
回复

使用道具 举报

梦石
0
星屑
672
在线时间
2184 小时
注册时间
2009-12-6
回帖
571

开拓者

发表于 2012-8-24 17:28:31 | 显示全部楼层
serena718 发表于 2012-8-24 16:42 7 G0 k' q# L" a. R" {8 o. r
trigger?和press?的問題吧?詳細可以看F1
. E6 L, y0 Q, J" ?全鍵盤腳本有兩種版本,看你是用哪種的
7 U9 s$ Z0 K; V; N一種是語法跟內建一樣,只 ...

+ ]$ c- V4 `$ m# z  h全键盘这些我知道
0 {+ l2 w2 ~7 c# s难倒我的是键位设置那一块
! ?  Q3 I" o& w( T1 }8 h您能帮到LZ么,顺便我也想学习一下
往事简直不堪回首,稍微做点想做的事吧
回复

使用道具 举报

梦石
0
星屑
687
在线时间
1808 小时
注册时间
2009-7-12
回帖
416
发表于 2012-8-24 18:26:33 | 显示全部楼层
這是F1中關於Input內的說明7 O- H) e: l  k, y; O# G
! {+ I& W2 j/ V7 b( K
Input.press?(num)
* |6 d3 `$ l- K; Y0 z7 }/ ~
/ q+ X# f1 `" v判断与编号 num 对应的按钮是否现在被按下。
- V& M& s" q2 K; X% J如果按下返回 true,未按下则返回 false。+ _" f' N9 c4 G  a3 o

2 i; x; w0 b% a- X0 g
if Input.press?(Input::C)
( [- O6 ^0 L8 O% U  N3 R  do_something
1 Y( W6 R3 k- k4 W$ x6 f- Fend
( u  r) m% s2 T5 Z% I& |5 u6 ?! l8 X

- O$ k0 \- c* n& N* {Input.trigger?(num)
7 f" G& }9 Y: Z% I; ?8 l- N9 B2 {9 j
判断与编号 num 对应的按钮是否重新被按下。$ w; w. r5 ^; K+ o9 X- ]7 I
只有从未按下状态向按下状态变化的瞬间被认定是「重新被按下」。$ t  ~* W" D5 \( q- b3 Q
如果按下返回 true,未按下则返回 false。& T+ z' _0 R" \; b8 w9 t" P5 C9 }
: G  G5 A' s1 \7 A" ?+ |
Input.repeat?(num) ; C( t4 r* Q  z2 o, c

3 y$ c( Y! n9 Q% a  ^1 F9 [判断与编号 num 对应的按钮是否重新被按下。$ t& O3 J; W; }1 k
和 trigger? 不同的是,其考虑了连续按下按钮时的重复。
* F; C; T# ]% K3 n3 h; X如果按下返回 true,未按下则返回 false。
) _& r7 I  l, ]' o# q2 X% v+ z$ c9 n: n. F, t9 Y1 n3 {
8 C+ t0 V; e3 U6 S4 A: v9 K
F1的說明有些糊裡糊塗的
# P$ o, h. w% W- B6 \) O直接觀察全鍵盤中的寫法= =6 X: G  y) p/ H/ @6 {7 l( z/ p% m8 p* `
7 Z3 a7 z: h0 \& B9 Y
推斷press?是「只要是按下的情況下就成立」
: {: ^" @( n% U0 H) I" ^% k+ u4 @+ B) b; c  R8 J  I3 Y
trigger?為「按下的那瞬間」條件成立,也就是說按下後若沒放開,不會再重新執行結果
6 }1 _! V- H8 H. S$ s0 E; M: u# V
# G& F+ n7 k3 Z1 U  M5 rrepeat?則是按下後@R_Key_Repeat[rkey] 會+1( K5 |0 e1 x# C: Y8 b  x
當@R_Key_Repeat[rkey]的值大於設定且!@R_Key_Repeat[rkey].nil?) Y1 x' Y7 F; }# K  q; L9 P
@R_Key_Repeat[rkey]值會重新轉為0, m+ q/ f& i  |5 F, \2 r" S
且結果為true4 @9 m' R# q# X) j6 V7 p" Y
所以推斷為「持續按下按鍵一定時間後,結果成立」  t, k- T7 S3 w- p
# D3 E5 P9 w1 m: K, W" H
XAS_3.82中判斷武器 def right_hand_button_update 中也是用 trigger? 來判斷) R& l/ K0 G; D0 j
回复

使用道具 举报

梦石
0
星屑
672
在线时间
2184 小时
注册时间
2009-12-6
回帖
571

开拓者

发表于 2012-8-24 18:55:31 | 显示全部楼层
serena718 发表于 2012-8-24 18:26 & X& x7 ?2 c' X. e0 P0 E: J; X
這是F1中關於Input內的說明
7 b/ R; n1 |: H  D' D) _% g
" t7 c& ?' k0 B1 T. n) F# g! |Input.press?(num)

8 C4 n4 r2 e% A您没有看过LZ的工程……
. O4 l; Z4 W, ^# {3 \3 n: Z/ V% P4 J2 J
这些基础的我当然知道的说," B5 G0 G, d0 u6 X& P
就是顶楼提到的改键脚本是难题,
& Y% F# I- A# D5 ~' R
; l+ d- p, ?+ g4 e他相当于把这些条件都重置了……
往事简直不堪回首,稍微做点想做的事吧
回复

使用道具 举报

梦石
0
星屑
687
在线时间
1808 小时
注册时间
2009-7-12
回帖
416
发表于 2012-8-24 19:45:00 | 显示全部楼层
改鍵腳本?. U" g: F" |8 @! f: F' H: O
是像網遊那樣自定義按鍵那種嗎?
回复

使用道具 举报

梦石
0
星屑
672
在线时间
2184 小时
注册时间
2009-12-6
回帖
571

开拓者

发表于 2012-8-24 20:31:47 | 显示全部楼层
serena718 发表于 2012-8-24 19:45 ( P6 `& S5 y& z$ n3 g. T1 M
改鍵腳本?
5 A# d6 w! X  r7 A1 i2 @6 G! F0 E3 h是像網遊那樣自定義按鍵那種嗎?

" E! i7 c6 H# y1 I) X3 X; ~' K是啊。# O3 [+ x3 d& K) u
默认的、全键盘的、改键的
' H5 ]  x5 v. h三种类似Input.press?这种判定的写法,我彻底混乱了……

点评

基本上用了全鍵盤,默認的算法應該就廢掉了吧  发表于 2012-8-25 00:52
留一種版本的Input判斷就好了吧,最好整合在一起,我倒覺得要弄改鍵的話,得動到很多全局變量的預感……  发表于 2012-8-25 00:51
往事简直不堪回首,稍微做点想做的事吧
回复

使用道具 举报

梦石
7
星屑
2585
在线时间
567 小时
注册时间
2009-4-30
回帖
228
 楼主| 发表于 2012-9-28 01:39:53 | 显示全部楼层
抱歉,前阵子比较忙碌,一个月多没上线,
2 e% j6 M! d  A4 {现在才回复这篇内容。
0 Y# j4 I4 K9 B1 n& E# ?% p
: R2 R' P- Q" n7 N& ?6 \& ?0 h5 x因为改键要动到太多,果然玩家还是用作者的按键玩吧~
回复

使用道具 举报

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本发帖返回顶部