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

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

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

Регистрация: Dec 2006
Сообщений: 4
По умолчанию Проблема с выполнением функции

Задача:
На страничке есть checkbox и мувик. Ставлю флажок, в мувик передается имя checkbox'a. Параметр передается (проверила через Dynamic Text-> Var). Но мне нужно, чтобы кнопка исчезала по этому действию. Попробовала сделать функцию, где n-переданный из javascript параметр.
Код:
//просто для теста
function test(n) {
if (n==129) {
button1._visible=false;
}
}
[iNils: Для оформления своего кода, надо использовать теги [code][/code]]

, но в var похоже функцию с параметром нельзя присвоить.
Как быть, может у кнопки есть какое-нибудь событие по которому можно было бы функцию вызвать c переданным параметром?
Надеюсь описала понятно. Помогите, нужно очень срочно, уже сижу часа 4 парюсь.


Последний раз редактировалось iNils; 18.12.2006 в 08:27.
Старый 18.12.2006, 00:59
aksios вне форума Посмотреть профиль Отправить личное сообщение для aksios Найти все сообщения от aksios
  № 2  
Ответить с цитированием
aksios
loading 50%
 
Аватар для aksios

Регистрация: Jun 2005
Адрес: I am where I should be
Сообщений: 3,567
Отправить сообщение для aksios с помощью ICQ
Код:
n=129;
function test() {
if (n==129) {
button1._visible=false;
}
}
test(n);
И в чем проблем?

Старый 18.12.2006, 02:21
DesArt2006 вне форума Посмотреть профиль Отправить личное сообщение для DesArt2006 Найти все сообщения от DesArt2006
  № 3  
Ответить с цитированием
DesArt2006

Регистрация: Dec 2006
Сообщений: 4
Проблема в том, как вызвать эту функцию, откуда? чтобы функция сработала, наверное какое-то событие должно быть, или я передаю из JS параметр, пишу функцию прямо в таком виде в Action первого попавшегося слоя и все должно работать? Думаю вряд ли. Вникните пожалуйста в текст проблемы.

Может я что-то не правильно описываю?
checkbox на странице html, кнопка в мувике, нужно ее сделать невидимой
передаю параметр в мувик (это id checkboxa).
Дальше думаю алгоритм такой:
Если параметр равен такому-то значению, сделать кнопку невидимой.
Где это нужно написать?


Последний раз редактировалось DesArt2006; 18.12.2006 в 02:24.
Старый 18.12.2006, 03:09
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 4  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
почитай про watch
или addProperty
Суть в том, что при изменении переменной вызывается функция.
ЗЫ. из js наверняка придет строка! Сравнивать ее с цифрой опрометчиво.

сделать кнопку невидимой можно и напрямую джаваскриптом, только надо путь указывать в слеш-нотации и свойство указать по-хитрому. Поройся на адобе, может можно и функцию напрямую вызвать. Рыть надо в этих краях:
http://www.adobe.com/support/flash/p...hflash_04.html
Там написано, что методы для 5-ки, это просто они так часто обновляют инфу. Все работает.


Последний раз редактировалось Kikasso; 18.12.2006 в 03:39.
Старый 18.12.2006, 03:26
MOHCTEP вне форума Посмотреть профиль Отправить личное сообщение для MOHCTEP Найти все сообщения от MOHCTEP
  № 5  
Ответить с цитированием
MOHCTEP

Регистрация: Dec 2002
Адрес: Живу вот где-то
Сообщений: 493
Код:
var chk=0;// Переменная, которую будем отслеживать
var endStatus=129;//Значение, при котором пропадает кнопка
this.watch('chk', watcher);

function watcher(prop, oldVal, newVal){
	if(newVal==endStatus){
		my_btn._visible=false;
		this.onEnterFrame=null;
	}
	trace(newVal);
	return newVal;
}
//Моделируем событие изменения значения переменной
this.onEnterFrame=function(){
	chk++;
}
Может это ам поможет?

Старый 18.12.2006, 06:50
aksios вне форума Посмотреть профиль Отправить личное сообщение для aksios Найти все сообщения от aksios
  № 6  
Ответить с цитированием
aksios
loading 50%
 
Аватар для aksios

Регистрация: Jun 2005
Адрес: I am where I should be
Сообщений: 3,567
Отправить сообщение для aksios с помощью ICQ
Цитата:
Сообщение от DesArt2006
Проблема в том, как вызвать эту функцию, откуда? чтобы функция сработала, наверное какое-то событие должно быть, или я передаю из JS параметр, пишу функцию прямо в таком виде в Action первого попавшегося слоя и все должно работать? Думаю вряд ли. Вникните пожалуйста в текст проблемы.
Да почему же вряд ли?
Вы пишите:
Код:
Параметр передается (проверила через Dynamic Text-> Var).
Я написал исправленый рабочий вариант - пишите енто дело на основной временой шкале на отдельном слое и функция будет вызываться каждый раз, как мувик проигрываеться заново. test(n); для убедительности можно запускать и в setInterval - но по моему, для вашего случая это избыточно.

Старый 18.12.2006, 07:30
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 7  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
aksyos, а чем вас watch не устраивает? Специально придумано, параметр затронут - функция вызвана. Не в каждом кадре, не тогда когда мувик проиграется, а именно тогда, когда надо.

Старый 18.12.2006, 07:49
aksios вне форума Посмотреть профиль Отправить личное сообщение для aksios Найти все сообщения от aksios
  № 8  
Ответить с цитированием
aksios
loading 50%
 
Аватар для aksios

Регистрация: Jun 2005
Адрес: I am where I should be
Сообщений: 3,567
Отправить сообщение для aksios с помощью ICQ
Цитата:
Сообщение от Kikasso
aksyos, а чем вас watch не устраивает? Специально придумано, параметр затронут - функция вызвана. Не в каждом кадре, не тогда когда мувик проиграется, а именно тогда, когда надо.
Да меня ваще все устраивает, я въехать не могу, как без конкретного примера можна медитировать - цель не оправдывает средства.

Старый 18.12.2006, 08:10
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 9  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Цитата:
я въехать не могу, как без конкретного примера можна медитировать
Медитация - это когда рисуешь точку, две недели в нее смотришь, пока весь мир не исчезанет и останется только эта точка, и в этот момент точка становится всем миром, и все становится понятно, даже то о чем не подозревал. А вы говорите - конкретный пример.
Автор, и правда, давайте чтоли примерчик чтоли.

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

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

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


 


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


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