как встраивать чистые растровые активы as3 с flex4 (работал с flex3) - PullRequest
3 голосов
/ 19 апреля 2010

В Flex3 я мог бы скомпилировать чистый код as3 и использовать теги «embed» для загрузки изображений. Это было сделано Flex, создав класс BitmapAsset.

Я все еще могу сделать это во Flex4.

Тем не менее, была хитрость в том, чтобы подделать flex3 и использовать мой собственный класс mx.core.BitmapAsset для удаления некоторых посторонних вещей, которые привносит в него BitmapAsset от Flex. Это описано здесь: http://www.ultrashock.com/forums/flex/embed-flex-assets-without-using-flex-123405.html

К сожалению, я не могу заставить эти приемы работать с Flex4 и получать файлы меньшего размера. Я заканчиваю с ошибкой "VerifyError: Ошибка # 1014: Класс mx.core :: BitmapAsset не может быть найден."

Эта ошибка приводит меня к этому форуму и решению, как описано там: http://tech.groups.yahoo.com/group/flexcoders/message/148762

Следуя этому совету, я добавляю -static-link-runtime-shared-library = true, и мой SWF-файл загружается без ошибок ... но это означает, что я загружаю кусочки фреймворка, которые я хотел опустить и размер файла тоже так говорит).

Есть ли лучший способ подделать flex4, когда дело доходит до использования Embed?

Ответы [ 2 ]

3 голосов
/ 20 апреля 2010

Будет ли что-то вроде работы?

[Embed(source="yourImage.jpg")]
private var ImageC:Class;
private var image = new ImageC();

У Кита Питерса есть хорошая статья на эту тему.

1 голос
/ 14 июня 2010

Я создал тестовый проект во Flex 4 с [Embed] и фальшивкой BitmapAsset.as и не вижу исключения:

package
{
import flash.display.Sprite;
public class EmbedTest extends Sprite
{
    public function EmbedTest()
    {
        addChild(new smile());
    }

    [Embed("smile.png")]
    private var smile:Class;
}
}

Попробуйте добавить -link-report link-report.xml опцию компилятора и отметьте link-report.xml файл в bin-debug.

Есть ли у вас BitmapAsset.as там? Если нет, возможно, вы исключили его с помощью externs, external-library-path или load-externs.

...