Здравствуйте.
Программирую на 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. После этого все перестало работать.