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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 09.11.2007, 21:46
Dr.OH вне форума Посмотреть профиль Отправить личное сообщение для Dr.OH Найти все сообщения от Dr.OH
  № 1  
Ответить с цитированием
Dr.OH

Регистрация: Aug 2003
Сообщений: 299
Отправить сообщение для Dr.OH с помощью ICQ
Attention проблема с BitmapData.draw()

Есть два абсолютно идентичных сайта kalacheevsky.ru и kmkmeat.basdesign.ru. На этих идентичных сайта есть идентичные флэшки (вверху страницы). В эти флэшки грузится картинка, преобразуется в BitmapData, масштабируется и отображается. Ничего сложного. Но вот только на kmkmeat все и всегда работает, а на kalackeevsky.ru работает ровно половина. Т.е. на половине компов работает, а на половине нет. Причем если на компе все работает правильно, то это работает во всех бразуерах и на всех версиях плэера.
Теперь поконкретнее. Загрузка картинки проходит нормально, создание экземпляра проходит нормально и присоединение его к MovieClip и отображение тоже проходит нормально. Не работает (мне кажется что именно не работает) функция draw.
Теперь немного кода:
Грузим клип:
Код:
myListener = new Object();
var mcLoader:MovieClipLoader = new MovieClipLoader();
image_loaded = -1;

myListener.onLoadComplete = function (target_mc) {
	//image_loaded = 1;
	trace("my movie clip loaded to "+target_mc);
}
myListener.onLoadInit = function (target_mc) {
	image_loaded = 1;
}

myListener.onLoadError = function (target_mc, errorCode) {
	image_loaded = -1;
	removeMovieClip(target_mc);
	trace("ERROR CODE = " + errorCode);
	trace("Your load failed on movie clip = " + target_mc + "\n");
}
mcLoader.addListener(myListener);

function loadImg(obj:Object) {
	image_loaded = 0;
	trace(obj.attributes['img']);
	this.createEmptyMovieClip("temp_mc", _root.getNextHighestDepth());
	temp_mc._alpha = 0;
	this["bg"]._alpha = 0;
	mcLoader.loadClip(obj.attributes['img'], temp_mc);
}
Потом идет прелоэдер, его код я не буду показывать... далее просто создаем bitmapData:
Код:
import flash.display.BitmapData;
mcLoader.removeListener(myListener);
delete mcLoader;
delete myListener;
if (temp_mc!=undefined && image_loaded==1) {
	_root.createEmptyMovieClip("bg", bg.getDepth());
	var tmpBmp:BitmapData = new BitmapData (temp_mc._width, temp_mc._height, false, 0/*color*/);
	var _bmp:MovieClip = bg; //находим MovieClip, куда будет вставлена картинка
	temp_mc._alpha = 50;
	tmpBmp.draw(temp_mc); //отрисовываем MovieClip, в котором содержиться картинка
	_bmp.attachBitmap(tmpBmp, 0, "always", true); //помещаем внутрь MovieClip
	_bmp.cacheAsBitmap = true;
	_bmp._x = 0;
	_bmp._y = 0;
}
На выходе получаем полупрозрачную каринку поверх чёрного фона! В чем проблема???

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

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

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


 


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


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