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

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

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

Регистрация: May 2012
Сообщений: 10
По умолчанию ScrollPane и маска добавляемых объектов

Доброе время суток

1. С помощью АФ CS6 создаю объект - кнопку.
2. С помощью АФ CS6 создаю объект - блики в маске (мувиклип с бликами) (за пределами маски занимает место гораздо больше самой кнопки).
3. также включаю в библиотеку ScrollPane;
-(Все с соответствующими классами)

3. Выгружаю все в SWC.

4. В Flash Develope подключаю SWC.

5. Создаю новый класс наследуемый от объекта из пункта 1.

6. В классе из пункта 5 создаю объект из пункта 2.

-В общем получается кнопка с прикручеными (в маске) бликами (е.р. маска создается в АФ CS6)

Проблема в следующем -

При добавлении (addChild) Объектов (КНОПОК) в объект (ScrollPane.source = ScrollObj) ScrollObj (Sprite) Учитывается размер маски и ScrollObj увеличиваетса соответственно, создаются скроллы не соответствующие ВИДИМЫМ размерам объектов.

Добавлено через 2 часа 54 минуты
Как скролл заставить реагировать на только на видимые области в объекте...?
ИЛИ как строго ограничивать скролируемую область вне зависимости от объекта source?

Старый 12.03.2013, 16:54
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Код AS3:
override public function get height(...)
override public function get width(...)
Если это вам о чем то говорит, то решение задачи на ладони
__________________
Марк Tween

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

Регистрация: May 2012
Сообщений: 10
А можно поподробнее...

Потому как пытался изменить ScrollObj.height - это меняет scale внутренних объектов что не есть хороше...

Добавлено через 59 секунд
и самого объекта - ScrollObj

Добавлено через 1 минуту
Непонятно почему именно геттеры...?

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

Регистрация: Mar 2011
Сообщений: 243
Цитата:
Непонятно почему именно геттеры...?
Сделайте перегрузку методов, которые написал in4core

Старый 12.03.2013, 18:13
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 5  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Перегрузку надо сделать не у скорллпейна , а у объектов которые туда помещаются

Если нужно разжевать, - trace(obj.width) // 200 доупстим, из за того, что маска 200 px, а контент всего 100

после перегрузки trace(obj.width) // 100 - потому , что мы возвращаем свое собственное значение, а именно значение того объекта или области который нам нужен
__________________
Марк Tween

Старый 12.03.2013, 19:48
V01D вне форума Посмотреть профиль Отправить личное сообщение для V01D Найти все сообщения от V01D
  № 6  
Ответить с цитированием
V01D

Регистрация: May 2012
Сообщений: 10
Спасибо ОГРОМНОЕ

Подумав понял почему вы написали геттеры...
но уже поспешил отписатса

Намек был очевиден

Вот переоформленный (елементарный) класс для ScrollObj

Код AS3:
package utils
{
	import flash.display.Sprite;
 
	public class ScrollSprite extends Sprite
	{
		protected var ScrollHeight : Number;
		protected var ScrollWidth : Number;
 
		public function ScrollSprite() 
		{
 
		}
		override public function set height(value:Number):void
		{
			ScrollHeight  = value;
		}
		override public function get height():Number 
		{
			return ScrollHeight;
		}
		override public function set width(value:Number):void
		{
			ScrollWidth  = value;
		}
		override public function get width():Number
		{
			return ScrollWidth;
		}
 
	}
 
}
Добавлено через 1 минуту
Заработало еще раз спасибо

ScrollPane принимает width и height


Последний раз редактировалось V01D; 13.03.2013 в 09:57.
Старый 12.03.2013, 19:59
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 7  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
не за что )
__________________
Марк Tween

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

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

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


 


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


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