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

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

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

Регистрация: Oct 2008
Адрес: Moscow
Сообщений: 130
Отправить сообщение для Fergus с помощью ICQ
По умолчанию Проблема то ли с передачей переменных в АС, то ли еще с чем...

Добрый день. Хочу сразу сказать, что пользовался поиском, читал хелп, гуглил. Разобраться так и не смог, поэтому и пишу сюда.
Я хочу сделать меню на АС3, да такое, чтоб кнопка активной страницы была отмечена.
Я пытаюсь передать переменные через html (в каждом разделе сайта передаются свои), например:
Код:
<param name="flashvars" value="page=news">
- это в тегах object и embed.

Дальше, мне нужно выяснить что там написано и занести в переменную currentPage соответствующую кнопку.
Вот как это выглядит у меня сейчас (выглядит, но не работает):
Код:
var page:String = LoaderInfo(this.root.loaderInfo).parameters.page;
switch (page) {
	case "news":
		currentPage = MovieClip(news_btn); break;
        ...
	default:
		page = MovieClip(index_btn);
		};
Сама по себе функция подсветки работает, к ней претензий нет. Но подсвечивает постоянно "дефолтную" index_btn.
Где же грабли?

Спасибо.

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

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
а вы трейсить пробюовали?
Вообще я всегда делаю вот так

flash.swf?data=something

а вытаскиваю вот так примерно

Код:
var userInfo:Object = LoaderInfo(stage.loaderInfo).parameters;
			API_ID=String(userInfo["api_id"]);
			USER_ID=String(userInfo["user_id"]);
			GROUP_ID=String(userInfo["group_id"]);
			VIEWER_ID=String(userInfo["viewer_id"]);
			VIEWER_TYPE=String(userInfo["viewer_type"]);

Старый 14.10.2008, 18:05
AlexStukoff вне форума Посмотреть профиль Отправить личное сообщение для AlexStukoff Посетить домашнюю страницу AlexStukoff Найти все сообщения от AlexStukoff
  № 3  
Ответить с цитированием
AlexStukoff
 
Аватар для AlexStukoff

Регистрация: Dec 2007
Адрес: Stavropol
Сообщений: 65
Отправить сообщение для AlexStukoff с помощью ICQ
Во-первых используйте
Ctrl + Alt + Enter. Явится отладчик. Он хороший

и если мне не изменяет память, синтаксис вот такой должен быть:

Код:
<param name="page" value="news" />
__________________
coming soon...

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

Регистрация: Oct 2008
Адрес: Moscow
Сообщений: 130
Отправить сообщение для Fergus с помощью ICQ
Не помогло

Отладчик слабо помогает, т.к. флешу не передаются переменнные когда я его запускаю. Мне же для этого надо его в html всунуть...
А можно как-то имитировать передачу переменных в самом флеше, не помещая в html?


Последний раз редактировалось Fergus; 14.10.2008 в 18:56.
Старый 14.10.2008, 21:40
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 5  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
смотри внимательно есть ли root, там где ты смотришь root.loaderInfo.parameters
root будет определен только после того как экземпляр попадет в дисплейЛист
т.е. смотреть-то надо по Event.ADDED_TO_STAGE
да и лучше наверное stage.loaderInfo.parameters, (мутный он какой-то этот root)

имитировать передачу нет смысла, работать же должно в html..
посмотреть трейс можно в FF через http://sephiroth.it/firefox/flashtracer/
или просто выводить что нужно во временный текстфилд

Старый 15.10.2008, 11:29
Fergus вне форума Посмотреть профиль Отправить личное сообщение для Fergus Найти все сообщения от Fergus
  № 6  
Ответить с цитированием
Fergus

Регистрация: Oct 2008
Адрес: Moscow
Сообщений: 130
Отправить сообщение для Fergus с помощью ICQ
Спасибо!

Старый 15.10.2008, 12:51
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 7  
Ответить с цитированием
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
Так в чем была проблема?
__________________
Дело не в тебе

Старый 15.10.2008, 13:31
Fergus вне форума Посмотреть профиль Отправить личное сообщение для Fergus Найти все сообщения от Fergus
  № 8  
Ответить с цитированием
Fergus

Регистрация: Oct 2008
Адрес: Moscow
Сообщений: 130
Отправить сообщение для Fergus с помощью ICQ
Проблему я выявил - я не могу получить переданные мне переменные. АС3 их не видит почему-то.
Я обратился к первоисточнику, все оттуда скопировал один в один, но все равно это не срабатывает. То ли я глобально что-то делаю не так, то ли я не знаю что...

Старый 15.10.2008, 14:53
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 9  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Вот есть срабатывающий
http://dnadillo.dn.ua/fla/js-swf-html/js-swf-html.html


Последний раз редактировалось Alex Lexcuk; 15.10.2008 в 14:57.
Старый 15.10.2008, 17:15
Fergus вне форума Посмотреть профиль Отправить личное сообщение для Fergus Найти все сообщения от Fergus
  № 10  
Ответить с цитированием
Fergus

Регистрация: Oct 2008
Адрес: Moscow
Сообщений: 130
Отправить сообщение для Fergus с помощью ICQ
Alex Lexcuk, спасибо, это помогло.

В качестве резюме для тех кому нужно передать переменную из html в actionScript 3.0 (вдруг кто поиском наткнется):
В хтмл помещаем swf в качестве swfobject (сгенерировать для себя код можно тут, а скачать скрипт - тут.)

После чего в actionScript3 эти переменные доступны так:
stage.loaderInfo.parameters.varName
где varName - имя переменной, заданное в генераторе.
__________________
Jedem das Seine

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

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

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


 


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


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