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

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

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

Регистрация: Jan 2014
Сообщений: 2
Вот чем могу помочь(Листинг 2). Применяется для слежения за игроком на футбольном поле.
Примеры применения (Листинг 1)

Код AS3:
(Листинг 1)
Scrolling = new Scrollingdata(SW, SH, W, H);
scrollRect = Scrolling.getRect();	
 
private function moveRectWath (gmrInd:int) {
    Scrolling.updateScrollRect(PlMng.PlArray[gmrInd].x, PlMng.PlArray[gmrInd].y);
    scrollRect = Scrolling.getRect();		// Прокрутка области			
}
 
public function changeSkroolRect (SW:int, SH:int) {	// изменяем размеры области скролла - вход в полный экран
         Scrolling.setRectangle(SW, SH, W, H);
}
Код AS3:
(Листинг 2)
package Field
{
	import flash.geom.Rectangle;
 
	public class Scrollingdata
	{
		private var H:Number;			// Полная высота окна, по которому скроллим
		private var W:Number;			// Полная ширина окна, по которому скроллим
		private var itrnlSW:Number;		// Ширина прямоугольника для скролла
		private var itrnlSH:Number;		// Высота прямоугольника для скролла
		private var itcurDltX:Number 	= 0;	// текущее смещение в скроле
		private var itcurDltY:Number 	= 0; 	// текущее смещение в скроле
		private var maxDltX:Number 		= 0; 	// максимальное смещение в скролле
		private var maxDltY:Number 		= 0; 	// максимальное смещение в скролле
 
		public function Scrollingdata (SWout:Number, SHout:Number, Wout:Number, Hout:Number) {
			setRectangle (SWout, SHout, Wout, Hout);
		}
		/****************************************************/
		public function setRectangle (SWout:Number, SHout:Number, Wout:Number, Hout:Number) {
			itrnlSW = SWout;		// Ширина прямоугольника для скролла
			itrnlSH = SHout;		// Высота прямоугольника для скролла
			W  = Wout;				// Полная ширина окна, по которому скроллим
			H  = Hout;				// Полная высота окна, по которому скроллим
			maxDltX = W - itrnlSW;	// максимальное смещение в скролле
			if (maxDltX < 0) maxDltX = 0;
			maxDltY = H - itrnlSH;	// максимальное смещение в скролле	
			if(maxDltY < 0) maxDltY = 0;
		}
		/****************************************************/
		public function getRect () : Rectangle {
			var rect:Rectangle = new Rectangle(itcurDltX, itcurDltY, itrnlSW, itrnlSH);	// Прокрутка области
			return rect;
		}
		/****************************************************/
		public function updateScrollRect (PlX:Number, PlY:Number)
		{
			itcurDltX = PlX - itrnlSW*0.5; 
			itcurDltY = PlY - itrnlSH*0.5; 
			if (itcurDltX < 0) itcurDltX = 0;
			if (itcurDltY < 0) itcurDltY = 0;
			if (itcurDltX > maxDltX) itcurDltX = maxDltX;
			if (itcurDltY > maxDltY) itcurDltY = maxDltY;				
		}
		/****************************************************/
		public function get SW () : Number {
			return itrnlSW;
		}
		/****************************************************/
		public function get SH () : Number {
			return itrnlSH;
		}
		/****************************************************/
		public function get curDltX () : Number {
			return itcurDltX;
		}
		/****************************************************/
		public function get curDltY () : Number {
			return itcurDltY;
		}
		/****************************************************/
	}
}

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

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

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


 


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


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