Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Вызов функции из функции (http://www.flasher.ru/forum/showthread.php?t=155338)

Ylik 03.05.2011 00:35

Вызов функции из функции
 
Здравствуйте! В очередной раз обращаюсь сюда за помощью.
Помогите, пожалуйста снова решить проблему!
Пытаюсь из одной функции вызвать другую функцию, но выходит ошибка
1136: Incorrect number of arguments. Expected 1.

Код AS3:

public function func1(e:MouseEvent):void {
                        .........
                        if (.........) {
                                func2();
                                }
                }
 
                public function func2(e:MouseEvent):void {
                        .........
                }

Мне кажется, здесь что-то несложное, но мне пока не удалось найти правильный ответ.
Очень благодарю за внимание к моему вопросу!!! :)

КорДум 03.05.2011 00:46

Код AS3:

func2(null);


Ylik 03.05.2011 00:54

Спасибо большое!!! Наконец-то нашлось решение!!! :) :) :)
Только если эту функцию вызвать по условию, то почему-то она не выполняется. :(
Я тут вот уже пыталась это выяснить: http://www.flasher.ru/forum/showthread.php?t=155322
Здесь то же самое, почему-то не работает
Код AS3:

if (mc.mc1.currentFrame==mc.mc1.totalFrames) {
        func2(null);
}

:(

КорДум 03.05.2011 00:56

Логично предположить, что не выполняется условие. Вы должны проверять по enterFrame в каждом кадре его, а не по клику (или что у вас там).

Ylik 03.05.2011 00:59

Я там тоже писала, что трейс выводит 75 и 75 (текущий и конечный кадры), то есть получается, что до конечного кадра анимация доходит, но условие тем не менее всё-равно не выполняется...
Ужас, я даже не представляю в чём здесь дело. :(

КорДум 03.05.2011 01:01

К сожалению, я тоже *разводит руками* Все должно работать, если оно так.

Цветкофф 03.05.2011 01:02

Цитата:

Сообщение от КорДум (Сообщение 993415)
Логично предположить

Логично предположить что func2 на входе имеет MouseEvent так почему бы не передавать ему не null а передавать e, то есть
Код AS3:

public function func1(e:MouseEvent):void {
                        .........
                        if (.........) {
                                func2(e);
                                }
                }
 
                public function func2(e:MouseEvent):void {
                        .........
                }

это более логично

Ylik 03.05.2011 01:04

И такой и первый вариант работают, если не по условию запускать.

КорДум 03.05.2011 01:05

Цветкофф, а если не надо его передавать? И зачем вы выдернули эти два слова из контекста?

Цветкофф 03.05.2011 01:07

что значит не надо? func2(e:MouseEvent) на входе имеет СобытиеМыши значит и пеередать туда надо событие мыши
если машина имеет на входе 98-ой бензин, а вы ей даёте на вход ДТ она веть не поедет


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

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