![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Sep 2008
Сообщений: 21
|
Продолжение темы: Переход по кадрам (клавиатурой)
http://www.flasher.ru/forum/showthread.php?t=119432 Доброе утро! Простите, что я создаю новую тему с тем же вопросом. Просто я не получил ответа, а тема моя оказалась уже на 3 вкладке. Надеюсь сейчас получу ответ. Тут ведь светлые умы России (а может даже и СНГ) по флэшу ![]() stop();
//строгая типизация переменной
var i:Number = _currentframe; // первый кадр
var j:Number = _totalframes; // последний кадр
//определяем функцию goNextFrame()
function goNextFrame() {
if (i<j) {
nextFrame();
i = i + 1;
}
}
//определяем функцию goPrevFrame()
function goPrevFrame() {
if (i>1) {
prevFrame();
i = i - 1;
}
}
var keyListener_obj:Object = new Object();
keyListener_obj.onKeyDown = function() {
switch (Key.getCode()) {
case Key.SPACE :
goNextFrame();
break;
case Key.LEFT :
goPrevFrame();
break;
case Key.RIGHT :
goNextFrame();
break;
}
}
Key.addListener(keyListener_obj);
//назначаем ссылку на функцию обработчику событий кнопки onPress
next_btn.onPress = goNextFrame;
//назначаем ссылку на функцию обработчику событий кнопки onPress
prev_btn.onPress = goPrevFrame;
←→←→←→←→←→←→ и можете продолжать дальше или ←←→→←←→→←←→→ и можете продолжать дальше в итоге вы будете видеть только 1 и последний кадр. Как сделать, чтобы клавиатура работала! ![]() Нет она у меня работает, т.к. я пишу, но в проге она не делает что я хочу. Я так думаю, что я в коде допустил ошибку. Заранее спасибо за ответ!!! |
|
|||||
stop(); if (init == undefined) { someListener = new Object(); someListener.onKeyDown = function() { if (Key.isDown(Key.LEFT) || Key.isDown(Key.UP)) { _level0.prevFrame(); } else if (Key.isDown(Key.RIGHT) || Key.isDown(Key.DOWN)) { _level0.nextFrame(); } }; Key.addListener(someListener); init = 1; } //определяем функцию goNextFrame() function goNextFrame() { _level0.nextFrame(); } //определяем функцию goPrevFrame() function goPrevFrame() { _level0.prevFrame(); } //назначаем ссылку на функцию обработчику событий кнопки onPress next_btn.onPress = goNextFrame; //назначаем ссылку на функцию обработчику событий кнопки onPress prev_btn.onPress = goPrevFrame; Последний раз редактировалось KiL33; 26.12.2008 в 10:37. |
|
|||||
|
Регистрация: Sep 2008
Сообщений: 21
|
Спасибо, теперь все работает!!!
Я задам 2 глупых вопроса: 1, почему тот метод не работает? 2. объясните пожалуйста, что во 2 коде? |
|
|||||
|
listener
|
Ваш метод работает, если не делать лишнего:
stop();
//строгая типизация переменной
var i:Number = _currentframe;
// первый кадр
var j:Number = _totalframes;
// последний кадр
//определяем функцию goNextFrame()
function goNextFrame() {
if (i<j) {
nextFrame();
i = i+1;
}
}
//определяем функцию goPrevFrame()
function goPrevFrame() {
if (i>1) {
prevFrame();
i = i-1;
}
}
onKeyDown = function () {
switch (Key.getCode()) {
case Key.SPACE :
goNextFrame();
break;
case Key.LEFT :
goPrevFrame();
break;
case Key.RIGHT :
goNextFrame();
break;
}
};
Key.addListener(this);
//назначаем ссылку на функцию обработчику событий кнопки onPress
next_btn.onPress = goNextFrame;
//назначаем ссылку на функцию обработчику событий кнопки onPress
prev_btn.onPress = goPrevFrame;
stop();
prev_btn.onPress = function() {
prevFrame();
};
next_btn.onPress = function() {
nextFrame();
};
onKeyDown = function (btn) {
switch (Key.getCode()) {
case Key.SPACE :
nextFrame();
break;
case Key.LEFT :
prevFrame();
break;
case Key.RIGHT :
nextFrame();
break;
}
};
Key.addListener(this);
case Key.LEFT : trace(Key._listeners.length); goPrevFrame(); break; case Key.RIGHT : trace(Key._listeners.length); goNextFrame(); break; Цитата:
Код из пердыдущего поста как раз посвоему решал эту проблему. Тут тоже создается совершенно ненужный объект-листенер, но только один раз по флагу init, на счастье, видимо. Цитата:
Последний раз редактировалось alexcon314; 27.12.2008 в 09:42. |
|
|||||
|
Это был пример из хэлпа))
|
|
|||||
|
Регистрация: Sep 2008
Сообщений: 21
|
Спасибо большое за объяснение!
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:40. |
|
|
« Предыдущая тема | Следующая тема » |
|
|