Показать сообщение отдельно
Старый 23.02.2011, 01:48
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 3  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
не встречал этого бага. А можно подробности?
Вот методы чтения/записи
Код AS3:
	  /** Read a {@code float} field value from the stream. */
	  public function readFloat():Number {
	    return readRawLittleEndian32();
	  }
 /** Read a 32-bit little-endian integer from the stream. */
	  public function readRawLittleEndian32():int {
	    var b1:int = readRawByte();
	    var b2:int = readRawByte();
	    var b3:int = readRawByte();
	    var b4:int = readRawByte();
	    return ((b1 & 0xff)      ) |
	           ((b2 & 0xff) <<  8) |
	           ((b3 & 0xff) << 16) |
	           ((b4 & 0xff) << 24);
	  }
Код AS3:
	  /** Write a {@code float} field, including tag, to the stream. */
	  public function writeFloat(fieldNumber:int, value:Number):void {
	    writeTag(fieldNumber, WireFormat.WIRETYPE_FIXED32);
	    writeRawLittleEndian32(value);
	  }
	  /** Write a little-endian 32-bit integer. */
	  public function writeRawLittleEndian32(value:int):void {
	    writeRawByte((value      ) & 0xFF);
	    writeRawByte((value >>  8) & 0xFF);
	    writeRawByte((value >> 16) & 0xFF);
	    writeRawByte((value >> 24) & 0xFF);
	  }
UPD. Да есть косяк. Number преобразовывается в int
Мне как то не попадались float в моих проектах. Поэтому баг не замечал.
__________________
Отряд Котовскага


Последний раз редактировалось Котяра; 23.02.2011 в 01:54.