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

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

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

Регистрация: Oct 2005
Сообщений: 6
По умолчанию Image container scroller

Привет всем

У меня возник вопрос по поводу перемещения
контейнера с картинками в пределах маски.

Чтобы был понятен мой вопрос, попытаюсь
объяснить по картинке

В общем На сцене создана маска (Mask_mc), под ней находится контейнер с картинками
(ThumbHolder_mc) Длинна его постоянно изменяется, в зависимости от подгружаемых картинок(Thumb_mc)

Контейнер с картинками (ThumbHolder_mc) перемещается в лево или в право при нажатии на стрелки (ArrowLeft_mc и ArrowRight_mc), как остановить движение контейнера (ThumbHolder_mc) в пределах (Mask_mc)???

тут мой исходник...

Благодарю за внимание.

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

Регистрация: May 2008
Адрес: Новокузнецк
Сообщений: 219
Записей в блоге: 1
Заменишь, будет работать.

Код AS1/AS2:
var nSpeed:Number = 100;
function ArrowButton() {
	_root.attachMovie("arrow_mc","arrow_left_mc",this.getNextHighestDepth());
	_root.arrow_left_mc._x = 10;
	_root.arrow_left_mc._y = 25;
 
	_root.arrow_left_mc.onRollOver = function() {
		_root.arrow_left_mc.gotoAndStop(2);
	};
 
	_root.arrow_left_mc.onRollOut = function() {
		_root.arrow_left_mc.gotoAndStop(1);
	};
 
	_root.arrow_left_mc.onRelease = function() {
		nSpeed = 100;
		if (_root.container_mc._x < _root.mask_mc._x) {
			_root.container_mc._x += nSpeed;
		}
	};
 
	_root.attachMovie("arrow_mc","arrow_right_mc",this.getNextHighestDepth());
	_root.arrow_right_mc._x = 770;
	_root.arrow_right_mc._y = 46;
	_root.arrow_right_mc._rotation = 180;
 
 
	_root.arrow_right_mc.onRollOver = function() {
		_root.arrow_right_mc.gotoAndStop(2);
	};
 
	_root.arrow_right_mc.onRollOut = function() {
		_root.arrow_right_mc.gotoAndStop(1);
	};
 
 
	_root.arrow_right_mc.onRelease = function() {
		_root.container_mc._x -= nSpeed;
		//mask_mc
		//container_mc
		if ((container_mc._width + container_mc._x) < (mask_mc._width + mask_mc._x)) {
			container_mc._x = container_mc._x+nSpeed;
			nSpeed = 0;
			trace("stop");
		}
	};
}
__________________
Книги и желание лучшие учителя.


Последний раз редактировалось Vektor; 26.04.2009 в 02:40.
Старый 27.04.2009, 14:17
Rspline вне форума Посмотреть профиль Отправить личное сообщение для Rspline Найти все сообщения от Rspline
  № 3  
Ответить с цитированием
Rspline

Регистрация: Oct 2005
Сообщений: 6
Цитата:
Сообщение от Vektor Посмотреть сообщение
Заменишь, будет работать.
Спасибо, работает, но при добавлении Tween класса почему то все равно высчитывает немного не верно... почему?
Вот код
Код AS1/AS2:
var nSpeed:Number = 100;
function ArrowButton ()
{
	_root.attachMovie ("arrow_mc","arrow_left_mc",this.getNextHighestDepth ());
	_root.arrow_left_mc._x = 10;
	_root.arrow_left_mc._y = 25;
 
	_root.arrow_left_mc.onRollOver = function ()
	{
		_root.arrow_left_mc.gotoAndStop (2);
	};
 
	_root.arrow_left_mc.onRollOut = function ()
	{
		_root.arrow_left_mc.gotoAndStop (1);
	};
 
	_root.arrow_left_mc.onRelease = function ()
	{
		nSpeed = 100;
		if (_root.container_mc._x < _root.mask_mc._x)
		{
			//_root.container_mc._x += nSpeed;
			var contCount:Number = _root.container_mc._x;
			var count:Number = contCount += nSpeed;
			TweenLite.to (container_mc,1,{_x:count, ease:Expo.easeInOut});
		}
	};
 
	_root.attachMovie ("arrow_mc","arrow_right_mc",this.getNextHighestDepth ());
	_root.arrow_right_mc._x = 770;
	_root.arrow_right_mc._y = 46;
	_root.arrow_right_mc._rotation = 180;
 
 
	_root.arrow_right_mc.onRollOver = function ()
	{
		_root.arrow_right_mc.gotoAndStop (2);
	};
 
	_root.arrow_right_mc.onRollOut = function ()
	{
		_root.arrow_right_mc.gotoAndStop (1);
	};
 
	_root.arrow_right_mc.onRelease = function ()
	{
		var contX:Number = _root.container_mc._x;
		var count:Number = contX -= nSpeed;
		trace (count);
		TweenLite.to (container_mc,1,{_x:count, ease:Expo.easeInOut});
 
		if ((container_mc._width + container_mc._x) < (mask_mc._width + mask_mc._x))
		{
 
			var count:Number = contX += nSpeed;
			trace (count);
			TweenLite.to (container_mc,1,{_x:count, ease:Expo.easeInOut});
			//container_mc._x = container_mc._x + nSpeed;
			nSpeed = 0;
			trace ("stop");
		}
	};
 
}
И сам исходник..

Я в AS не силён, начал его изучать совсем недавно, так что если возможно то можно краткое пояснение в чём у меня ошибка и как должно быть, спасибо.

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

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

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


 


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


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