Вы можете реализовать свой собственный визуальный джойстик, используя функции обратного вызова unity new , такие как OnBeginDrag
OnDrag
и OnEndDrag
. Существует уже сделанный пакет Visual Joystick для Unity, поэтому реализовать его можно, как изобретать колесо.
Все, что вам нужно сделать, это импортировать пакет CrossPlatformInputManager
из Unity's UnityStandardAssets , затем используйте CrossPlatformInputManager.GetAxis("Horizontal")
и CrossPlatformInputManager.GetAxisRaw("Horizontal")
, чтобы прочитать направление изображения / большого пальца.
Чтобы сделать это с нуля, вы можете передать этот учебник видео .
Необходимо знать то, что кодирование файла, и затем декодируйте ByteBuffer в CharBuffer с помощью того кодирования. Принятием файла является ASCII:
import java.util.*;
import java.io.*;
import java.nio.*;
import java.nio.channels.*;
import java.nio.charset.*;
public class Buffer
{
public static void main(String args[]) throws Exception
{
String inputFile = "somefile";
FileInputStream in = new FileInputStream(inputFile);
FileChannel ch = in.getChannel();
ByteBuffer buf = ByteBuffer.allocateDirect(BUFSIZE); // BUFSIZE = 256
Charset cs = Charset.forName("ASCII"); // Or whatever encoding you want
/* read the file into a buffer, 256 bytes at a time */
int rd;
while ( (rd = ch.read( buf )) != -1 ) {
buf.rewind();
CharBuffer chbuf = cs.decode(buf);
for ( int i = 0; i < chbuf.length(); i++ ) {
/* print each character */
System.out.print(chbuf.get());
}
buf.clear();
}
}
}
buf.getChar () ожидает 2 байта за символ, но Вы только храните 1. Используйте:
System.out.print((char) buf.get());
Изменение оператора печати к:
System.out.print((char)buf.get());
Кажется, помогает.
Существует ли конкретная причина, почему Вы читаете файл в способе, которым Вы делаете?
Если Вы читаете в ASCII-файле, необходимо действительно использовать Читателя.
Я сделал бы это что-то как:
File inputFile = new File("somefile.txt");
BufferedReader reader = new BufferedReader(new FileReader(inputFile));
И затем используйте также readLine
или подобный для фактического чтения в данных!
В зависимости от кодирования somefile.txt символ не может на самом деле состоять из двух байтов. Эта страница дает больше информации о том, как считать потоки с надлежащим кодированием.
Неприятность, файловая система не говорит Вам кодирование файла, потому что это не знает. Что касается его, он - просто набор байтов. Необходимо или найти некоторый способ передать кодирование к программе, для обнаружения его так или иначе, или (если возможный) всегда гарантируют, что кодирование является тем же (таким как UTF-8).
Да, это - Unicode.
Если у Вас есть 14 Символов в Вашем Файле, Вы только добираетесь 7'?'.
Ожидание решения. Все еще размышление.