Форум программистов, компьютерный форум, киберфорум
ActionScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
16 / 16 / 0
Регистрация: 08.01.2011
Сообщений: 183
AS 2.0

Область видимости функции

13.09.2013, 14:38. Показов 690. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Есть класс, конструктор отрисовывает три кнопки, пытаюсь к событию Release привязать функцию из этого же класса, но внутри функцию почему-то уже не видно, вот пример:
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
class MainZkxMenu
{
    private var ServiceBtName:String = "service_bt";
    private var top_mcName:String = "top";
    private var top_txt:String = "top_txt";
    private var top_txt_y:Number = 35;
    private var top_txt_x:Number = 315;
 
    private var type_bt_y:Number = 120;
    private var type_bt_x_start:Number = 0;
    var city_bt = null;
    private var categories_bt:Object;
    private var search_bt:Object;
    private var city_bt_name:String = "city_bt";
    private var categories_bt_name:String = "categories_bt";
    private var search_bt_name:String = "search_bt";
    var type_buttons = new Array();
    
    function MainZkxMenu()
    {
        MainConstructor();
    }
    
    function MainConstructor()
    {
        var top_plazka = _root.attachMovie(top_mcName, top_mcName, _root.getNextHighestDepth());
        top_plazka.attachMovie(top_txt, "top_txt", top_plazka.getNextHighestDepth(), {_x:top_txt_x, _y:top_txt_y});
        
        var city = city_bt = _root.attachMovie(city_bt_name, city_bt_name, _root.getNextHighestDepth(), {_x:type_bt_x_start, _y:type_bt_y});
        type_bt_x_start += city_bt._width;
        city_bt.stop();
        type_buttons.push(city_bt);
        city_bt.onRelease = function()
        {
            [B][COLOR="Red"]trace(Bt_click);[/COLOR][/B]        }
 
        categories_bt = _root.attachMovie(categories_bt_name, categories_bt_name, _root.getNextHighestDepth(), {_x:type_bt_x_start, _y:type_bt_y});
        type_bt_x_start += categories_bt._width;
        categories_bt.stop();
        type_buttons.push(categories_bt);
        
        search_bt = _root.attachMovie(search_bt_name, search_bt_name, _root.getNextHighestDepth(), {_x:type_bt_x_start, _y:type_bt_y});
        type_bt_x_start += search_bt._width;
        search_bt.stop();
        type_buttons.push(search_bt);
    }
    
    function Bt_click()
    {
          Test();
    }
    
    function Test()
    {
        trace("Test");
    }
}
Вывод красного trace-а = undefined;
Если попытаться выпонить саму функцию, то ничего не срабатывает.

Подскажите, в чем проблема?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.09.2013, 14:38
Ответы с готовыми решениями:

Про область видимости
Пишу простенький вариант морского боя. Столкнулся с проблемой, что если создать объект в теле одной функции (локально), то в другой функции...

function функция get return область видимости возвращаемая переменная
просмотрел..почитал про видимость и про функции :) ...на сколько понимаю я функция bytesFoo() должна быть находится в области видимости...

Область видимости функции
Доброго времени суток. Суть задачи такова: хочу во время ожидания ответа сервера, рядом с курсором вставить gif анимашку. То есть...

4
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
13.09.2013, 14:48
ichgo, попробуй через делегирование.

Не по теме:

Через _parent не рекомендую.

0
16 / 16 / 0
Регистрация: 08.01.2011
Сообщений: 183
13.09.2013, 15:44  [ТС]
Цитата Сообщение от TanaTiX Посмотреть сообщение
ichgo, попробуй через делегирование.

Не по теме:

Через _parent не рекомендую.

Не совсем понял...
Нашел примеры делегатов под кнопки, но у меня мувиклип.
Если не сложно, можете привести пример?
Спасибо!
0
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
13.09.2013, 16:01
Цитата Сообщение от ichgo Посмотреть сообщение
Нашел примеры делегатов под кнопки, но у меня мувиклип.
А какая разница?
0
16 / 16 / 0
Регистрация: 08.01.2011
Сообщений: 183
13.09.2013, 16:38  [ТС]
Цитата Сообщение от TanaTiX Посмотреть сообщение
А какая разница?
Уже разобрался с делегатами, проблема теперь в видимости свойств класса.
В примере выше есть массив type_buttons он виден в конструкторе, но в других функциях массив уже почему-то undefined, с этим в какую сторону копать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.09.2013, 16:38
Помогаю со студенческими работами здесь

Дружественные функции и область видимости
Компилятор mingw 4.9.3 (-std=c++14). Есть класс, определённый в SomeClass.h, в котором заявлена дружественная функция: class SomeClass...

Область видимости в анонимной функции
for (var i = 0; i < players_array.length; /* Пускай players_array.length будет равно 2*/ i++) { //Вывод числа итераций ...

Область видимости static функции
Почему программа работает, статическая функция sum вроде как не должна быть видна в main.c?? main.c #include <stdio.h> ...

Область видимости анонимного объекта при вызове функции
Доброго дня. Хотел поинтересоваться: когда уничтожится анонимный объект, переданный как параметр функции? #include <stdio.h> ...

Вызов функции до ее определения или область видимости функций в FireFox
Добрый день! Наткнулся на такую особенность в FireFox - если использовать такую конструкцию: { test2(); function test2(){ ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru