0
나는 as3에서 ByteArray를 사용하는 멍청한데, 도움이 될 것입니다. C# 함수 (By code 제공)에서 ByteArray를 반환하는 as3에서이 "Header"함수를 재현하려고합니다. 누구나 올바른 방향으로 나를 가리킬 수 있습니까?ByTeArray C# 함수의 AS3 함수가 필요합니다.
private function header():ByteArray
{
var header:ByteArray = new ByteArray();
header.writeUTFBytes("A");
header.writeUTFBytes("B");
header.writeUTFBytes("C");
header.writeUTFBytes("D");
...
}
당신에게
private enum PacketType
{
PtHelo = 0x01,
PtBye = 0x02,
PtButton = 0x03,
PtMouse = 0x04,
}
private const byte bv = 2;
private const byte mv = 0;
private byte[] Header(PacketType packetType, int numberOfPackets, int currentPacket, int payloadSize)
{
var header = new byte[HeaderSize];
header[0] = (byte)'A';
header[1] = (byte)'B';
header[2] = (byte)'C';
header[3] = (byte)'D';
header[4] = bv;
header[5] = mv;
if (currentPacket == 1)
{
header[6] = (byte)(((ushort)packetType & 0xff00) >> 8);
header[7] = (byte)((ushort)packetType & 0x00ff);
}
else
{
header[6] = ((ushort)PacketType.PtBlob & 0xff00) >> 8;
header[7] = (ushort)PacketType.PtBlob & 0x00ff;
}
header[8] = (byte)((currentPacket & 0xff000000) >> 24);
header[9] = (byte)((currentPacket & 0x00ff0000) >> 16);
header[10] = (byte)((currentPacket & 0x0000ff00) >> 8);
header[11] = (byte)(currentPacket & 0x000000ff);
header[12] = (byte)((numberOfPackets & 0xff000000) >> 24);
header[13] = (byte)((numberOfPackets & 0x00ff0000) >> 16);
header[14] = (byte)((numberOfPackets & 0x0000ff00) >> 8);
header[15] = (byte)(numberOfPackets & 0x000000ff);
header[16] = (byte)((payloadSize & 0xff00) >> 8);
header[17] = (byte)(payloadSize & 0x00ff);
return header;
}
신속한 답변을 부탁드립니다. 나는 이것을 시도 할 것이다. – BlendMode
비트 연산을하고 싶다면 as3에서 어떻게 할 수 있을까요? – BlendMode
정말 고마워 .. 난 아직도 그것에 노력하고있어 내가 원하는 결과를 얻지 못하고 ... 개인 const 바이트를 얻으려면 bv = 2; ... 헤더 [4] = bv; AS3에이 header.writeByte (2); 또는 header.writeInt (2); ??? – BlendMode