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

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

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

Регистрация: Oct 2009
Сообщений: 20
По умолчанию Сконвертировать изображение в шейп

Есть у меня картинка, которую я включаю в код:
Код AS3:
[Embed (source='pic.png')]
var Png: Class;
Если я добавлю эту картинку
Код AS1/AS2:
addChild(new Png());
то это будет именно картинка, которая позиционируется верхним левым углом. Если же я подключаю в коде шейп, созданный во FlashIDE, то при позиционировании я буду указывать координаты центра (ну в если я так этот шейп нарисую).

Так вот как мне в коде конвертировать картинку в шейп?

Старый 13.09.2010, 17:50
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 2  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Пихайте картинку в контейнер - и позиционируйте ее там как хотите.
__________________
тут я

Старый 13.09.2010, 17:56
bato вне форума Посмотреть профиль Отправить личное сообщение для bato Найти все сообщения от bato
  № 3  
Ответить с цитированием
bato

Регистрация: Oct 2009
Сообщений: 20
это как? мне нужно это сделать на чистом actionscript.

Старый 13.09.2010, 18:30
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 4  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
это так
Код AS3:
var myPng:Bitmap = new Png();
addChild(myPng);
myPng.x = ...;
myPng.y = ...;
__________________
Поймай яблоко 2!

Старый 13.09.2010, 18:35
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 5  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Цитата:
Так вот как мне в коде конвертировать картинку в шейп?
Господа, человеку нужен банальный Graphics#beginBitmapFill()

Старый 13.09.2010, 18:59
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 6  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
i.o., с чего вы взяли, что там обычная заливка?

Допишу код от Zebestov:
Код AS3:
var container:Sprite = new Sprite();
var myPng:Bitmap = new Png();
container.addChild(myPng);
myPng.x = ...;
myPng.y = ...;
__________________
тут я


Последний раз редактировалось КорДум; 13.09.2010 в 19:03.
Старый 13.09.2010, 19:03
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 7  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Цитата:
Сообщение от КорДум Посмотреть сообщение
i.o., с чего вы взяли, что там обычная заливка?
это вообще к чему?
Вопрос выглядел вроде так:
Цитата:
Так вот как мне в коде конвертировать картинку в шейп?
Какие у вас еще варианты по превращению картинки в шейп?

PS: возможно вы не в курсе, если у картинки в библиотеке флэша не назначен класс, то она в шейп превращается после компиляции.


Последний раз редактировалось i.o.; 13.09.2010 в 19:05.
Старый 13.09.2010, 19:05
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 8  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
А, пардон. Но все равно - регистрационную точку нужно самому переносить в нужное место путем сдвига картинки, что я и посоветовал первым своим сообщением.
__________________
тут я

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

Регистрация: Oct 2009
Сообщений: 20
Sprite, как контейнер не подходит, мне нужно отрисовать картинку в Shape'e.

Код AS3:
var b: Bitmap = new Png();            
var sh: Shape = new Shape();            
sh.graphics.beginBitmapFill(b.bitmapData, null, false, true);
sh.graphics.drawCircle(1, 1, b.width / 2);
sh.graphics.endFill();
sh.x = 100;
sh.y = 100;
addChild(sh);
Но в таком случае картинка вставляется в шейп как-то криво.

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Попробуйте так:
Код AS3:
var b: Bitmap = new Bitmap(new Png(0,0))       
var sh: Shape = new Shape(); 
var matrix:Matrix=new Matrix();
matrix.tx=-b.width / 2
matrix.ty=-b.width / 2;
sh.graphics.beginBitmapFill(b.bitmapData, matrix, false, true);
sh.graphics.drawCircle(0,0, b.width / 2);
sh.graphics.endFill();
sh.x = 100;
sh.y = 100;
addChild(sh);

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

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

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


 


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


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