Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   ошибка 5001 или проблема с flash (http://www.flasher.ru/forum/showthread.php?t=211084)

бакуард 23.06.2015 17:09

ошибка 5001 или проблема с flash
 
Всем доброго времени суток!

Возникла проблема с именем пакета (ошибка 5001: The name of package 'com.logosware.event' does not reflect the location of this file. Please change the package definition's name inside this file, or move the file. ")
Проверял соответствие имени пакета и папки в которой он хранится не один раз. Все полностью совпадает
(имя пакета и папки - сellAndRoad).
Думал проблема в неполном имени пакета, т.к. папка вложена в другие и прописал их всех учитывая порядок: сперва имя верхнего домена а потом поочередно имена тех, что ниже.(все имена папок латиницей, слитно и с маленькой буквы. Очень извиняюсь если написал ерунду, но я так понял это все важно.)
Ничего из этого не помогло. Кто может, укажите пожалуйста на ошибку.

Добавлено через 1 час 32 минуты
Хотелось бы уточнить один вопрос: файл as должен находиться на один уровень выше файла fla?

caseyryan 23.06.2015 18:47

Цитата:

имя пакета и папки - сellAndRoad
Ну и вполне логичная ошибка вываливается
В файле с ошибкой то пакет com.logosware.event, а не сellAndRoad
Этот файл должен лежать в папке com/logosware/event

ZackMercury 23.06.2015 18:52

Цитата:

Хотелось бы уточнить один вопрос: файл as должен находиться на один уровень выше файла fla?
По умолчанию в Adobe Flash все пакеты начинают отсчёт от FLA-файла. Класс в одной папке с FLA - не нуждается в импортировании.
com.somesite.pets.Dog - это папка com, лежащая в той же папке, где FLA, в которой лежит somesite, в которой лежит pets, в которой лежит Dog.

бакуард 23.06.2015 19:37

Цитата:

В файле с ошибкой то пакет com.logosware.event, а не сellAndRoad
Этот файл должен лежать в папке com/logosware/event
то есть папки в которые вложен файл обязательно должны иметь имена com, logosware, event?

ZackMercury 23.06.2015 19:51

Пакет - это попросту путь к классу.

caseyryan 23.06.2015 20:21

Цитата:

то есть папки в которые вложен файл обязательно должны иметь имена com, logosware, event?
Да. Или в as файле должен быть прописан пакет сellAndRoad вместо com.logosware.event

бакуард 24.06.2015 16:05

Чтобы прописать пакет CellPlainRoad достаточно указать это имя после ключевого слова package?

udaaff 24.06.2015 16:14

http://help.adobe.com/ru_RU/as3/lear...0204-7f9e.html

бакуард 24.06.2015 16:49

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

Добавлено через 7 минут
Изменил расположение fla. Он находится выше чем as (т.е. as лежит в папке ,которая лежит в той же папке, что и fla). Ошибка 5001 исчезла, но as файл не виден для fla. Когда пытаюсь зайти в класс с fla(я использую adobe flash cs4). При это появляется сообщение: A defenition for the document class could not be found in the classpath, so one will be automatically generated in the SWF file upon export.

ZackMercury 24.06.2015 18:50

На всякий случай скину это сюда.
Цитата:

По умолчанию в Adobe Flash все пакеты начинают отсчёт от FLA-файла. Класс в одной папке с FLA - не нуждается в импортировании.
com.somesite.pets.Dog - это папка com, лежащая в той же папке, где FLA, в которой лежит somesite, в которой лежит pets, в которой лежит Dog.
Пакет - это попросту путь к классу.
У нас есть класс Main, и класс Apple, лежащий в папке fruits.
Чтобы воспользоваться им в Main, импортируем его
Код AS3:

import fruits.Apple;

или обращаемся к нему так
Код AS3:

var apple:fruits.Apple = new fruits.Apple();

При этом в классе Apple пакет должен быть fruits(тоесть, пакет - это путь к классу, а точнее путь к папке, в которой лежит класс).

Если структура проекта такая:
Цитата:

-src.fla
-Main.as
-com
----site
-------fruits
----------Apple
----------Apricot

То вот так должно быть в классах

Apple.as:
Код AS3:

package com.site.fruits

Apricot.as:
Код AS3:

package com.site.fruits

Main.as:
Код AS3:

import com.site.fruits.Apple;
import com.site.fruits.Apricot;

или
Код AS3:

import com.site.fruits.*;

или

Код AS3:

public function Main()
{
  var rand:int = Math.round(Math.random());
  switch(rand)
  {
      case 0:
        var fruit:com.site.fruits.Apple = new com.site.fruits.Apple();
        break;
      case 1:
        var fruit:com.site.fruits.Apricot = new com.site.fruits.Apricot();
        break;
  }
 
  this.fruit = fruit;
}



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

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