Показать сообщение отдельно
Старый 01.03.2011, 00:02
zhoran вне форума Посмотреть профиль Отправить личное сообщение для zhoran Найти все сообщения от zhoran
  № 3  
Ответить с цитированием
zhoran

Регистрация: Dec 2010
Адрес: Химки МО
Сообщений: 95
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
switch в if`е. Какие предложения? )
Код AS3:
public class ChatBubbleIngame extends ChatBubble {
 
	/**
	 * Chat Bubble with positions
	 * @param	host
	 * @param	seat
	 * @param	maxPlayers
	 */
	public function ChatBubbleIngame(host:DisplayObjectContainer, seat:uint, maxPlayers:uint) {
		super(host);
		var arr:Array = maxPlayers === 6 ? [2,3,0,0,0,1] : [2,3,3,0,0,0,0,1];
		if (seat >= arr.lenght) 
			throw new ArgumentError(seat);
		else
			setTailPosition(arr[seat])
	}
 
	override public function setTailPosition(tailPosition:uint):void {
		_gfx.x, _gfx.y = *([[-2,-54], [-5,57], [-5,57], [2,-54] ][tailPosition]);
		super.setTailPosition(tailPosition);
	}
 
}
Примерно так, но за точность синтаксиса не ручаюсь.

Добавлено через 8 минут
Цитата:
Сообщение от dimarik Посмотреть сообщение
... Источник может выдавать данные в любом виде (от примитивов до комплексных структур). Десериализатор содержит набор правил, с помощью которых осуществляется разбор выхлопа источника в свойства внутренней модели приложения. Изменился источник данных и мы не можем влиять на протокол — меняем сериализатор.
тут кмк лучше бы разные источники - сокет, таймер, етц, выдавали данные в одном формате, например, xml, который бы уже десериализовывался в свойства внутренней модели приложения. Десериализатор один раз написал и стоп, да и верифицировать xml от нового источника просто. То есть протокол - это xml, а что до него - канальный уровень.