![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2006
Сообщений: 9
|
Уважаемые участники форума! Я, как начинающий пользователь флеш технологий и не достаточно хорошо разбирающийся в программе Макромедиа Флеш, прошу у вас помощи в расшифровке скрипта, использующийся для управления кнопкой во флеш ролике. Суть такова: кнопка к которой он применяется, в программе на стадии разработки ролика, содержится не в каждом фрейме, а распространяется на все сразу, как бы одним сплошным роликом лежит в отдельном слое; этот скрипт проще говоря, можно найти в одном из шаблонов презентаций в самой программе (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. |
|
|||||
|
1) код не форматированный (читать сложно)
2) название топика (читай правила)
__________________
I'm only happy when it rains. Waka Laka |
|
|||||
|
loading 50%
|
Учи англицкий - там все подробно закоментировано, а мы тут не бюро перевода.
|
|
|||||
|
у меня похожая проблема. Обычная 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. |
|
|||||
|
уже пробовал( не получается(
|
|
|||||
|
ещё актуально. Очень(
|
![]() |
![]() |
Часовой пояс GMT +4, время: 00:55. |
|
|
« Предыдущая тема | Следующая тема » |
|
|