Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.12.2008, 13:34
Evgeny_Flash_8 вне форума Посмотреть профиль Отправить личное сообщение для Evgeny_Flash_8 Найти все сообщения от Evgeny_Flash_8
  № 1  
Ответить с цитированием
Evgeny_Flash_8

Регистрация: Sep 2008
Сообщений: 21
Question Переход по кадрам (клавиатурой)

Продолжение темы: "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;

Старый 20.12.2008, 14:32
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Код:
case Key.SPACE :
        goNextFrame();
Для вызова функции используется оператор скобки.
Код:
case Key.RIGHT :
    function goNextFrame;
    break;
Даже не знаю что здесь имелось в виду, как и во второй строчке - onEnterFrame
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 20.12.2008 в 14:37.
Старый 20.12.2008, 19:42
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 3  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
уже писал в той теме..
next_btn.onPress = goNextFrame;
в этом контексте означает, что при нажатии кнопки будет попытка выполнить
goNextFrame() "от лица " next_btn, т.е. next_btn.nextFrame(); и пр., поэтому и мимо..

Старый 22.12.2008, 18:09
Evgeny_Flash_8 вне форума Посмотреть профиль Отправить личное сообщение для Evgeny_Flash_8 Найти все сообщения от Evgeny_Flash_8
  № 4  
Ответить с цитированием
Evgeny_Flash_8

Регистрация: Sep 2008
Сообщений: 21
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Код:
case Key.SPACE :
        goNextFrame();
Для вызова функции используется оператор скобки
Ура! Работает! С одним вопросом помогли разобраться. Спасибо большое!!!

Цитата:
Сообщение от Wolsh Посмотреть сообщение
Код:
case Key.RIGHT :
    function goNextFrame;
    break;
Не работает, но мне уже не надо!


Цитата:
Сообщение от Wolsh Посмотреть сообщение
[font=monospace]
[/FONTДаже не знаю что здесь имелось в виду, как и во второй строчке - onEnterFrame
Эксперементировал, и забыл стереть, когда сюда помещал!

Цитата:
Сообщение от silin Посмотреть сообщение
уже писал в той теме..
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;
Помогите пожалуйста. Этот скрипт тестирование не проходит
Вложения
Тип файла: zip 4 способ + клава.zip (7.2 Кб, 45 просмотров)


Последний раз редактировалось iNils; 24.12.2008 в 13:03.
Создать новую тему Ответ Часовой пояс GMT +4, время: 18:31.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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