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

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

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

Регистрация: Jul 2004
Сообщений: 113
По умолчанию draw в отрицательных координатах

допустим есть мувиклип в котором часть содержимого находится в отрицательных координатах... метод draw для копирования графического содержимого напрочь игнорирует все что находится в этих самых отрицательных координатах...

Так например если у меня в мувиклипе находится круг с центром в точке 0,0
то draw мне выдаст только четверть круга, которая находилась в положительной части...

Как мне скопировать весь круг?

Добавлено через 7 минут
о... только что нашел что оказывается если matrix.translation указать методу draw то он нормально считывает с отрицательных координат... только вот теперь вопрос - как найти самую левую-верхнюю отрицательную точку внутри мувиклипа, чтобы знать на какую величину матриксу указывать tranclation

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Допустим у вас есть клип mc с кругом размером 100 на 100, расположенный в центре клипа.
Код AS3:
var bmp:BitmapData = new BitmapData (100,100, true, 0x00000000);
var b:Bitmap = new Bitmap (bmp);
addChild(b);
var m:Matrix = new Matrix ();
m.createBox(1,1,0,50,50);
bmp.draw(mc, m);
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 11.03.2010, 03:03
illusion21 вне форума Посмотреть профиль Отправить личное сообщение для illusion21 Посетить домашнюю страницу illusion21 Найти все сообщения от illusion21
  № 3  
Ответить с цитированием
illusion21

Регистрация: Jul 2004
Сообщений: 113
это если знать на какую величину сдвигать... а если эта величина неизвестна?
Вот к примеру в мувиклипе разное количество объектов и часть из них расположена в отрицательных коодинатах... нужно снять копию с этого мувиклипа так чтобы те что в отрицательных тоже туда попали...

логично что нужно узнать величину на которую матриксом делать сдвиг для draw... а вот как эту величину узнать?

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Код AS3:
var bmp:BitmapData = new BitmapData (100,100);
var b:Bitmap = new Bitmap (bmp);
addChild(b);
var m:Matrix = new Matrix ();
trace(mc.getBounds(this));
var rect:Rectangle = mc.getBounds(mc);
m.createBox(1,1,0,-rect.x,-rect.y);
bmp.draw(mc, m);
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Jul 2004
Сообщений: 113
спасибо

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

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
столкнулся с такой же проблемой...
только мне нужно вырезать именно рабочую область, то что в данный момент отображается, но обрезается не верно

Код AS3:
var bitmaData:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight, false, 0xFB0000);
var matrix:Matrix = new Matrix();
var rect:Rectangle = this.getBounds(this._map);	
matrix.createBox(1,1,0,-rect.x,-rect.y);
var point:Point = this._map.globalToLocal(new Point(0,0));
 
var cropRect:Rectangle = new Rectangle(point.x, point.y, stage.stageWidth, stage.stageHeight)
 
bitmaData.draw(this._map, matrix, null, null, cropRect);
картинку вроде как бирет верно, но мне из нее нужно вырезать кусок именно тот который в данный момент отображется
__________________
Коллекционирую чужие ActionScript Блоги

Старый 13.04.2010, 13:28
Tahion вне форума Посмотреть профиль Отправить личное сообщение для Tahion Найти все сообщения от Tahion
  № 7  
Ответить с цитированием
Tahion

Регистрация: Apr 2010
Сообщений: 57
matrix, tx, ty координаты икс и игрик можешь использовать их

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

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
в плане использовать?
__________________
Коллекционирую чужие ActionScript Блоги

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

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

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


 


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


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