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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.05.2008, 19:00
Pow R. Toc H. вне форума Посмотреть профиль Отправить личное сообщение для Pow R. Toc H. Найти все сообщения от Pow R. Toc H.
  № 1  
Ответить с цитированием
Pow R. Toc H.

Регистрация: Nov 2006
Сообщений: 176
По умолчанию Обрезка прорисовки в рамках UIComponent'a

Можно ли в UIcomponent'e сделать так, что бы рисованные фигуры не выходили за его пределы.

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

Регистрация: Apr 2007
Сообщений: 1,369
Можно, мышка ушла за пределы - и стоп рисованию.
__________________
john


Последний раз редактировалось Molecula; 29.05.2008 в 22:13.
Старый 30.05.2008, 15:54
Pow R. Toc H. вне форума Посмотреть профиль Отправить личное сообщение для Pow R. Toc H. Найти все сообщения от Pow R. Toc H.
  № 3  
Ответить с цитированием
Pow R. Toc H.

Регистрация: Nov 2006
Сообщений: 176
да нет.. дело не в этом...

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

Регистрация: Apr 2007
Сообщений: 1,369
Как это нет.
Вы, допустим рисуете в прямоугольнике, вешаете листенеры, нажимаете мышу - рисуете - тяните, выходите за пределы прямоугольника и рисование обрывается - я так делал.
__________________
john

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

Регистрация: Feb 2008
Адрес: Russia
Сообщений: 19
Надо делать override методов measure() и updateDisplayList().
Подробнее здесь: http://livedocs.adobe.com/flex/3/htm...dvanced_2.html
__________________
lida -- dyra (c) lida

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

Регистрация: Feb 2008
Адрес: Russia
Сообщений: 19
Или же можно просто задать жесткие размеры для компонента.
__________________
lida -- dyra (c) lida

Старый 05.06.2008, 18:48
ex.image вне форума Посмотреть профиль Отправить личное сообщение для ex.image Найти все сообщения от ex.image
  № 7  
Ответить с цитированием
ex.image

Регистрация: Jan 2006
Адрес: Москва
Сообщений: 65
Отправить сообщение для ex.image с помощью ICQ
Если будешь рисовать в нем что нить графиксом то помоему неспасет даже установленный размер.
Пока юзал маску которая рисуеться и ставиться когда компонент ресайзиться.
__________________
Бубен - волшебный инструмент программирования.

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

Регистрация: Apr 2007
Сообщений: 1,369
Да масок особо никаких не надо.
Просто при startDrag правильно вычисляем Rectangle.
__________________
john

Старый 06.06.2008, 09:29
ex.image вне форума Посмотреть профиль Отправить личное сообщение для ex.image Найти все сообщения от ex.image
  № 9  
Ответить с цитированием
ex.image

Регистрация: Jan 2006
Адрес: Москва
Сообщений: 65
Отправить сообщение для ex.image с помощью ICQ
Какой Rectangle? Под рисованием в данном посте имхо такой код имееться ввиду (здесь уже с масочкой):

Код:
package
{
	import flash.display.Shape;
	
	import mx.core.IUIComponent;
	import mx.core.UIComponent;
	
	public class Sample extends UIComponent implements IUIComponent
	{
		private var shapeMask:Shape
		
		public function Sample()
		{
			shapeMask = new Shape()
			addChild(shapeMask)
			
			mask = shapeMask
			
			graphics.beginFill(0xFF0000);
			graphics.drawRect(0, 0, 500, 500);
		}
		override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
		{
			super.updateDisplayList(unscaledWidth, unscaledHeight)
			
			shapeMask.graphics.clear()
			shapeMask.graphics.beginFill(0x00FF00);
			shapeMask.graphics.drawRect(0, 0, unscaledWidth, unscaledHeight);
		}
	}
}
проверить можно этим

Код:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*" enterFrame="update()">
	<mx:Script>
		<![CDATA[
			private function update():void
			{
				sample.width = mouseX
				sample.height = mouseY
			}
		]]>
	</mx:Script>
	<local:Sample id="sample"/>
</mx:Application>
__________________
Бубен - волшебный инструмент программирования.

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

Регистрация: Apr 2007
Сообщений: 1,369
ex.image, я так понял, что автору нужно, например в Канвасе 200 на 200, нарисованный Спрайт (50 на 50), таскать в этих пределах 200 на 200.
Т.е. дальше сторон Канваса Спрайт не уйдет.
__________________
john

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

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

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


 


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


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