Форум 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 26.05.2015 16:21

Цитата:

Сообщение от caseyryan (Сообщение 1182801)
Код AS3:

[Embed(source = "images/hammer.png")]
private static const Hammer:Class;
private var _hammer:Bitmap = new Hammer() as Bitmap;


Я просил для двух

undefined 26.05.2015 17:19

Цитата:

Я просил для двух
А голову включить?)

Wormhole 26.05.2015 17:38

Цитата:

Сообщение от undefined (Сообщение 1182806)
А голову включить?)

Я не дурак. Я специально просил для двух, так как то, что мне было сказано я уже знал и просто не был уверен в работе этого кода, если его продублировать. Я первый раз работаю с тегами, если не считать размер swf. Для меня пример использования непонятен, т. к. непонятна техника. Неужели сложно просто сказать, что это будет то же самое два раза

caseyryan 26.05.2015 19:41

Кэп мне тут подсказывает
Код 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.
То есть третью переменную создавать не обязательно.

in4core 26.05.2015 21:37

as Bitmap - приведение типов. Занадом. Потому что Photo1 - это класс, в котором может быть все что угодно, и при ошибке получите null

callme 26.05.2015 21:46

Почему получить null лучше чем ошибка?

dimarik 26.05.2015 21:52

Скорее всего для дисциплины. Вы же продукт для людей делаете, а не для логгера.

callme 26.05.2015 21:53

Я не понял.

dimarik 26.05.2015 22:03

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

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

Сообщение от caseyryan (Сообщение 1182815)
Код AS3:

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


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

Код AS3:

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


callme 26.05.2015 22:23

Ясно, спасибо, записал себе в todo погуглить "бросать ошибку или возвращать null".


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

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