Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   отловить нажатие клавишь и заставить реагировать на них мой мувик (http://www.flasher.ru/forum/showthread.php?t=53640)

Mr.Georgiy 13.01.2004 18:38

Простой вопрос =)
 
всем Привет )
у меня простой вопросик ! Как в седьмой Флешке отловить нажатие клавишь и заставить реагировать на них мой мувик ? :) всем заранее спасибо ! =) если кто то сочтёт меня ламером прошу оставить это при себе :)

Jlekc 13.01.2004 18:59

Цитата:

Как в седьмой Флешке..
так панимаю работал с предыдушей версией, могу заявить нечего не изменилась

Но коль запамятовал, пиши так:
Код:

this.onKeyDown = function () {
        if (Key.isDown (Key.UP)) {
                myFunction()
        }
}

ЗЫ
Цитата:

...прошу оставить это при себе
Дык лу4ше сам молчал бы :)

Mr.Georgiy 13.01.2004 20:11

Jlekc , Спасибо за столь быстрый ответ :)

Mr.Georgiy 13.01.2004 20:35

ой ... поблагодарил раньше времени .. не чё не получилося у меня .. почему не знаю ...
пишу в слое ACTIONS на всех кадрах -

this.onKeyDown = function () {
if (Key.isDown (Key.UP)) {
trace(1);
}
}

проверяю .. нажимаю клавишу UP ... и не чё не происходит ... вы если что простите .. я новичёк ... :(

silin 13.01.2004 23:48

можно так : регистрируешь пустой мувик на Key, а из него управляешь
this.createEmptyMovieClip("cntr",1);
Key.addListener(cntr);
cntr.onKeyDown=function(){
trace("key # "+Key.getCode());//здесь твои действия
}

iLoveYou 13.01.2004 23:58

Цитата:

Оригинал написал(а) silin
можно так : регистрируешь пустой мувик на Key, а из него управляешь
this.createEmptyMovieClip("cntr",1);
Key.addListener(cntr);
cntr.onKeyDown=function(){
trace("key # "+Key.getCode());//здесь твои действия
}

а зачем для этого именно мувик?
кстати: почему _keyListener на cntr сменил?

Mr.Georgiy 14.01.2004 00:15

silin , Пасиба Огромное ) спас прям ) уже 24 часа мучиюся с этой задачей )) правда почему и зачем и что к чему мне пока не понятно но ещё какнить пойму .. буду терь более углублённо учить акшен )) ещё раз Пасибки ))

silin 14.01.2004 00:59

Цитата:

Оригинал написал(а) Sergey"iLoveYou"

а зачем для этого именно мувик?
кстати: почему _keyListener на cntr сменил?

- можно Object , мувик просто по привычке
-сменил просто так

iLoveYou 14.01.2004 01:14

:)

silin 14.01.2004 01:15

совершенно верно

Mr.Georgiy 31.03.2004 18:27

а чё делать нада чтоб он реагитровал на нажатие двух клавишь одновременно? =)

silin 31.03.2004 20:28

Key.addListener(kl={});
kl.onKeyDown=function(){
var k=Key.getCode();
switch(k){
case 65 : a=1;break;
case 66 : b=1;
}
if(a*b)trace("нажаты a и b")
}
kl.onKeyUp=function(){
var k=Key.getCode();
switch(k){
case 65 : a=0;break;
case 66 : b=0;
}
}

Mr.Georgiy 31.03.2004 23:10

спасибо =) ноесли не затруднит расскажите что да зачем ... не въезжаю как всё это работает =)

silin 31.03.2004 23:39

a и b -флаги на нажатие клавиш с кодами 65 и 66 ('a' и' b')
смотрим какая клавиша нажата(отпущена), высталяем соотвествующий флаг
ну дальше понятно, полагаю

Mr.Georgiy 31.03.2004 23:46

понял! но мне нада другое не много... сделал я функцию которая реагирует нажатию одной кнопки ..... сделал другую .... если более подробно на примере то одна стрелка вверх мол машинка едет вперёд а другая поворот например на лево .... ну едем вперёд и не отпуская газ мы хотим повернуть налево ... нажимаем клавишу и тут хрен тебе .... он забыл о том что нажата другая клавиша чтобю при этом газовать ... ну короче вроде ясно в чём проблоема ... нада чтоб одно другому не мешалоа не чтоб реагировал только тогда когда нажаты именно обои сразу .. блин ... написал кучу слов заменить которые мона двумя словами .. но уже написал .. впадлу жать BackSpace =)

silin 01.04.2004 00:07

car.drive=function(d){
this._x+=d*Math.sin(Math.PI*this._rotation/180);
this._y-=d*Math.cos(Math.PI*this._rotation/180);
}
car.onEnterFrame=function(){
if(Key.isDown(Key.UP)) this.drive(2);
if(Key.isDown(Key.DOWN)) this.drive(-2);
if(Key.isDown(Key.LEFT)) this._rotation--;
if(Key.isDown(Key.RIGHT)) this._rotation++;
}

Mr.Georgiy 01.04.2004 00:17

почему всё что кажеться в начале сложным оказываеться в конце лёгким ? :) а мона таким образом проследить отпускание клавишь ?

nuran 01.04.2004 09:25

По моему нет, хотя за базар не отвечаю, глубоко не копал.

Ser D 01.04.2004 19:24

Цитата:

[i]а мона таким образом проследить отпускание клавишь ? [/b]
car.onEnterFrame=function(){
if(Key.isDown(Key.UP)){ this.drive(2)}else{trace("ok")}
}

попробуй...

silin 01.04.2004 23:17

Key.addListener(car);
car.onKeyUp=function(){
if(Key.getCode()==38) trace("Up отпущена");
}

Mr.Georgiy 02.04.2004 00:29

silin я так и зделал =) спасиб всем .... всё ... тема думаю закрыта =)

adskii 26.09.2006 19:45

Цитата:

Сообщение от Jlekc
Код:

this.onKeyDown = function () {
        if (Key.isDown (Key.UP)) {
                myFunction()
        }
}


извините а что такое this
короче я так понял что при нажатии на UP выполняется действие мувика так?
разъясните поподпроднее а тоя непонятливый)
и что аткое function = () ?

D12 26.09.2006 23:53

Ха - ха - ха =)

Потрясающие ответы : )

_sestra_ 27.09.2006 12:30

Ребят, пожалуйста! Все кто говорит про "зьис" и "функтион" не засоряйте просторы актион стрипта =) Идём покарять просторы "Общие вопросы"


Часовой пояс GMT +4, время: 14:03.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.