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

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

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

Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
По умолчанию MovieClip в BitmapData по фреймам

Здравствуйте уважаемые
Вопрос следующий. Создал мувик, в нем на каждом фрейме своя картинка. Мне нужно эту картинку упаковать в Bitmap. Вот собственно код:
Код:
var bitmap:BitmapData = new BitmapData(450,525, false, 0x33CCFF);
			var image:Bitmap;
			var mc:MyPhoto = new MyPhoto(); 
			mc.gotoAndStop(2); // без этого работает, первый кадр видно
			bitmap.draw(mc);
			image = new Bitmap(bitmap);
			addChild(image);
Покопался по документации, воспользовался поиском на форуме. Нашел очень много как вставлять картинки, но со сменой фрейма ни одной темы не видел. все происходит на втором фрейме после полной загрузки ролика через preloader.
Скажите реально снять отпечаток с нужного фрейма? Если да то как это сделать?
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ


Последний раз редактировалось SunShadow; 01.08.2008 в 14:19.
Старый 01.08.2008, 14:33
litebox вне форума Посмотреть профиль Отправить личное сообщение для litebox Найти все сообщения от litebox
  № 2  
Ответить с цитированием
litebox
 
Аватар для litebox

Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
Я аналогичную вещь делал - у меня все работает ок, единсвтенное отличие - у меня мувик, в котором я меняю кадр и вывожу на битмап лежит на timeline'е, а не аттачится из библиотеки. И еще, зачем задавать цвет прозрачности, если Вы указываете "без прозрачности" (третий параметр false)

Старый 01.08.2008, 14:38
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 3  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
с мувиком из библиотеки тоже все работает

>>все происходит на втором фрейме после полной загрузки ролика через preloader

а что там происходит, может надо просто подождать пока произойдет это "все" ?

Старый 01.08.2008, 14:51
SunShadow вне форума Посмотреть профиль Отправить личное сообщение для SunShadow Найти все сообщения от SunShadow
  № 4  
Ответить с цитированием
SunShadow
 
Аватар для SunShadow

Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
Цитата:
Сообщение от silin Посмотреть сообщение
а что там происходит, может надо просто подождать пока произойдет это "все" ?
Ждем когда bytesLoaded==bytesTotal, а дальше уже идем дальше. Прелоадер в первом кадре как обычно. Может кто нибудь рабочий примерчик кинуть, чтобы поковыряться.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ

Старый 01.08.2008, 15:01
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 5  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
так и рисовать эти кадры надо когда все загрузится, а не сразу..

Старый 01.08.2008, 15:11
SunShadow вне форума Посмотреть профиль Отправить личное сообщение для SunShadow Найти все сообщения от SunShadow
  № 6  
Ответить с цитированием
SunShadow
 
Аватар для SunShadow

Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
Цитата:
Сообщение от silin Посмотреть сообщение
так и рисовать эти кадры надо когда все загрузится, а не сразу..
Вот прелоадер в первом кадре
Код:
package main {
	import flash.display.MovieClip;
	import flash.display.DisplayObjectContainer;
	import flash.text.TextField;
	import flash.events.*;

	dynamic public class preloader extends MovieClip {
		public function preloader() {
			addEventListener(Event.ENTER_FRAME, Update);
		}

		public function Update(e : Event):void {
			var bytesLoaded:Number = stage.loaderInfo.bytesLoaded;
			var bytesTotal:Number = stage.loaderInfo.bytesTotal;
			var s:String = "";
			var percent:Number = 0;
			var mc:MovieClip = parent as MovieClip;
			if (bytesTotal>0){
				percent = Math.floor(bytesLoaded/bytesTotal*100);
				s = percent+"% ("+
				Math.round(bytesLoaded/1024)+"kb / "+
				Math.round(bytesTotal/1024)+"kb)";
			}
			txt.text="Loading... "+s;
			progressbar.gotoAndStop(percent+1);
			// Если полностью загрузились, то переходим на второй кадр
			if (bytesLoaded==bytesTotal || bytesTotal==0){
				removeEventListener(Event.ENTER_FRAME, Update);
				mc.gotoAndStop("StartPage");
				mc.startGame(); // это как раз старт работы с роликом.
			}
		}
		
	}
}
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ

Старый 01.08.2008, 15:27
SunShadow вне форума Посмотреть профиль Отправить личное сообщение для SunShadow Найти все сообщения от SunShadow
  № 7  
Ответить с цитированием
SunShadow
 
Аватар для SunShadow

Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
Что-то я ничего не понимаю. Эксперементировал с trace проверяю какое значение дает переменная... Все заработало. Убираю строчку с trace работает. Сейчас фактически код один в один как отправлял, ничего не менял и не дополнял и все работает. Мне кажется я схожу с ума
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ

Старый 01.08.2008, 15:31
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 8  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
т.е. момент загрузки ты можешь отследить, вот после этого и срисовывай фреймы

точнее сказать не могу, потому как непонятно причем здесь прелоадер и кто/откуда кого грузит..

Старый 01.08.2008, 15:43
litebox вне форума Посмотреть профиль Отправить личное сообщение для litebox Найти все сообщения от litebox
  № 9  
Ответить с цитированием
litebox
 
Аватар для litebox

Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
Может лучше создать пустышку, которая будет загружать в себя всю флэшку с графикой:
Код:
loader = new Loader();
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, eventProgress);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, eventComplete);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, eventIOError);
Так Вы точно будете знать, что и когда загрузилось, и загрузилось ли вообще


Последний раз редактировалось litebox; 01.08.2008 в 15:50. Причина: исправил ошибку
Старый 01.08.2008, 17:11
tyapichu вне форума Посмотреть профиль Отправить личное сообщение для tyapichu Найти все сообщения от tyapichu
  № 10  
Ответить с цитированием
tyapichu
[+1 25.07.08]

Регистрация: Jun 2008
Адрес: Москва
Сообщений: 25
Отправить сообщение для tyapichu с помощью ICQ
Цитата:
Сообщение от litebox Посмотреть сообщение
Может лучше создать пустышку, которая будет загружать в себя всю флэшку с графикой:
Код:
loader = new Loader();
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, eventProgress);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, eventComplete);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, eventIOError);
Так Вы точно будете знать, что и когда загрузилось, и загрузилось ли вообще
извините, а почему у вас через contentLoaderInfo слушатели добавляются? это какой-то хитрый метод загрузки? разобраться не могу

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

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

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


 


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


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