Domanda

Ecco la situazione: sto facendo una versione multiplayer di pong per Android. Quando i miei collega pagaia con la palla, voglio inviare l'altro giocatore il punto di impatto della palla (come coordinate x, y) in modo che lo schermo del l'altro giocatore può aggiornare per mostrare dove la palla è venuta da così come la posizione del mio pagaia. L'altro dispositivo calcolerà la traiettoria della palla ed eventualmente ripetere questo processo. In sostanza quello che voglio è qualcosa che assomiglia a questo -

static final int RESPONSE_CODE = (some #);

int[] return_data = {RESPONSE_CODE, myPaddle.x, myPaddle.y, ballImpactPosition.x, ballImpactPosition.y};

blueToothConnection.write(return_data);

Il problema qui è che si basa su bluetoothConnection.write() java.io.OutputStream e in modo che solo supporta la scrittura di un byte [].

Quindi, non v'è alcun modo per convertire il mio int [] in un byte [] (e viceversa in seguito)? Se aiuta, il mio int [] conterrà sempre esattamente 5 interi, tutti sempre positivi. Im non sicuro di quello che i valori massimi dei miei interi sono, perché questo dipende da dimensioni dello schermo del dispositivo.

È stato utile?

Soluzione

In this case, the ByteBuffer is your friend:

Android API link for ByeBuffer

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top