Ошибка Flex при попытке импортировать файлы ActionScript - PullRequest
0 голосов
/ 27 января 2010

В строке "import" Player.as "выдается сообщение об ошибке: 1084: Синтаксическая ошибка: ожидание правой строки перед точкой с запятой.

package {

  import "Player.as"; //ERROR
  import "Card.as";

  public class Game {

Я отлично работал с Flex, пока не попытался разделить свой код на отдельные файлы. Сейчас я борюсь.

Вот мои файлы и их зависимости:

**poker.mxml**

include "fb.as";

<mx:Script source="Game.as"/>

**Game.as**   

import "Player.as";  

import "Card.as";

**fb.as** 

**Card.as** 

**Player.as**

Ответы [ 3 ]

1 голос
/ 27 января 2010

Я предполагаю, что Player.as и Card.as находятся в одном пакете с Game.as?

Если они в одной упаковке, вам не нужно их импортировать. Кроме того, операторы импорта обычно не имеют расширения .as.

0 голосов
/ 27 января 2010

При импорте вы используете не имя файла, а пакет и класс, и кавычки не требуются:

package
{
    import Player;
    import Card;

    public class Game {}
}

На самом деле вам не нужно импортировать их, если они находятся на верхнем уровне или в том же пакете, что и класс, который вы редактируете. Если ваши классы Player и Card находятся в пакетах, отличных от верхнего уровня, то вам необходимо включить пакет. Вот пример с некоторыми произвольными именами пакетов, которые появились у меня в голове:

package
{
    import com.example.Player;
    import com.example.deck.Card;

    public class Game {}
}

В MXML вы не включаете классы, используя параметр источника элемента. Вы можете импортировать их таким же образом, на самом деле.

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
    applicationComplete="applicationCompleteHandler(event)">

    <mx:Script><![CDATA[

        import com.example.Player;
        import mx.events.FlexEvent;

        private var _player:Player;

        //this event handler is called once the application is fully created
        //and drawn for the first time.
        private function applicationCompleteHandler(event:FlexEvent):void
        {
            _player = new Player();
        }

     ]]></mx:Script>
</mx:Application>
0 голосов
/ 27 января 2010

import декларации перед пакетом, IIRC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...