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

Инспектор_Котик 04.02.2014 17:49

Интерес за пакеты.
 
Всем привет. Создаю в src->init пакет,

Далее делаю импорт
Код AS3:

import flash.display.MovieClip;
import init.init_w;

Компилирую, после чего приходит сообщение об ошибке
[IMG]C:\flashprojects\fg\src\Main.as: Error: A file found in a source-path can not have more than one externally visible definition. Main;main
Build halted with errors (fcsh).
[/IMG] помогите граждане. в чем проблема, как исправить?

alexandrratush 04.02.2014 19:06

Покажите код класса init_w, ошибка скорее всего там.

AlexLucas 04.02.2014 19:08

То ли у вас в Main нет конструктора, то ли у вас код вне класса, но внутри пакета.
Давайте больше кода.
Или это и есть весь код ?

Инспектор_Котик 04.02.2014 19:26

Это init_w.as
Код AS3:

package init 
{
 
        class init_w
        {
 
                public function init_w():void
                {
 
                        trace('Hello, bobby');
 
                }
 
                public function sayHelloBobby()
                {
 
                        trace('Hello, Bobby');
 
                }
 
        }
 
}

а это Main.as
Код AS3:

package 
{
 
    import flash.display.MovieClip;
        import init.init_w;
 
        public class Main extends MovieClip {
 
                public function Main()
                {
 
                  trace("Flash");       
 
                }
 
 
 
        }
 
        var shb:init_w = new init_w();
        init.sayHelloBobby();
 
}


alexandrratush 04.02.2014 19:28

Этот код перенесите в конструктор класса, он у вас сейчас записан вне класса.
Код AS3:

var shb:init_w = new init_w();
        init.sayHelloBobby();


Инспектор_Котик 04.02.2014 19:39

Теперь вот такая вещь =)
C:\flashprojects\fg\src\Main.as(11): col: 13 Error: Type was not found or was not a compile-time constant: init_w.
C:\flashprojects\fg\src\Main.as(11): col: 26 Error: Call to a possibly undefined method init_w.
C:\flashprojects\fg\src\Main.as(12): col: 10 Error: Call to a possibly undefined method sayHelloBobby.

alexandrratush 04.02.2014 19:56

Добавьте к классу public init_w, сделайте его видимым вне пакета.
И тут вы обращаетесь к статической функции init.sayHelloBobby(); , а нужно так shb.sayHelloBobby();

Добавлено через 41 секунду
Вот так:
Код AS3:

package 
{
 
    import flash.display.MovieClip;
        import init.init_w;
 
        public class Main extends MovieClip {
 
                public function Main()
                {
 
                  trace("Flash");       
 
                        var shb:init_w = new init_w();
                        shb.sayHelloBobby();
                }
 
        }
 
}

Код AS3:

package init 
{
 
        public class init_w
        {
 
                public function init_w():void
                {
 
                        trace('Hello, bobby');
 
                }
 
                public function sayHelloBobby():void
                {
 
                        trace('Hello, Bobby');
 
                }
 
        }
 
}


Инспектор_Котик 04.02.2014 20:11

*
 
@alexandrratush, спасибо, теперь все работает.


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

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