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

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

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

Регистрация: Sep 2010
Сообщений: 49
По умолчанию Bitmap точное копирование

Добрый вечер.

Тут такая проблемка. Как точно скопировать с одной битмапки в новую. Я тут кое, что написал, но видимо не совсем то. Получается, что я беру из битмапки, что-то частично, выборочно.

puzyr (пузырь) это мувик на сцене, круг 10x10, я хочу им закрасить ну например квадрат.
Тут код такой настряпал вобщем:
Код AS3:
function drawImage(event:MouseEvent):void {
var myBitmap:BitmapData = new BitmapData(puzyr.width, puzyr.height, false);
myBitmap.draw(puzyr,  new Matrix());
var matrix:Matrix = new Matrix();
//matrix.rotate(Math.PI/4);
graphics.beginBitmapFill(myBitmap, matrix, true);
graphics.drawCircle(mouseX, mouseY, 10);
graphics.endFill();
 }
 
stage.addEventListener(MouseEvent.MOUSE_MOVE, drawImage);
Спасибо.

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Не надо там создавать новую, пустую матрицу, это бессмысленно.
Код AS3:
var myBitmap:BitmapData = new BitmapData(puzyr.width, puzyr.height, false);
myBitmap.draw(puzyr);
//и дальше вообще матрица не нужна
graphics.beginBitmapFill(myBitmap, null, true);
graphics.drawCircle(mouseX, mouseY, 10);
graphics.endFill();

Старый 27.04.2015, 14:23
Andrej вне форума Посмотреть профиль Отправить личное сообщение для Andrej Найти все сообщения от Andrej
  № 3  
Ответить с цитированием
Andrej

Регистрация: Sep 2010
Сообщений: 49
Цитата:
Сообщение от caseyryan Посмотреть сообщение
Не надо там создавать новую, пустую матрицу, это бессмысленно.
Код AS3:
var myBitmap:BitmapData = new BitmapData(puzyr.width, puzyr.height, false);
myBitmap.draw(puzyr);
//и дальше вообще матрица не нужна
graphics.beginBitmapFill(myBitmap, null, true);
graphics.drawCircle(mouseX, mouseY, 10);
graphics.endFill();
Ок, хорошо спасибо за совет. Но проблемка осталось, вобщем вот скрин, два шара рядом, оригинал и то, что получается, как это можно исправить.
Изображения
 

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,922
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Решить то можно, но вопрос - зачем такую муть делать?
Нарисовали вы в битмапу объект, а теперь вот так:

Код AS3:
var myBitmapData:BitmapData = new BitmapData(puzyr.width, puzyr.height, false);
myBitmapData.draw(puzyr);
addChild(new Bitmap(myBitmapData));
Просто создаём битмап, кормим его битмапдатой с нашим шариком и добавляем в список отображения.
P.S. Ааа, я понял фишку, почему у вас только красный кусок отображается. У вас центр привязки объекта находится в центре. Он должен быть в левом верхнем углу. Выровняйте с помощью панели Align.
__________________
There is no thing in this world that is not simple.

Старый 27.04.2015, 22:07
Andrej вне форума Посмотреть профиль Отправить личное сообщение для Andrej Найти все сообщения от Andrej
  № 5  
Ответить с цитированием
Andrej

Регистрация: Sep 2010
Сообщений: 49
Упс да насчет центрирования по левому углу, чет стормил, правда все равно не совсем то получается. А насчет addChild(new Bitmap(myBitmapData)); эт то понятно, вобщем я хочу сделать типа мы моем машину, например мылим мочалкой и заполняем пузырями ну и так далее. Игрушку вобщем делаю. Сначало думал попроще сделать, типа мылим в одном месте а она вся мылится, но эт как то несерьезно, видел такие игры мылиш колесо и мылится вся машина. Вобщем такая вот история. Вроде как выход придумал, можно поробовать сделать типа какой нить bur и тогда будет ок. ZackMercury, caseyryan благодарю вас за помощь.

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,922
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Для этого существуют маски.
__________________
There is no thing in this world that is not simple.

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

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

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


 


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


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