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

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

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

Регистрация: Aug 2009
Сообщений: 9
Attention Изображения в List или dataGrid

Прошу помощи, бьюсь уже день 5-й... Пересмотрел кучу примеров, но ничего так и не понял. Пишу в Flash 2004 MX на AS2.

Вообщем проблема такая:
-Есть компонент List, в него нужно поместить картинки, вертикально одну за одной.
-Картинки беруться по ссылкам из массива.

Сколько не пытался картинки не выводятся. То же самое пытался сделать и с dataGrid, не получается.

Код программы:
Код AS1/AS2:
...
//Беру список фотографий из определённого альбома
dataProvider.getPhotos(ID, IDAlbum , function(success:Boolean)
{
if (success)
{
import mx.events.EventDispatcher;
import mx.controls.DataGrid;
EventDispatcher.initialize(grid);
//Делаем массив из фотографий
myDP = new Array();
for (var i:Number = 0; i<this.firstChild.childNodes.length; i++) 
{
myDP.addItem({image:"this.firstChild.childNodes[i].childNodes[5].firstChild.nodeValue"});
}	
 
grid.dataProvider = myDP;
grid.getColumnAt(0).cellRenderer = "ImageCellRenderer";
grid.getColumnAt(0).headerText = "Список фотографий:";
grid.getColumnAt(0).width = 130;
grid.rowHeight = 130;
grid.vScrollPolicy = "off";
}
});
===================
Класс ImageCellRenderer:
Код AS1/AS2:
import mx.data.encoders.Num;
import mx.utils.Delegate;
class ImageCellRenderer extends MovieClip
{
private var image : MovieClip;
private var imageLoader : MovieClipLoader;
private var loadListener : Object;
private var listOwner : MovieClip;
private var getCellIndex : Function;
private var getDataLabel : Function;
 
private static var PREFERRED_HEIGHT : Number = 130;
private static var PREFERRED_WIDTH : Number = 130;
 
private var cellWidth : Number;
private var cellHeigth : Number;
 
public function ImageCellRenderer()
{
image = createEmptyMovieClip('image', getNextHighestDepth());
imageLoader = new MovieClipLoader();
loadListener = new Object();
imageLoader.addListener(loadListener);
loadListener.onLoadInit = Delegate.create(this, alignImage);
}
 
public function setSize(w:Number, h:Number):Void
{
// Необходимо сохранить ширину и высоту яйчейки, чтобы после загрузки картинки, ее можно было выровнить
cellWidth = w;
cellHeigth = h;
 
alignImage();
}
 
public function setValue(str:String, item:Object, sel:Boolean) : Void
{
if (item != undefined)
{
image._visible = true;
 
imageLoader.loadClip(item[getDataLabel()], image);
}
image._visible = false;
}
 
public function getPreferredHeight() : Number
{
return PREFERRED_HEIGHT;
}
 
public function getPreferredWidth() : Number
{
return PREFERRED_WIDTH;
}
 
private function alignImage() : Void
{
image._x = (cellWidth - image._width) / 2;
image._y = (cellHeigth - image._height) / 2;
}
}
Если кто может нормально посмотреть код, обьяснить в чём ошибка или как на AS2 прописать List или DataGrid со списком картинок по сслыкам, буду очень признателен.

Старый 12.08.2009, 15:39
exprize вне форума Посмотреть профиль Отправить личное сообщение для exprize Найти все сообщения от exprize
  № 2  
Ответить с цитированием
exprize

Регистрация: Aug 2009
Сообщений: 9
===
Спасибо за помощь, разобрался сам...

Оказывается в CS4 всё нормально работает... а в 2004 MX постоянные ошибки выкидывает, которых нет.

Только вопрос такой, как избавиться от моргания картинок???

Добавлено через 26 часов 32 минуты
Никто так и не ответит?!

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

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

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


 


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


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