Форум 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=163992)

КорДум 20.08.2011 18:24

Цитата:

а что если я захочу в нем объявить несколько разных классов?
То пишите вне пакета и без модификатора доступа, внизу. Этот класс будет виден ТОЛЬКО тому классу, который определен выше в этом же .as-файле. (если я что-то не путаю)

Добавлено через 5 минут
Код AS3:

package {
 
        public class MyClass {
 
                public function MyClass() {
                        (new MyPrivateClass()).foo();
                }
 
        }
}
 
class MyPrivateClass {
 
        public function MyPrivateClass() {
 
        }
 
        public function foo():void {
                trace(1);
        }
}


Atarion 20.08.2011 18:37

требует КОМПИЛЯТОР чтобы ЭТО MyClass; MyPrivateClass совпадало с названием файла as

КорДум 20.08.2011 19:02

Чего? Ну да, файл должен зваться MyClass.as. Вам уже говорили раньше.

in4core 20.08.2011 19:05

Код AS3:

 
package {
 
        public class MyClass {
 
                public function MyClass() {
                        (new MyPrivateClass()).foo();
                }
 
        }
}
internal class MyPrivateClass {
 
        public function MyPrivateClass() {
 
        }
 
        public function foo():void {
                trace(1);
        }
}

Так красивше)

Добавлено через 1 минуту
Оно и звучит как ВНУТРЕННИЙ))

Atarion 20.08.2011 19:18

так элементарнейший пример НЕ РАБОТАЕТ. тот самый первый что в теме предложили. создаю скажем внешний файл

Код AS3:

package  {
 
 
 
                public function f1():void
                {
                        trace("sddf");
                        // constructor code
                }
 
 
 
}

называю - maingame.as
вызываю из основного когда f1();
не видит!

КорДум 20.08.2011 19:20

Вам сказали, что файл должен зваться ТОЧНО ТАК ЖЕ, как и функция. Функция у Вас названа ну никак не maingame.
И да, это не конструктор, это функция.

Atarion 20.08.2011 19:23

вы издиваетесь? а что если 100 функций? делать сто файлов???!!!

Добавлено через 1 минуту
исправил название- сработало. а как - несколько функций то?

КорДум 20.08.2011 19:25

Да. Зачем может понадобиться столько глобальных функций? Посмотрите на класс Math. У него статические методы.

Atarion 20.08.2011 19:29

то есть вы советуете объявлять их прямо в монтажном кадре? а можно их как то аккуратно отделить что ли - чтобы не мешали??!!

КорДум 20.08.2011 19:31

Какие нафиг монтажные кадры? Класс. Классы. Классики. Math - это класс.


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

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