Показать сообщение отдельно
Старый 14.11.2013, 15:34
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 6  
Ответить с цитированием
Akopalipsis
Banned

Регистрация: Mar 2013
Сообщений: 1,864
Примерно вот так -
Код AS3:
package
{
	import flash.display.Sprite;
	import flash.events.Event;
 
	public class Main extends Sprite 
	{
 
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
 
			var _ticket:Ticket = new Ticket('P.S Возможно этот метод очень извращенный и есть более простое программное решение. Если есть, подскажите пожалуйста');
			addChild(_ticket);
		}
 
	}
 
}
Код AS3:
package 
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.text.TextField;
 
	public class Ticket extends Sprite 
	{
		private var _text:String;
 
		private var _textOne:TextField;
		private var _textTwo:TextField;
 
		private var _containerWidth:int;
		private var _nextText:int;
 
		private var _speedOne:int ;
		private var _speedTwo:int;
 
		private var _isEndOne:Boolean;
		private var _isEndTwo:Boolean;
		private var _end:int;
 
		public function Ticket(text:String) 
		{
			_text = text;
			addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
		}
 
		private function addedToStageHandler(event:Event):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
			addEventListener(Event.ENTER_FRAME, enterFrameHandler);
 
			_containerWidth = 150;
 
			_textOne = new TextField();
			_textOne.autoSize = 'left';
			_textOne.text = _text;
			addChild(_textOne)
 
			_speedOne = 2;
 
			_textTwo = new TextField();
			_textTwo.autoSize = 'left';
			_textTwo.text = _text;
			_textTwo.x = _containerWidth;
			addChild(_textTwo)
 
			_speedTwo = 0;
 
			_nextText = _containerWidth - _textOne.width;
			_end = -_textOne.width;
		}
 
		private function enterFrameHandler(event:Event):void 
		{
			if (_textOne.x <= _nextText)
			{
				_isEndOne = true;
				_speedTwo = 2;
			}
			if (_textTwo.x <= _nextText)
			{
				_isEndTwo = true;
				_speedOne = 2;
			}
			if (_isEndOne)
			{
				if (_textOne.x <= _end)
				{
					_speedOne = 0;
					_textOne.x = _containerWidth;
					_isEndOne = false;
				}
			}
			if (_isEndTwo)
			{
				if (_textTwo.x <= _end)
				{
					_speedTwo = 0;
					_textTwo.x = _containerWidth;
					_isEndTwo = false;
				}
			}
			_textOne.x -= _speedOne;
			_textTwo.x -= _speedTwo;
		}
 
	}
 
}


Последний раз редактировалось Akopalipsis; 14.11.2013 в 15:51.