Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Загрузка ресурсов в приложение (http://www.flasher.ru/forum/showthread.php?t=210910)

Wormhole 27.05.2015 20:07

Цитата:

Сообщение от caseyryan (Сообщение 1182815)
Кэп мне тут подсказывает
Код AS3:

[Embed(source = "photo1.jpg")]
private static const Photo1:Class;
private var photo1:Bitmap = new Photo1() as Bitmap;
 
[Embed(source = "photo2.jpg")]
private static const Photo2:Class;
private var photo2:Bitmap = new Photo2() as Bitmap;

Суть такая. Сначала создается эмбэд, и он записывается в следующую сразу за ним переменную или константу с типом Class.
То есть третью переменную создавать не обязательно.

Спасибо. Это то, что я хотел услышать. Но есть два вопроса:

1. Почему ресурс загружается в переменную типа класс, а не соответствующего класса (Bitmap, Sound)
2. Что будет если написать
Код AS3:

[Embed(source = "photo1.jpg")]
[Embed(source = "photo2.jpg")]
private static const Photo2:Class;

Добавлено через 2 минуты
Цитата:

Сообщение от callme (Сообщение 1182822)
Почему получить null лучше чем ошибка?

Цитата:

Сообщение от dimarik (Сообщение 1182831)
Есть операция приведения через "as". Она рантаймбезопасна. В отличие от операции конвертации, которая тут неявно проследует без оператора as, вы схватите RTE в виде coercion failed.

Добавлено через 8 минут


На всякий случай напомню, что после метатегов не ставится точка с запятой ";".
В вышеприведенном примере все правильно сделано. А вот так неправильно:

Код AS3:

[Embed(source = "photo1.jpg")];


Спасибо

in4core 27.05.2015 21:28

1) Потому что сначала байты прописываются, а чтобы перевести - нужно указать явно
2) Зарегистрирвоан класс Photo2

Wormhole 27.05.2015 21:33

Цитата:

Сообщение от in4core (Сообщение 1182865)
Зарегистрирвоан класс Photo2

Пустой?

romanlysenko 27.05.2015 21:39

2. Что будет если написать
Код AS3:

[Embed(source = "photo1.jpg")]
[Embed(source = "photo2.jpg")]
private static const Photo2:Class;

1-я строка проигнорируется, а 2-я присвоится переменной...

Если Вы читаете К. Мука, то возможно вам поможет стр. 885, глава "Встраивание отображаемых элементов на этапе компиляции"

В общем принцип работы тега [Embed] такой как если бы вы загружали во Flash IDE в библиотеку звуки/картинки и т.д. и пользовались ими )

Wormhole 27.05.2015 21:51

Цитата:

Сообщение от romanlysenko (Сообщение 1182867)
2. Что будет если написать
Код AS3:

[Embed(source = "photo1.jpg")]
[Embed(source = "photo2.jpg")]
private static const Photo2:Class;

1-я строка проигнорируется, а 2-я присвоится переменной...

Если Вы читаете К. Мука, то возможно вам поможет стр. 885, глава "Встраивание отображаемых элементов на этапе компиляции"

В общем принцип работы тега [Embed] такой как если бы вы загружали во Flash IDE в библиотеку звуки/картинки и т.д. и пользовались ими )

Спасибо. А я вот как раз думал, что со стороны кода мы делаем, когда в IDE добавляем символы)
Насчет Мука: про embed я прочитал несколько раньше: стр. 725, "Загрузка внешнего растрового изображения"

А мои вопросы по лоадеру возникли только потому, что перепутал местами слова: прочитал, что лоадер - на этапе компиляции, а embed - на этапе выполнения

Теперь, я думаю, мне понятно, как работает Embed. Спасибо всем

ZackMercury 27.05.2015 23:07

Цитата:

Загружать в само приложение
Загружайте на сервер, а оттуда грузите в приложение.


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

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