PDA

Просмотр полной версии : kak to ja uzhe predlagal...


yurail
14.11.2001, 15:42
vikladivat prostie no interesnie kodi....
vot sam i vikladivayu......

uveren mnogih interesuet vopros: kak sdelat podobie windowskih command CTRL+chto to....

vot napisal ... polzuites.....

sozdaite na scene text pole s variable: _root.q ... eto prosto dlja proverki....

zatem zdelaite pustoi MC i na nego poveste sleduyushii cod:


onClipEvent (load) {
function getParam (a) {
_root.q = "Ctrl + " add a;
ctrl = false;
}
}
onClipEvent (keyDown) {
if (Key.isDown(Key.CONTROL)) {
ctrl = true;
}
}
onClipEvent (enterFrame) {
if (ctrl == false) {
_root.q = "";
}
}
onClipEvent (enterFrame) {
if (ctrl == true) {
if (Key.isDown(90)) {
getParam("Z");
} else if (Key.isDown(88)) {
getParam("X");
} else if (Key.isDown(67)) {
getParam("C");
}
} else {
ctrl = false;
}
}
onClipEvent (keyUp) {
ctrl = false;
}


i u vas est standartnii CTRL+Z, X, C.....
deistvijam im naznachayut v function "getParam"....

udachi

Fisher
15.11.2001, 12:33
Тогда уж лучше так.
onClipEvent (keyDown) {
if ((Key.getCode()==17)&&(!c)) {
c = 1;
}
}
onClipEvent (keyUp) {
if ((Key.getCode()==17)&&(c)) {
c = 0;
}
}
onClipEvent (enterFrame) {
if (c) {
if ((Key.getCode()==67)&&cc<>67) {
trace ("Ctrl+C");
cc = 67;
} else if ((Key.getCode()==86)&&cc<>86) {
trace ("Ctrl+V");
cc = 86;
}
}
}
Здесь отработка процедуры по нажатию происходит только один раз в отличии от твоего варианта. :) Тестировать ессесно во внутреннем плэере.

yurail
15.11.2001, 12:45
nifiga sebe...
rabotaet cherez raz.. dazhe cherez dva....

Fisher
15.11.2001, 13:07
Нормально работает :) У меня при тестировании сбоев не было - уже в генератор воткнул. Просто на enterFrame изначально не хотелось вешать - чтобы проц не грузить. Но здесь ты прав без enterFrame не обойтись. А вот что бы все равно не сильно перерабатывать я еще и проверяю чтобы отработалось только один раз. Просто здесь бутет отрабатываться только одно нажатие искомой комбинации.
зы Ну еще можно добавить одну строку в
onClipEvent (keyUp) {
if ((Key.getCode()==17)&&(c)) {
c = 0;
cc = 0;
}
}

yurail
15.11.2001, 13:15
Pash, nu ne rabotaet u menja tvoi kod......
srabativaet odin raz iz 5 ...........
nu ubei menja..... :-)

yurail
15.11.2001, 13:18
o..
zarabotalo...
no kak to tormozit......
kak budto cherez sekundu srabativaet

Fisher
15.11.2001, 13:26
:) :) :) Утром в газете - вечером в куплете :p

gOloVasTicK '~
15.11.2001, 18:45
Вот мужики, зацените :)
На вашу же тему. Но так как многие комбинации являются системными работает довольно странно :) Например Ctrl+q - quit, a Ctrl+a ловит только кейАп :)

gOloVasTicK '~
15.11.2001, 18:46
Аттач забыл :)

gOloVasTicK '~
15.11.2001, 18:48
Да! Совсем забыл сказать: "Вы старые извращенцы" ;)
Нафига ЕнтерФрейм?????????????

Fisher
15.11.2001, 19:36
Во молодеж борзая пошла :cool: ! Ты зачем себе каунтер накрутил? Для солидности? :p

gOloVasTicK '~
15.11.2001, 19:43
Ну дык :) Видишь какой я теперь солидный стал :D :cool:
МОЛОДЫМ ВЕЗДЕ У НАС ДОРОООООГААААА!!!
СТАРИКАМ ВЕЗДЕ У НАС ПОЧЕТ!!!! ;) :p :D
Шучу я :) Настроение у меня хорошее, а топиков нет :(