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

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

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

Регистрация: Feb 2006
Сообщений: 10
По умолчанию Обновление Flashvars через 1 секунду

Доброго времени суток. У меня возникла вот такая проблема.

Дано:
Сайт, использующий jquery для динамической подгрузки данных.
В верхнем фрейме есть флэшка, куда при загрузке страницы я легко засылаю FlashVars данные. Дело в том, что при некоторых манипуляциях в других фреймах содержимое ролика должно менять, но без перезагрузки самого ролика. Я могу менять сами FlashVars с помощью JavaScript, но вот ролик в упор не хочет подменять эти самые данные новыми =(

Подскажите, можно ли вообще както задать ролику задачу пересчитывать FlashVars каждую секунду?

вот код ролика:
Код:
var main_url = "http://static.mysite.ru/";
	texta.text=_level0.user_name;
	user_hp.text=_level0.hp+" / "+_level0.max_hp
	user_mana.text=_level0.mana+" / "+_level0.max_mana
	
	_root.hp_bar._width = int(_level0.hp / _level0.max_hp*111);
	_root.mana_bar._width = int(_level0.mana / _level0.max_mana*88);

if(_level0.user_clan!="none"){
	_root.createEmptyMovieClip("container_mc1", 1);
	container_mc1.loadMovie(main_url + "flash/clans/" +_level0.user_clan + ".swf");
	container_mc1._x=15;
	container_mc1._y=18;
}

if(_level0.user_align!="none"){
	_root.createEmptyMovieClip("container_mc2", 2);
	container_mc2.loadMovie(main_url + "flash/clans/align_" +_level0.user_align + ".swf");
	container_mc2._x=158;
	container_mc2._y=18;
}
в ролике есть единственный кадр и несколько слоев для размещения динамический текстовых блоков.

Старый 05.05.2009, 19:38
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Данные FlashVars считываются единожды при инициализации ролика. Потому их менять бесполезно.
Для связи флеше с js есть класс ExternalInterface.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 05.05.2009, 20:42
NaFigator вне форума Посмотреть профиль Отправить личное сообщение для NaFigator Найти все сообщения от NaFigator
  № 3  
Ответить с цитированием
NaFigator

Регистрация: Feb 2006
Сообщений: 10
Цитата:
Сообщение от iNils Посмотреть сообщение
Данные FlashVars считываются единожды при инициализации ролика. Потому их менять бесполезно.
Для связи флеше с js есть класс ExternalInterface.
Прошу прощения, покопался яв документации, но всеравно недопонял =(
можно,чуточку поконкретнее?

Старый 05.05.2009, 20:46
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Что именно вы недопоняли?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 05.05.2009, 20:53
NaFigator вне форума Посмотреть профиль Отправить личное сообщение для NaFigator Найти все сообщения от NaFigator
  № 5  
Ответить с цитированием
NaFigator

Регистрация: Feb 2006
Сообщений: 10
1. как я понял нужно использовать дополнительный яваскрипт типа swfobject
2. а вот как нужно переписать код во флэшке не ясно =(
будут ли переменные так же храниться в _level0 ? Каким образом запрограммировать перезапись значений переменных через 1 секунду?

Старый 05.05.2009, 20:57
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
1. swfobject не имеет ни какого отношения к текущей задаче.
2. Внутри флеша пишете функцию, которую вызывает js, эта функция изменяет значения нужных вам параметров. Вызов функции раз в секунду делается через функцию setInterval.
То есть, js:setInterval -> js:function -> as:function -> as:variable
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 05.05.2009, 20:59
Stargazer вне форума Посмотреть профиль Отправить личное сообщение для Stargazer Найти все сообщения от Stargazer
  № 7  
Ответить с цитированием
Stargazer

Регистрация: Nov 2008
Сообщений: 528
Цитата:
Сообщение от NaFigator Посмотреть сообщение
1. как я понял нужно использовать дополнительный яваскрипт типа swfobject
Вы не в том направлении поняли.

ExternalInterface позволяет вам вызвать функцию js и получить из неё результат. Либо наоборот - позволяет зарегистрировать функцию as так, чтобы она была доступна из js.

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

Регистрация: Feb 2006
Сообщений: 10
точно! как передать одну переменную я примерно понял
Код AS1/AS2:
import flash.external.*;
 
ExternalInterface.addCallback("sendFromJS", null, recieveFromJS);
 
function recieveFromJS(t) {
	_root.theText.text = t;
}
Но теперь вопрос, можно ли передать массив? Если да, то как обращаться к членам массива? или придется передавать строку, а затем ее парсить?

По сути нужно передать 4 переменные.


Последний раз редактировалось NaFigator; 05.05.2009 в 21:41.
Старый 05.05.2009, 21:41
Stargazer вне форума Посмотреть профиль Отправить личное сообщение для Stargazer Найти все сообщения от Stargazer
  № 9  
Ответить с цитированием
Stargazer

Регистрация: Nov 2008
Сообщений: 528
Я нормально принимал переменную класса Object.

Старый 05.05.2009, 22:15
NaFigator вне форума Посмотреть профиль Отправить личное сообщение для NaFigator Найти все сообщения от NaFigator
  № 10  
Ответить с цитированием
NaFigator

Регистрация: Feb 2006
Сообщений: 10
тоесть по сути ассоциативный массив можно передать из яваскрипта во флэш?

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

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

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


 


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


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