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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

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

Регистрация: Jun 2010
Сообщений: 65
По умолчанию JS - AS(Flash):где кроется ошибка?

Добрый день друзья!
Помогите решить проблему:
JavaScript код:
Код:
<script>
function activateFlash(){
	var flash = window.flashMovie || document.flashMovie;
	flash.setVariable("val", 11);
}
</script>

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="200" height="200" id="flashMovie" align="middle">
	<param name="allowScriptAccess" value="sameDomain" />
	<param name="allowFullScreen" value="false" />
	<param name="movie" value="Untitled-3.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" />	<embed src="Untitled-3.swf" quality="high" bgcolor="#ffffff" width="200" height="200" name="Untitled-3" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />
	</object>
ActionScript код:
Код AS1/AS2:
_root.val = 10;//добавляю переменную в объект _root
_root.watch("val", setVal);
var setVal:Function = function():Void{
	tf.text = val;//в текстовом поле выводится измененная величина
}
но почему-то никаких действий не происходит... watch не срабатывает на смену значения val ни внутри AS ни в JS!
На что я не обратил внимание?!

Заранее спасибо!

Старый 12.07.2011, 17:21
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
может быть
Код AS1/AS2:
var setVal:Function = function(prop, prev, curr){
	trace( "setVal > prop : " + prop + ", prev : " + prev + ", curr : " + curr );
	tf.text = curr;//в текстовом поле выводится измененная величина
	return curr;
}

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

Регистрация: Jun 2010
Сообщений: 65
watch заработал! Существенно, если определение функции будет стоять перед использованием watch. Не так как в JS=)
Код AS1/AS2:
_root.val = 10;
var setVal:Function = function():Void{
	trace("function called!");
	tf.text = val;
}
_root.watch("val", setVal);
_root.val = 12;


Последний раз редактировалось Prometei1599; 12.07.2011 в 20:16.
Старый 12.07.2011, 20:19
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>> может мой пример не совсем корректный
ага, совсем не корректный
Код AS1/AS2:
var tf=_root.createTextField("tf",0,0,0,200,200);
var setVal:Function = function(prop, prev, curr){
	trace( "setVal > prop : " + prop + ", prev : " + prev + ", curr : " + curr );
	tf.text = curr;//в текстовом поле выводится измененная величина
	return curr;
}
_root.val = 10;
_root.watch("val", setVal);
_root.val = 12;

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

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

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


 


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


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