Просмотр полной версии : Переход по кадрам (клавиатурой)
Evgeny_Flash_8
20.12.2008, 13:34
Продолжение темы: "3 способа написания кода для кнопки"
http://flasher.ru/forum/showthread.php?t=119431
Работает!
var i:Number=1;
var j:Number=6;
var keyListener_obj:Object = new Object();
keyListener_obj.onKeyDown = function() {
switch (Key.getCode()) {
case Key.SPACE :
if (i<j) {
nextFrame();
i=i+1;
}
break;
case Key.LEFT :
if (i>1) {
prevFrame();
i=i-1;
}
break;
case Key.RIGHT :
if (i<j) {
nextFrame();
i=i+1;
}
break;
}
}
Key.addListener(keyListener_obj);
Не работает
stop();
onEnterFrame
var i:Number = 1;
var j:Number = 6;
function goNextFrame() {
if (i<j) {
nextFrame();
i = i + 1;
}
}
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 :
function goNextFrame;
break;
}
}
Key.addListener(keyListener_obj);
next_btn.onPress = goNextFrame;
prev_btn.onPress = goPrevFrame;
case Key.SPACE :
goNextFrame();Для вызова функции используется оператор скобки.
case Key.RIGHT :
function goNextFrame;
break;Даже не знаю что здесь имелось в виду, как и во второй строчке - onEnterFrame ;)
уже писал в той теме..
next_btn.onPress = goNextFrame;
в этом контексте означает, что при нажатии кнопки будет попытка выполнить
goNextFrame() "от лица " next_btn, т.е. next_btn.nextFrame(); и пр., поэтому и мимо..
Evgeny_Flash_8
22.12.2008, 18:09
case Key.SPACE :
goNextFrame();Для вызова функции используется оператор скобки
Ура! Работает! С одним вопросом помогли разобраться. Спасибо большое!!!
case Key.RIGHT :
function goNextFrame;
break;
Не работает, но мне уже не надо! :)
[FONT=monospace]
[/FONTДаже не знаю что здесь имелось в виду, как и во второй строчке - onEnterFrame ;)
Эксперементировал, и забыл стереть, когда сюда помещал!
уже писал в той теме..
next_btn.onPress = goNextFrame;
в этом контексте означает, что при нажатии кнопки будет попытка выполнить
goNextFrame() "от лица " next_btn, т.е. next_btn.nextFrame(); и пр., поэтому и мимо..
А это все теория, а на практике как? Я эту тему закрываю. А в той теме продолжу узнавать мехонизмы работы "button", как работает клавиатура РАЗОБРАЛСЯ.
Всем спасибо!
Добавлено через 3 минуты
Помещаю полный код, который работает. КЛАВИАТУРА только.
stop();
var i:Number = _currentframe;
var j:Number = _totalframes;
function goNextFrame() {
if (i<j) {
nextFrame();
i = i + 1;
}
}
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);
next_btn.onPress = goNextFrame; //пока не работает
prev_btn.onPress = goPrevFrame; //пока не работает
Люди, что я опять не так делаю???
Почему у меня при нажатии клавиш (на первом кадре, когда нажмешь LEFT), начинает комп тупить??? Он перепрыгивает через 1 кадр, потом через 2 кадра. А потом показывает 1 и последний кадр только.
Подскажите? Лучше ошибку в коде!
Прилагаю файл.
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;
Помогите пожалуйста. Этот скрипт тестирование не проходит :(
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.