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

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

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

Регистрация: May 2007
Адрес: Минск
Сообщений: 49
The bomb! Загрузка jpg и присвоение ЕЙ Linkage

Помогите. Уже не первый день мучаю вас вопросами. Наконец смог сформулировать и понять, что мне конкретно нужно.

Нужно что бы загружалась картинка. Ей присвоивался Linkage. Именно ей, а не мувиклипу, в который ее можно загрузить. Потому что мне нужно после загрузки трансормировать ее вот этим кодом:

Код:
function ldbmp() {
	var bmp=BitmapData.loadBitmap("pic");
	var pic:DistortBitmap=InstanceManager.createMC(this,DistortBitmap,bmp,5,3);
	var distortPointsArr:Array=[];
	distortPointsArr.push(new Point(128,52));
	distortPointsArr.push(new Point(38,48));
	distortPointsArr.push(new Point(38,176));
	distortPointsArr.push(new Point(128,162));
	pic.distort(distortPointsArr);
}
При нажатии кнопки - удалить Linkage, что бы можно было его присвоить следующей картинки

Помогите плиз. Уже почти неделю мочаюсь то с одним, то с другим. Учусь потихоньку.
__________________
Не разьбiць, не спынiць, не стрымаць.

Старый 11.02.2008, 04:40
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Linkage можно присвоить ТОЛЬКО объекту в библиотеке fla, в swf это невозможно.

Однако для вашей задачи нужно совсем другое. А именно:
1. Загрузить картинку в мувиклип.
2. Создать пустой объект BitmapData под размеры картинки
3. Снять изображение из мувилипа в BitmapData с помощью метода draw ().
4. Удалить загрузочный мувиклип.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 11.02.2008, 05:53
qwr вне форума Посмотреть профиль Отправить личное сообщение для qwr Найти все сообщения от qwr
  № 3  
Ответить с цитированием
qwr
 
Аватар для qwr

Регистрация: May 2007
Адрес: Минск
Сообщений: 49
Что то неполучается... Что я неправильно делаю?

Код:
import com.silin.InstanceManager;
import com.silin.DistortBitmap;
import flash.display.BitmapData;
import flash.geom.*;

r = 0;

function DistBmp() {
	var bmp = BitmapData.loadBitmap("newbmp");
	var pic:DistortBitmap = InstanceManager.createMC(this, DistortBitmap, bmp, 5, 3);
	var distortPointsArr:Array = [];
	distortPointsArr.push(new Point(128, 52));
	distortPointsArr.push(new Point(38, 48));
	distortPointsArr.push(new Point(38, 176));
	distortPointsArr.push(new Point(128, 162));
	pic.distort(distortPointsArr);
}

if (r == 0) {
	var my_mcl:MovieClipLoader = new MovieClipLoader();
	var my_obj:Object = new Object();
	my_mcl.loadClip("pic1.jpg",clip);
	my_obj.onLoadProgress = function(clip, bytesLoaded, totalBytes) {
		progres_tf.text = Math.round(bytesLoaded/totalBytes*100)+"%";
	};
	my_obj.onLoadComplete = function(clip) {
		newbmp = new BitmapData(200, 196, true, 0x0);
		newbmp.draw(clip);
		DistBmp();
		delete my_obj;
		delete my_mcl;
	};
	my_mcl.addListener(my_obj);
}
Исходник: ishodnik.zip
__________________
Не разьбiць, не спынiць, не стрымаць.

Старый 11.02.2008, 06:10
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 4  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
попробуйте так:
Код:
var pic:DistortBitmap = InstanceManager.createMC(this, DistortBitmap, newbmp, 5, 3);
upd: и onLoadComplete() на onLoadInit() заменить


Последний раз редактировалось udaaff; 11.02.2008 в 06:13.
Старый 11.02.2008, 06:17
qwr вне форума Посмотреть профиль Отправить личное сообщение для qwr Найти все сообщения от qwr
  № 5  
Ответить с цитированием
qwr
 
Аватар для qwr

Регистрация: May 2007
Адрес: Минск
Сообщений: 49
Спасибо огроменное! Вы гении! Все заработало!
__________________
Не разьбiць, не спынiць, не стрымаць.

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

Регистрация: May 2007
Адрес: Минск
Сообщений: 49
Есть еще наверное ошибка тут...

Столкнулся с еще одной проблеммой - При каждом вызове этого кода все больше и больше пожирается системных ресурсов.
Раз 20 кликнул на кнопочку и комп уже висит...

Подскажите, где ошибка. Видимо что то загружается и не удаляется. Остается в памяти...
__________________
Не разьбiць, не спынiць, не стрымаць.

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

Регистрация: Apr 2007
Сообщений: 1,369
Хм, может dispose() поможет.
__________________
john

Старый 11.02.2008, 16:10
qwr вне форума Посмотреть профиль Отправить личное сообщение для qwr Найти все сообщения от qwr
  № 8  
Ответить с цитированием
qwr
 
Аватар для qwr

Регистрация: May 2007
Адрес: Минск
Сообщений: 49
Не помогает.

Вот какой у меня в итоге код:

Код:
import com.silin.InstanceManager;
import com.silin.DistortBitmap;
import flash.display.BitmapData;
import flash.geom.*;

r = 1;

function slideshow() {
	i = "pic"+r+".jpg";
	function DistBmp() {
		var bmp = BitmapData.loadBitmap("newbmp");
		var pic:DistortBitmap = InstanceManager.createMC(this, DistortBitmap, newbmp, 5, 3);
		var distortPointsArr:Array = [];
		distortPointsArr.push(new Point(560, 90));
		distortPointsArr.push(new Point(160, 100));
		distortPointsArr.push(new Point(160, 480));
		distortPointsArr.push(new Point(560, 410));
		pic.distort(distortPointsArr);
	}

	var my_mcl:MovieClipLoader = new MovieClipLoader();
	var my_obj:Object = new Object();
	my_mcl.loadClip(i,clip);
	my_obj.onLoadProgress = function(clip, bytesLoaded, totalBytes) {
		progres_tf.text = Math.round(bytesLoaded/totalBytes*100)+"%";
	};
	my_obj.onLoadInit = function(clip) {
		newbmp.dispose();
		newbmp = new BitmapData(200, 196, true, 0x0);
		newbmp.draw(clip);
		DistBmp();
		delete my_obj;
		delete my_mcl;
	};
	my_mcl.addListener(my_obj);
}

if (r == 1) {
	slideshow();
}
Подскажите, где ошибка.
__________________
Не разьбiць, не спынiць, не стрымаць.

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

Регистрация: May 2007
Адрес: Минск
Сообщений: 49
Помогите пожалуйста! Если бы я сам мог разобратся - я бы не спрашивал...

Я залил полный исходник сюда: исходник (10 Мб)

саму флэшку, что бы поглядеть характер тормозов, можно глянуть тут. (400 кб) Через несколько раз нажатий на кнопку next или back становится заметно, как мувик начинает тормозить. Кинолента начинает двигатся рывками. И т.п.
__________________
Не разьбiць, не спынiць, не стрымаць.

Старый 12.02.2008, 05:35
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 10  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
При каждом шаге, createMC создает новый мувиклип с картинкой, не удаляя старый.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

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

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


 


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


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