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

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

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

Регистрация: Aug 2009
Сообщений: 9
The bomb! List + Loader, MovieClip

Ура! Вывел все картинки! ))) Забил на List, сделал через dataGrid + MovieClip.

Только теперь не могу понять как убрать моргание картинок. Когда что-нибудь делаешь картинки как-будто перерисовываются...

Если нужен код:
========
В программе:
========
dataProvider.getPhotos(ID, AlbumID , function(success:Boolean)
{
if (success)
{
EventDispatcher.initialize(My_dataGrid);

Pictures_Array = new Array();
for (var i:Number = 0; i<this.firstChild.childNodes.length; i++)
{
Pictures_Array.addItem({data: this.firstChild.childNodes[i].childNodes[3].firstChild.nodeValue});
}
My_dataGrid.dataProvider = Pictures_Array;
My_dataGrid.getColumnAt(0).cellRenderer = "ImageCellRenderer";
My_dataGrid.getColumnAt(0).headerText = "Список:";
My_dataGrid.getColumnAt(0).width = 130;
My_dataGrid.rowHeight = 130;
}
});

=============
В ImageCellRenderer:
=============
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)
{
imageLoader.loadClip(item[getDataLabel()], image);
image._visible = true;
}
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;
}
}

Может кто знает в чём может быть проблема этого моргания???


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

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

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


 


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


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