2012-02-12 5 views
0

В моем коде я определил следующее: <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')"/> То, что я хочу, чтобы иметь возможность изменить источник изображения каждый раз, когда пользователь нажимает на изображении - аналогичен способом избранных работать в браузере. Я понятия не имею, как изменить источник изображения из моего кода.Изменение изображения динамически в Flash Builder 4.6

Спасибо

ответ

0


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

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 является идентификатор с: Image тег изменяемые

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

0

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

Изображение выглядит следующим образом:

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

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

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

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

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

} 

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

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

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

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

+0

Привет , Спасибо за ответ. Счетчик тоже был моей идеей, я действительно не слежу за тобой. У меня уже есть один HTTPService на мой взгляд (на сервер), могу ли я использовать другой? Это безопасный подход? Кроме того, вы можете быть немного более конкретным, пожалуйста. Я только начал с Flash Builder, и есть еще понятия, которые я не понимаю, как должен. Я думал, что могу просто использовать что-то вроде 'counter% 2 == 0 img.source = new sourece of image // полученное из массива else img.source = другой источник // другое значение из массива' Еще раз спасибо – Adrian

+0

Еще раз спасибо за ответ. – Adrian