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

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

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

Регистрация: Oct 2006
Сообщений: 13
По умолчанию copyPixels. поиск юзан, хелп читан.

Доброго времени суток.

Продолжая свои экзерсизы с флешем наткнулся на баг не баг, фичу не фичу, даже не знаю как это обозвать

Вообщем ситуация.

Задача. есть три ( в перспективе больше ) файла с кусками тела игрока.
из этих файлов в зависимости от ситуации создается мув этого самого игрока в определенной позиции. файлы - гифы, все что не нужно - прозрачно.

происходит следующее

если bit создавать без прозрачности (false) то все ок (всмысле картинка собирается как надо, но он не прозрачный =(). а вот если прозрачным, то в битмапе остается только последний скопированый кусочек т.е. рука.

эффект не понятен. почему так? по идее должно быть наоборот. если прозрачность есть то она должна учитываться, если - то нет.

код ниже.
Код:
function CreatePlayer(posx,posy,hands,legs,torso,weapon,pos,sit,sex)
{
var mc:MovieClip = new MovieClip;
var bit:BitmapData = new BitmapData(32, 40);//, true, 0x000000);
var up:Number = 0;
if(pos >= 8)
	return 0;
if(sit){
	sit = 1;up = 3}
if(sex)
	sex  = 1;

mc = createEmptyMovieClip(mc, this.getNextHighestDepth());

if(pos < 4)
	bit.copyPixels(hands,new Rectangle(32*pos,0,32,40),new Point(0,up));
else
	bit.copyPixels(hands,new Rectangle(256 + 32*pos,0,32,40),new Point(0,up));

bit.copyPixels(torso,new Rectangle(32*pos + 256*sex,0,32,40),new Point(0,up));
bit.copyPixels(legs,new Rectangle(32*pos + 256*sit,0,32,40),new Point(0,0));

if(pos >= 4)
	bit.copyPixels(hands,new Rectangle(32*pos,0,32,40),new Point(0,up));
else
	bit.copyPixels(hands,new Rectangle(256+32*pos,0,32,40),new Point(0,up));

mc.attachBitmap(bit,10);//,"auto",true);

return mc; 
}
mytest.zip


Последний раз редактировалось iNils; 16.11.2006 в 02:05.
Создать новую тему   Часовой пояс GMT +4, время: 13:37.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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