Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.02.2011, 06:40
Fantonyks вне форума Посмотреть профиль Отправить личное сообщение для Fantonyks Найти все сообщения от Fantonyks
  № 1  
Ответить с цитированием
Fantonyks

Регистрация: Feb 2011
Сообщений: 19
По умолчанию Загрузка изображений

Вообщем есть лист в который добавляются изображения если в в сорце image пишу сайт все норм, но мне надо что бы я мог программно задавать сорц.
думаю ошибка где-то в районе url = new URLRequest(s); опыта программирования мало сам никак не разберусь.

Код AS3:
var url: URLRequest;
var i: int;
var s: String;
 
for (i = 1; i < 8; ++i){
   s = ("http://site.com/imgfolder/img"+i.toString()+".jpg");
   url = new URLRequest(s);
   mass.push(i);
}
hl1.dataProvider = new ArrayCollection(mass);
 
......
<mx:HorizontalList id="hl1" x="200" y="500" width="500" height="115">
	<mx:itemRenderer>
		<fx:Component>
			<mx:HBox paddingBottom="5" 
					 paddingLeft="5" 
					 paddingRight="5" 
					 paddingTop="5">
				<mx:Image width="100" height="100" source="url"/>
			</mx:HBox>
		</fx:Component>
	</mx:itemRenderer>
	</mx:HorizontalList>


Последний раз редактировалось Fantonyks; 15.02.2011 в 10:43.
Старый 15.02.2011, 09:30
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 2  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Попробуйте source="{url}", но тогда нужно сделать [Binbable] var url: URLRequest;
либо задайте картинке id и тогда в скрипте myImageId.source = url;

Проверить не могу, у меня загадочным образом такая конструкция итемрендерера выдает ошибку.

Старый 15.02.2011, 10:10
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 3  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Насчет такого создания рендереров вас Алатар упрекнёт.

Насчет картинки вас не смущает, что один урл на все итемы?

Код AS3:
for (i = 1; i < 8; ++i)
{
   s = ("http://site.com/imgfolder/img" + i + ".jpg");
   mass.push(s);
}
hl1.dataProvider = mass;
~
<mx:Image width="100" height="100" source="{data}"/>
~
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 15.02.2011, 11:18
Lexxx_HU вне форума Посмотреть профиль Отправить личное сообщение для Lexxx_HU Найти все сообщения от Lexxx_HU
  № 4  
Ответить с цитированием
Lexxx_HU

Регистрация: Oct 2010
Сообщений: 67
много способов решить проблему.
1) если фоток не много можно сделать несколько классов
[Embed(source="images/1.png")]
public var temp1Class:Class;
[Embed(source="images/2.png")]
public var temp2Class:Class;
и потом программно менять image_id.source = temp2Class
2) если фотографий много то можно использовать вот такую функцию
Код AS3:
// функция загрузки фото      
public function loadPhoto(Img:Image, path:String):void {
	var context:LoaderContext = new LoaderContext();
	context.checkPolicyFile = true; // Заставляем проверить политику
	var avaloader:Loader = new Loader();// новый загрузчик 
	var avarequest:URLRequest = new URLRequest(); //новый Url запрос 
	avarequest.url = path; //присваеваем URL адресу ссылку 
	avaloader.contentLoaderInfo.addEventListener(Event.COMPLETE, 
		function ():void {
			Img.source = avaloader;
		}
	); //добавляем слушителя когда загрузиться аватарка
	avaloader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, 
		function ():void {
			Img.source = noavatarClass;
		}
	);
	avaloader.load(avarequest, context); //начинаем грузить аватарку
}
код я думаю понятен, ничего объяснять не надо, на входе функции id image и путь

Старый 15.02.2011, 14:48
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 5  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
1) вы пушите в массив целый тип i, от 1 до 8 - что это вам дает ?
2) посмотрите примеры с отдельным итемРендером, нужно урл еще и обрабатывать/биндить внутри итема

Старый 15.02.2011, 15:01
Fantonyks вне форума Посмотреть профиль Отправить личное сообщение для Fantonyks Найти все сообщения от Fantonyks
  № 6  
Ответить с цитированием
Fantonyks

Регистрация: Feb 2011
Сообщений: 19
Немного разобрался всем спасибо (=

но проблемма так и не решена, дело как оказалось не в загрузке картинок а именно в итем рендере.
т.е. провайдером для Тлиста является масив, к каждой записи рендер создает image - вот для этих image мне нужно задавать сорцы. Если сделать так:
...
Код AS3:
<mx:Image width="50" height="50" source="http://site.com/folder/img1.jpg"/>
...

то в листе получаем картинки(ясно дело одни и те же), вот как сюда вогнать переменный урл, это и проблемма. вообщем курю книги/форумы дальше.

Добавлено через 2 минуты
1) в массив писал что бы проверить создается или нет. Сейчас туда пишу урлы в стринге.
2) Посмотрю обязательно спасибо.

Старый 15.02.2011, 16:47
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 7  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Вот так работает.

Код AS3:
[Bindable]
			public var photoList:ArrayList = new ArrayList([
				{label:"Первая картинка", source:"http://mySite.com/1.jpg"},
				{label:"Вторая картинка", source:"http://mySite.com/2.jpg"},
				{label:"Третья картинка", source:"http://mySite.com/3.jpg"}]);
 
<mx:TileList x="105" y="116" width="583" columnWidth="160" height="100" id="tileListPhoto" dataProvider="{photoList}" itemRenderer="TileListItemPhoto" itemClick="selectPhoto(event)"></mx:TileList>
TileListItemPhoto.mxml
Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
		 horizontalAlign="center"
		 verticalAlign="middle"
		 horizontalScrollPolicy="off"
		 verticalScrollPolicy="off"
		 width="90"
		 height="90">
 
	<mx:Image x="0" y="0" source="{data.source}"/>
 
</mx:VBox>

Старый 15.02.2011, 17:36
Lexxx_HU вне форума Посмотреть профиль Отправить личное сообщение для Lexxx_HU Найти все сообщения от Lexxx_HU
  № 8  
Ответить с цитированием
Lexxx_HU

Регистрация: Oct 2010
Сообщений: 67
Цитата:
Astraport
без override public function set data ваш код не будет работать

Старый 15.02.2011, 18:01
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 9  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Цитата:
без override public function set data ваш код не будет работать
с чего вдруг?
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 15.02.2011, 20:17
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 10  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Цитата:
без override public function set data ваш код не будет работать
А вы проверьте

Создать новую тему Ответ Часовой пояс GMT +4, время: 18:47.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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