カスタム キーマッピング用のコントロール ルームを作成しました。キーが複数のコントロールに割り当てられている場合、赤く表示されるという考えがありました。しかし、それは部分的にしか機能しません。
スポーン コード:
with(instance_create(64,64,obj_button_key)) {
mytext="UP: ";
myKEY=global.keyUP;
mytype=1;
}
with(...
scr_keymap_conflict(引数0):
var ii;
ii = 0;
if (argument0 == global.keyUP) ii+=1;
if (argument0 == global.keyDOWN) ii+=1;
if (argument0 == global.keyLEFT) ii+=1;
if (argument0 == global.keyRIGHT) ii+=1;
if (argument0 == global.keySPRINT) ii+=1;
if (argument0 == global.keyCROUCH) ii+=1;
if (argument0 == global.keyGRENADE) ii+=1;
if (argument0 == global.keyACTION) ii+=1;
if (argument0 == global.keyCHAT) ii+=1;
if (argument0 == global.keyMELEE) ii+=1;
if (argument0 == global.keyDROP) ii+=1;
if (ii > 1) {
return true;
}
描く:
if (active) {draw_set_color(c_yellow)}
else if (scr_keymap_conflict(myKEY)) {draw_set_color(c_red)}
else draw_set_color(c_gray);
...
scr_keymap_conflict(argument0)
無効な情報を与えることに問題があるようです。そのため、一部のボタンは赤くなりますが、一部のボタンは赤くなりません。たとえば、2 つのvk_space
コントロールがある場合、最初のコントロールは赤くなりますが、2 つ目は赤くなりません (私はdraw_set_color
ランダムな瞬間に別々のオブジェクトを上書きしているような感覚)。とにかく、global.key...
ASCII の実数値 (キーボード ショートカット) を保持します。この場合は重要ではありませんactive
。mytype
誰でもこれを修正する方法を知っていますか?