Динамическое изменение изображения в Flash Builder 4.6 - PullRequest
0 голосов
/ 12 февраля 2012

В моем коде я определил следующее: <s:Image id="test" x="50" y="50" width="30" height="30" click="onClick_clickHandler(event)" smooth="true" smoothingQuality="high" source="@Embed('icons/myImage_60_off.png')"/> Я хочу, чтобы у меня была возможность менять источник изображения каждый раз, когда пользователь нажимает на изображение - подобно тому, как избранные работают в браузере. Я понятия не имею, как изменить источник изображения из моего кода.

Спасибо

Ответы [ 2 ]

0 голосов
/ 14 февраля 2012


Я наконец-то это сделал!

public var image_loader:Loader; // определить новый загрузчик

image_loader = new Loader(); // создать новый загрузчик в нужном месте (в моем случае вметод инициализации страницы

image_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoaded); // добавление слушателя и функции для назначения слушателю
в зависимости от того, где должна быть выполнена команда

image_loader.load(new URLRequest('location of the image')); // это будет загружать изображение динамически

function imageLoaded(event:Event):void {image_Id.source = image_loader;} // где image_Id - это идентификатор тега s: Image, который необходимо изменить

также мне пришлось удалить источник из s:Ранее размещенный тег изображения
Остальное - просто логика того, как приложение должно реализовывать функциональность, так что это в значительной степени оставлено на усмотрение разработчика

0 голосов
/ 13 февраля 2012

У меня была скрытая сетка данных с моим решением, потому что она начиналась с видимой.

Изображение выглядело так:

 <mx:Image top="153" left="10" right="10" bottom="5" source="{dgpick.selectedItem.ImageFile}" />

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

Изображение также может иметь ссылку на файл XML, который можно загрузить, например:это:

<s:HTTPService id="Config"
                   url="config.xml"
                   result="resultHandler(event)"/>

private function resultHandler(event:ResultEvent):void 
{
    ImagesURL = event.result.images.ImagesURL[iCounter];                

}

Каждый раз, когда кто-то нажимает на изображение, вы можете увеличить счетчик и т. д.

Надеюсь, что это даст вам некоторые идеи.

Есть20 способов сделать это.

Если вам нужно больше кода, добавьте комментарий с тем, что вам нужно.

...