Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   TypeError: Error #1006: init не является функцией. at main::gunAS/fire() (http://www.flasher.ru/forum/showthread.php?t=126980)

twix1124 01.07.2009 22:32

TypeError: Error #1006: init не является функцией. at main::gunAS/fire()
 
Почему появляется эта ошибка?

В основном коде есть функция:
Код AS3:

                public function fire(e:Event):void
                {
                        var ammo:rocket = new rocket();
                        ammo.init(10, 10, 100);
                }


И есть класс
Код AS3:

package main
{
        import main.*;
        import flash.display.MovieClip;
        dynamic public class rocket extends MovieClip
        {
                const startVel:Number = 2;
 
                public function init(preX:Number, preY:Number, rot:Number)
                {
                        x = preX;
                        y = preY;
                        rotation = rot;
                }
        }
}


Из-за чего ошибка???

Да, забыл сказать, что класс привязан к мувику.

willis83 02.07.2009 03:08

ну у вас вообще всё странно. пропустим то, что вы забиваете на общепризнаные правила присвоения имён, но у вас в классе rocket даже конструктора нет, а строчка new rocket() вызывает именно конструктор этого класса. И зачем импортировать весь пакет main если вы из него больше ничего не определяете?

iflamberg 02.07.2009 18:17

то, что забито на общепризнаные правила присвоения имен - не является ошибкой
то, что нет конструктора нет - не является ошибкой, будет вызван конструктор родительского класса. Тот код, что вы написали должен выполняться.
Скорее всего какой-нибудь другой класс с таким же именем перекрывает ваш класс main.rocket.

twix1124 03.07.2009 08:37

main я импортировал, т.к. ошибку искал =)

Добавлено через 1 час 31 минуту
Вот исходник... Помогите найти ошибку...
http://***************/files/251307799/Gun.7z.html

Добавлено через 3 часа 49 минут
разобрался *wall*
забыл указать папку в классе rocket . . .


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

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