Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Проблема с выполнением функции (http://www.flasher.ru/forum/showthread.php?t=89519)

DesArt2006 18.12.2006 00:46

Проблема с выполнением функции
 
Задача:
На страничке есть checkbox и мувик. Ставлю флажок, в мувик передается имя checkbox'a. Параметр передается (проверила через Dynamic Text-> Var). Но мне нужно, чтобы кнопка исчезала по этому действию. Попробовала сделать функцию, где n-переданный из javascript параметр.
Код:

//просто для теста
function test(n) {
if (n==129) {
button1._visible=false;
}
}

[iNils: Для оформления своего кода, надо использовать теги [code][/code]]

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

aksios 18.12.2006 00:59

Код:

n=129;
function test() {
if (n==129) {
button1._visible=false;
}
}
test(n);

И в чем проблем?:boredom:

DesArt2006 18.12.2006 02:21

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

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

Kikasso 18.12.2006 03:09

почитай про watch
или addProperty
Суть в том, что при изменении переменной вызывается функция.
ЗЫ. из js наверняка придет строка! Сравнивать ее с цифрой опрометчиво.

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

MOHCTEP 18.12.2006 03:26

Код:

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++;
}

Может это ам поможет?

aksios 18.12.2006 06:50

Цитата:

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

Да почему же вряд ли?
Вы пишите:
Код:

Параметр передается (проверила через Dynamic Text-> Var).
Я написал исправленый рабочий вариант - пишите енто дело на основной временой шкале на отдельном слое и функция будет вызываться каждый раз, как мувик проигрываеться заново. test(n); для убедительности можно запускать и в setInterval - но по моему, для вашего случая это избыточно.

Kikasso 18.12.2006 07:30

aksyos, а чем вас watch не устраивает? Специально придумано, параметр затронут - функция вызвана. Не в каждом кадре, не тогда когда мувик проиграется, а именно тогда, когда надо.

aksios 18.12.2006 07:49

Цитата:

Сообщение от Kikasso
aksyos, а чем вас watch не устраивает? Специально придумано, параметр затронут - функция вызвана. Не в каждом кадре, не тогда когда мувик проиграется, а именно тогда, когда надо.

Да меня ваще все устраивает, я въехать не могу, как без конкретного примера можна медитировать ;) - цель не оправдывает средства.

Kikasso 18.12.2006 08:10

Цитата:

я въехать не могу, как без конкретного примера можна медитировать
Медитация - это когда рисуешь точку, две недели в нее смотришь, пока весь мир не исчезанет и останется только эта точка, и в этот момент точка становится всем миром, и все становится понятно, даже то о чем не подозревал. А вы говорите - конкретный пример.
Автор, и правда, давайте чтоли примерчик чтоли.


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

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