Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.09.2014, 16:18
Parez вне форума Посмотреть профиль Отправить личное сообщение для Parez Найти все сообщения от Parez
  № 1  
Ответить с цитированием
Parez

Регистрация: Nov 2010
Адрес: Ярославль
Сообщений: 249
По умолчанию Странная ошибка ReferenceError: Error #1065 - Flash Professional CC

Здравствуйте.
Программирую на Flash достаточно давно, но с таким сталкиваюсь впервые. После импорта нескольких swc библиотек в мою игру, стала возникать ошибка в классе, который раньше прекрасно работал. Вот его код (используется starling):
Код AS3:
package src.assets
{
	import flash.display.Bitmap;
	import flash.utils.Dictionary;
 
	import starling.textures.Texture;
	import starling.textures.TextureAtlas;
 
 
	public class GameAssets
	{
 
		[Embed(source="/Graphics/viking.png")]
		public static const AtlasTextureGame:Class;
 
		[Embed(source="/Graphics/viking.xml", mimeType="application/octet-stream")]
		public static const AtlasXmlGame:Class;
 
		public function GameAssets()
		{
 
		}
 
		private static var gameTextures:Dictionary = new Dictionary();
		private static var gameTextureAtlas:TextureAtlas;
 
		public static function getAtlas():TextureAtlas
		{
			if (gameTextureAtlas == null)
			{
				var texture:Texture = getTexture("AtlasTextureGame");
				var xml:XML = XML(new AtlasXmlGame());
				gameTextureAtlas=new TextureAtlas(texture, xml);
			}
 
			return gameTextureAtlas;
		}
 
		public static function getTexture(name:String):Texture
		{
			if (gameTextures[name] == undefined)
			{
				var bitmap:Bitmap = new GameAssets[name]();
				gameTextures[name]=Texture.fromBitmap(bitmap);
			}
 
			return gameTextures[name];
		}
	}
}
Выдает он следующую ошибку:
Код:
ReferenceError: Error #1065: Variable GameAssets_AtlasTextureGame is not defined.
	at src.assets::GameAssets$cinit()
	at global$init()
	at TestAssets_fla::MainTimeline/frame1()
И та же ошибка для GameAssets_AtlasXmlGame

Меня очень удивляет, что компилятор где-то увидел переменную GameAssets_AtlasTextureGame. Именно с нижним подчеркиванием.
Чтобы убедиться, что ошибка где-то здесь (что очень странно), я попробовал создать новый fla файл и без подключения всяких лишних swc библиотек (кроме CitrusEngine) тупо написать в первом фрейме:
Код AS3:
import src.assets.GameAssets;
 
var assets:GameAssets = new GameAssets();
К моему удивлению, ошибка сохранилась.
Вообще понятия не имею, что можно с этим сделать. Помогите, пожалуйста.

Добавлено через 22 минуты
Нашел тему в интернете - http://stackoverflow.com/questions/2...d-image-assets
Очень похожая ситуация. Я тоже расширял память для компиляции. Поставил на 1024. После этого все перестало работать.

Старый 10.09.2014, 16:48
Gerbert вне форума Посмотреть профиль Найти все сообщения от Gerbert
  № 2  
Ответить с цитированием
Gerbert
Banned
[+1 06.12.14]
[+1 18.12.14]
[+1 30.12.14]

Регистрация: Aug 2014
Сообщений: 461
Код AS3:
var assets:GameAssets = new GameAssets();
Поменяйте имя свойства на другое, чтобы оно не совпадало с именем пакета.

Старый 10.09.2014, 16:54
Parez вне форума Посмотреть профиль Отправить личное сообщение для Parez Найти все сообщения от Parez
  № 3  
Ответить с цитированием
Parez

Регистрация: Nov 2010
Адрес: Ярославль
Сообщений: 249
Решил проблему, хоть и явно ненормальным путем. Видимо, это баг Flash CC. Когда изменяешь выделяемую для компиляции память, все катится к чертям. Как и написано в ответе к теме http://stackoverflow.com/questions/2...d-image-assets, удалил все, что было в папке /Users/"YOURNAME"/Library/Application Support/Adobe/Flash CC/. (правда на Маке в аналогичной папке)

Добавлено через 2 минуты
Цитата:
Сообщение от Gerbert Посмотреть сообщение
Код AS3:
var assets:GameAssets = new GameAssets();
Поменяйте имя свойства на другое, чтобы оно не совпадало с именем пакета.
Да нет, тут дело не в этом. Как угодно менял, переназывал - результат один и тот же.

Старый 10.09.2014, 20:34
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 4  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Это проблема не только Flash CC. Как я понял, это глюк всех компиляторов от Adobe. Я такую же проблему частенько ловлю во FlashDevelop. Но она как появляется сама, так и пропадает. Какой-то закономерности не выявил. Все решения из интернета, которые находил, так же бесполезны
__________________
Ко мне можно и нужно обращаться на ты)

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:36.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
bug , compiling , Error #1065 , flash CC
Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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