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

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

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

Регистрация: Mar 2012
Сообщений: 12
По умолчанию SWFAddress - проблема с настрокой - не работает автоматическая смена адреса

Возможно, кто-нибудь сможет помочь с настройкой SWFAddress (управление флешкой с помощью кнопок браузера).

На данный момент флешка выглядит так - http://www.shark.ru/sharknew/main.php
SWFAddress я подключала по образцу, скачанному вместе с папкой тут. Образец находится в папке /samples/cs3

В итоге, работает только ручной ввод адреса. Например, если ввести в адрес http://www.shark.ru/sharknew/main.php#/pos/, переход к нужному фрейму есть. Но не работает автоматическая смена адреса.

Код:

Код AS3:
//----------------первый кадр
 
/*
 * SWFAddress Flash CS3 Sample
 * http://www.asual.com/swfaddress/
 *
 * Created by Jon MacDonald
 * http://www.jonnymac.com/blog/
 */
 
import flash.system.Security;
 
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP;
 
var domain:String = LoaderInfo(this.root.loaderInfo).parameters.domain;
 
Security.allowDomain(domain);
Security.allowInsecureDomain(domain);
 
function enterFrame(e:Event){
    var bl:int = loaderInfo.bytesLoaded;
    var bt:int = loaderInfo.bytesTotal;
    if (bl && bt && bl == bt) {
        removeEventListener(Event.ENTER_FRAME, enterFrame);
        nextFrame();
    } else if (loading_mc.bar_mc) {
        loading_mc.bar_mc.scaleX = bl/bt;
    }
}
addEventListener(Event.ENTER_FRAME, enterFrame);
stop();
 
//----------------второй кадр
 
// SWFAddress actions
function btnClick(e:MouseEvent) {
    SWFAddress.setValue(e.target.deepLink);
}
function btnRollOver(e:MouseEvent) {
    SWFAddress.setStatus(e.target.deepLink);    
}
function btnRollOut(e:MouseEvent) {
    SWFAddress.resetStatus();
}
 
// SWFAddress handling
function handleSWFAddress(e:SWFAddressEvent) {
    try {
        if (currentFrame == 2 && e.value == '/') {
            play();
        } else {
            gotoAndStop('$' + e.value);
        }
    } catch(err) {
        gotoAndStop('$/error/');
    }
    var title:String = 'SWFAddress Website';    
    for (var i = 0; i < e.pathNames.length; i++) {
        title += ' / ' + e.pathNames[i].substr(0,1).toUpperCase() + e.pathNames[i].substr(1);
    }
    SWFAddress.setTitle(title);
}
SWFAddress.addEventListener(SWFAddressEvent.CHANGE, handleSWFAddress);
stop();
Файлы SWFAddress.as и SWFAddressEvent.as не меняла. Найти их можно тут /samples/cs3

По-моему, у меня проблема в том, что адрес не меняется при нажатии на кнопки разделов.
Я наугад попробовала в коде, где отсылаю к фреймам, прописать:


Код AS3:
index_7.addEventListener(MouseEvent.CLICK, play1);
 
function play1(Event:MouseEvent):void {
gotoAndStop(3);
SWFAddress.setValue("shark");
}
и т.п.
То есть добавила в имеющийся код навигации SWFAddress.setValue.
В итоге, при нажатии на эти кнопки меня выбрасывает на страницу error.
А как собраны кнопки в примере (файл website.fla) - не могу теперь понять.
То есть там есть
Код AS3:
function btnClick(e:MouseEvent) {
SWFAddress.setValue(e.target.deepLink);
}
Но в какой момент эта функция вызывается - не ясно. Слушатель нигде не добавляется, почему он в данном случае не нужен? И как к кнопкам привязываются определённые кадры, если у них даже инстанс-имена не заданы?

Кроме того, не могу понять, откуда берётся поле вокруг самой флешки при вставке её в html. По моей задумке, она должна была растягиваться на весь экран (1190х637). Может, это происходит потому, что я вставляю флешку через swfobject?


Последний раз редактировалось mooncar; 25.07.2012 в 20:26.
Старый 25.07.2012, 20:26
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
maritca,
1. Название темы должно раскрывать суть вопроса.
2. Не забываете также весь код оформлять тегами.
3. Одна тема - один вопрос!
__________________
Идите первым!

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

Теги
AS3 , swfaddress , кнопки
Опции темы
Опции просмотра

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

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


 


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


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