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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

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

Регистрация: Aug 2009
Сообщений: 9
Cool Картинки над выбором ячейки в dataGrid

Люди, нужна помощь специалистов.

Проблема такая:
Есть dataGrid в который динамически загружаются картинки через ImageCellRenderer.
Так вот картинки загружаются нормально, но когда щёлкаешь по какой-нибудь из них, сверху должна появляться зелёная плёнка, типо выбрал, но её нет.... Она за картинками получается... Может кто сталкивался? Как это исправить???

Пока что решил проблему методом _alpha=75 у всех картинок, но из-за этого они все тусклые стали... Зато зелёную плёнку видно над картинкой.

Поможете разобраться?

Вот код который использую:

ImageCellRenderer.as:
Код 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 var url:String;
 
	private static var PREFERRED_HEIGHT : Number = 130;
	private static var PREFERRED_WIDTH : Number = 130;
 
	public function ImageCellRenderer() 
	{ 		
		image = createEmptyMovieClip('image', getNextHighestDepth());
		image._alpha = 75;//ВОТ ТУТ ДЕЛАЮ ПРОЗРАЧНОСТЬ!
		imageLoader = new MovieClipLoader();
		loadListener = new Object();
		imageLoader.addListener(loadListener);
		loadListener.onLoadInit = Delegate.create(this, setSize);
	}
 
	public function setSize(w:Number, h:Number):Void
	{
		image._y = (image._height/2) - 2
	}
 
	function setValue(str:String, item:Object, sel:Boolean):Void {
		image._visible = (item[getDataLabel()] != undefined);
		if(item[getDataLabel()] != this.url){
			image.loadMovie(item[getDataLabel()]);
			this.onEnterFrame = function(){
				if(image.getBytesLoaded() >= image.getBytesTotal() && image.getBytesTotal() > 4 && image._width > 4){
					this.url = item[getDataLabel()]
					delete this.onEnterFrame;
				}
			}
		}
	}	
 
	public function getPreferredHeight() : Number
	{
		return PREFERRED_HEIGHT;
	}
 
	public function getPreferredWidth() : Number
	{
		return PREFERRED_WIDTH;
	}
}
Flash.fla:
Код AS1/AS2:
dataProvider.getPhotos(ID, Album , function(success:Boolean) 
{ 
	if (success) if (this.firstChild.nodeName=='response')
	{
		EventDispatcher.initialize(Select_Present);
 
		Kolvo_fotok.text=this.firstChild.childNodes.length;
 
		Fotos_Array = new Array();
		for (var i:Number = 0; i<this.firstChild.childNodes.length; i++) 
		{
			Fotos_Array[i]=({data: this.firstChild.childNodes[i].childNodes[3].firstChild.nodeValue}, {url: this.firstChild.childNodes[i].childNodes[3].firstChild.nodeValue});
		}  
		Select_Foto.dataProvider = Presents_Array;
		Select_Foto.getColumnAt(0).cellRenderer = "ImageCellRenderer";
		Select_Foto.getColumnAt(0).width = 130;
		Select_Foto.rowHeight = 130;
		Select_Foto.selectable = true;
		Select_Foto.showHeaders = false;
 
		Select_Foto.change = function(evt:Object) {
		select_item = Select_Foto.selectedItem.url;
		}
		Select_Foto.addEventListener("change", Select_Foto);
	}
	else ex_error_text.text="<b>Ошибка: Необходимо разрешить приложению доступ к фотографиям.</b>";
	else ex_error_text.text="<b>Ошибка: Нет соединения с сервером.</b>";	
});
Спасибо.

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

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

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


 


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


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