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

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

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

Регистрация: Jan 2006
Сообщений: 9
Attention Блокировка кнопка в нужном кадре

Уважаемые участники форума! Я, как начинающий пользователь флеш технологий и не достаточно хорошо разбирающийся в программе Макромедиа Флеш, прошу у вас помощи в расшифровке скрипта, использующийся для управления кнопкой во флеш ролике. Суть такова: кнопка к которой он применяется, в программе на стадии разработки ролика, содержится не в каждом фрейме, а распространяется на все сразу, как бы одним сплошным роликом лежит в отдельном слое; этот скрипт проще говоря, можно найти в одном из шаблонов презентаций в самой программе (File>>New>>Template>>Presentations), который вписан в первый фрейм самого верхнего слоя "actions". (на сколько я разобрался, кнопки листания страниц презентации закреплены в этом скрипте и отключаются автоматически кнопки "вперед" и "назад" ,в зависимости твоего местонахождении в презентации, будь то первая или последняя ее страницы). Я прошу вас в общих чертах описать принцип действия скрипта, но желательно хотелось подробнее; почему "отключаются" кнопки и какое именно место скрипта управляет данным процессом. Заранее великодушно благодарю и привожу данный скрипт ниже!

Код:
// If not defined yet, 
if (isLoaded == undefined) {
	
	// Routine to move playhead to a new frame
	var updateFrame = function (inc) {
		
		var newFrame = _currentframe + inc;
		gotoAndStop(newFrame);
	
		if (_root._currentframe == 1) {
			backBtn._alpha = 50;
			backBtn.enabled = false;
		} else {
			backBtn._alpha = 100;
			backBtn.enabled = true;
		}
		if (_root._currentframe == _root._totalframes) {
			forwardBtn._alpha = 50;
			forwardBtn.enabled = false;
		} else {
			forwardBtn._alpha = 100;
			forwardBtn.enabled = true;	
		}
	}


	// When the forward button is pressed
	forwardBtn.onPress = function () {
		updateFrame(1);
	}

	// When the back button is pressed
	backBtn.onPress = function () {
		updateFrame(-1);
	}

	// When the keyboard keys are pressed
	var keyListener = new Object();
	keyListener.onKeyDown = function () {
		if (Key.isDown(37)) { 
			// Left
			updateFrame(-1);
		} else if (Key.isDown(38)) { 
			// Up
			updateFrame(-(_currentframe-1));
		} else if (Key.isDown(39)) { 
			// Right
			updateFrame(1);
		} else if (Key.isDown(40)) { 
			// Down
			updateFrame(_totalFrames + 1);
		}
	}
	Key.addListener(keyListener);	


	// Call updateFrame at first to get button states correct at start
	updateFrame();	
}

// Set loaded flag to prevent redefinition 
this.isLoaded = true;
stop();


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

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

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


 


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


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