Форум 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.
Старый 23.05.2006, 23:24
Usnul вне форума Посмотреть профиль Отправить личное сообщение для Usnul Посетить домашнюю страницу Usnul Найти все сообщения от Usnul
  № 2  
Ответить с цитированием
Usnul
 
Аватар для Usnul

Регистрация: Mar 2001
Адрес: во сне
Сообщений: 2,701
Отправить сообщение для Usnul с помощью ICQ
1) код не форматированный (читать сложно)
2) название топика (читай правила)
__________________
I'm only happy when it rains.
Waka Laka

Старый 23.05.2006, 23:33
aksios вне форума Посмотреть профиль Отправить личное сообщение для aksios Найти все сообщения от aksios
  № 3  
Ответить с цитированием
aksios
loading 50%
 
Аватар для aksios

Регистрация: Jun 2005
Адрес: I am where I should be
Сообщений: 3,567
Отправить сообщение для aksios с помощью ICQ
Учи англицкий - там все подробно закоментировано, а мы тут не бюро перевода.

Старый 03.05.2008, 05:59
FK2703 вне форума Посмотреть профиль Отправить личное сообщение для FK2703 Найти все сообщения от FK2703
  № 4  
Ответить с цитированием
FK2703

Регистрация: Apr 2008
Адрес: Санкт-Петербург
Сообщений: 3
Отправить сообщение для FK2703 с помощью ICQ Отправить сообщение для FK2703 с помощью Skype™
у меня похожая проблема. Обычная Standard Presentation из Flash 8

Нужно, чтобы на 20ом слайде кнопка "вперёд" была неактивна. Пытался модифицировать вот так:
Код:
function updateButtons() {
	// Check for first screen condition
	if (this.firstSlide  == this.currentSlide )
	{
		backBtn.enabled = false;
		backBtn._alpha = 50;
	} 
         else 
	{
		backBtn.enabled = true;
		backBtn._alpha = 100;
	}
	
	if (this.slide20 = this.currentSlide)
	{
		forwardBtn.enabled = false;
		forwardBtn._alpha = 50;
	}
				
	// Check for first screen condition
	if (this.lastSlide  == this.currentSlide)
        {
		forwardBtn.enabled = false;
		forwardBtn._alpha = 50;
	} 
        else 
        {
		forwardBtn.enabled = true;
		forwardBtn._alpha = 100;
	 }	  
}

this.revealChild = function ()
{
	updateButtons();
}

this.addEventListener("revealChild", this);


в лучшем случае - просто не работает. В худшем - различные ошибки. Что я принципиально делаю не так?


ЗЫ форматировать не получилось из-за того, что движок форума режет отступы(


Последний раз редактировалось iNils; 03.05.2008 в 06:34.
Старый 03.05.2008, 22:10
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 5  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
може тут
Код:
if (this.slide20 = this.currentSlide)
Код:
if (this.slide20 == this.currentSlide)
__________________
: M F N W :

Старый 03.05.2008, 22:28
FK2703 вне форума Посмотреть профиль Отправить личное сообщение для FK2703 Найти все сообщения от FK2703
  № 6  
Ответить с цитированием
FK2703

Регистрация: Apr 2008
Адрес: Санкт-Петербург
Сообщений: 3
Отправить сообщение для FK2703 с помощью ICQ Отправить сообщение для FK2703 с помощью Skype™
уже пробовал( не получается(

Старый 11.05.2008, 15:17
FK2703 вне форума Посмотреть профиль Отправить личное сообщение для FK2703 Найти все сообщения от FK2703
  № 7  
Ответить с цитированием
FK2703

Регистрация: Apr 2008
Адрес: Санкт-Петербург
Сообщений: 3
Отправить сообщение для FK2703 с помощью ICQ Отправить сообщение для FK2703 с помощью Skype™
ещё актуально. Очень(

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:55.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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