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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.01.2014, 16:07
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 1  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
По умолчанию Маска для Sprite из линии

Вроде должно быть просто и в инете много похожих тем, но не одна не подходит, везде о маске с заливкой, а линии это наверное другое.
Вот как делаю и не работает -
Код AS3:
package 
{
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Sprite;
 
	public class MaskaTest extends Sprite 
	{
		[Embed(source="../../../bin/123.jpg")]
		private var Picture0:Class;
		public function MaskaTest() 
		{
			var container:Sprite = new Sprite();
			container.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
			super.addChild(container);
 
			var bm:Bitmap = new Picture0();
			container.addChild(bm);
 
			var frame:Sprite = new Sprite();
			frame.graphics.lineStyle(10);
			frame.graphics.drawRect(0, 0, 100, 300);
			frame.graphics.endFill();
			addChild(frame);
 
			var maskBMD:BitmapData = new BitmapData(frame.width, frame.height,true,0xffffff);
			maskBMD.draw(frame);
			var mask:Bitmap = new Bitmap(maskBMD);
 
			container.mask = mask;
		}
 
	}
 
}

Старый 15.01.2014, 16:15
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 2  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Линии не учитываются масками.

Поторопился, тут не в этом дело.
__________________
hauts.ru

Старый 15.01.2014, 16:57
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 3  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
Поторопился, тут не в этом дело.
А в чём?

Добавлено через 7 минут
Про линии я тоже думал, но тут вроде bm.. Пойду пробовать нарисовать рамку с заливкой, но всё равно надеюсь получить ответ, так как и это когда-нибудь пригодится.
Hauts - когда-нибудь

Добавлено через 24 минуты
Сделал с заливкой, тоже самое.
Код AS3:
public function MaskaTest() 
{
	var container:Sprite = new Sprite();
	container.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
	super.addChild(container);
 
	var bm:Bitmap = new Picture0();
 
	var frame:Sprite = new Sprite();
	var gr:Graphics = frame.graphics;
	gr.beginFill(0x000000);
	gr.lineTo(100, 0);
	gr.lineTo(100, 300);
	gr.lineTo(0, 300);
	gr.lineTo(0, 0);
	gr.moveTo(3, 3);
	gr.lineTo(97, 3);
	gr.lineTo(97, 297);
	gr.lineTo(3, 297);
	gr.lineTo(3, 3);
	addChild(frame);
 
	container.mask = frame;
	container.addChild(bm);
}

Старый 15.01.2014, 17:05
Isfet вне форума Посмотреть профиль Отправить личное сообщение для Isfet Найти все сообщения от Isfet
  № 4  
Ответить с цитированием
Isfet

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
Код AS3:
endFill();
кто будет делать

Старый 15.01.2014, 17:08
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 5  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
кто будет делать
Сделал и так же пробовал менять местами добавление в ДОК, но не помогает.

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

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
у меня первый ваш код работает, какой результат должен быть?

Старый 15.01.2014, 17:13
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 7  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Рамка, не прямоугольную область должно быть видно, а рамку на которую наложена картинка, которая в контейнере.

Добавлено через 30 минут
Восславим же alatar за подсказку о cacheAsBitmap на обоих объектах!

Старый 15.01.2014, 18:22
Koopa вне форума Посмотреть профиль Найти все сообщения от Koopa
  № 8  
Ответить с цитированием
Koopa
Banned
[+1 30.08.14]
[+1 26.02.14]

Регистрация: Apr 2012
Сообщений: 162
Как такое может работать?
Код AS3:
private var Picture0:Class;
Код AS3:
var bm:Bitmap = new Picture0();

Старый 15.01.2014, 18:25
Isfet вне форума Посмотреть профиль Отправить личное сообщение для Isfet Найти все сообщения от Isfet
  № 9  
Ответить с цитированием
Isfet

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
Код AS3:
[Embed(source="../../../bin/123.jpg")]  private var Picture0:Class;
это flex-овский тэг Embed

Старый 15.01.2014, 18:33
Koopa вне форума Посмотреть профиль Найти все сообщения от Koopa
  № 10  
Ответить с цитированием
Koopa
Banned
[+1 30.08.14]
[+1 26.02.14]

Регистрация: Apr 2012
Сообщений: 162
ок! определись куда детей пристраеваешь:
Код AS3:
super.addChild(container);
Код AS3:
container.addChild(bm);
Код AS3:
addChild(frame);

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

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

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


 


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


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