2013-01-13 17 views
10

OUYA ve Android için bir oyun yazıyorum ve OUYA denetleyicideki trackpad'i kullanıyorum. Hiç dokunduğunda bir fare işaretçisi ortaya çıkıyor ve onu saklamanın bir yolunu bulamıyorum. Ben bu bir Android netbook da oyunlar için bir sorun olurdu. Herkes sadece olayları dinlemek yerine imleçle etkileşimde bulunmanın bir yolunu buldu mu?Android'de Fare İşaretçisini Gizle

+0

Hem Java hem de Unity taraflarında bir sorun gibi görünüyor: http://forums.ouya.tv/discussion/comment/2968 Düşünüyorum ki bu tartışmayı konuşturmak veya yeni bir işe başlamak isteyebilirsiniz. Bu forumlar SO'dan çok daha resmi bir sevgiye sahipler. – CommonsWare

+0

Evet, o iş parçacığını ve orada topladığım şeyden, Unity'den buna izin vermek için JNI bağlantısı olmadığını okudum. Ben sadece Java kullanıyorum, bu yüzden burada yayınlayıp genel bir Android çözümü olup olmadığını düşündüm. – CaseyB

cevap

7

Bu fare gizlemek olmaz, ama en azından joystick işleme kodu ile müdahale dokunmatik olaylarını önlemeye yardımcı olacaktır - değil Biliyorum uygun bir çözüm, ama yine de yardımcı olabilecek bu sayfaya gelen insanlar:

public boolean onGenericMotionEvent(MotionEvent event) { 
    if ((event.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) { 
     //handle the event 
     return true; 
    } 
    else { 
     return false; 
    } 
} 
+1

Bunu NativeActivity hesabım için geçersiz kılmaya çalıştım. OnKeyDown() ve onKeyUp() için geçersiz kılabilir, ancak hareket fonksiyonunu geçersiz kılmaya çalışırken, "yöntem bir üst türden bir yöntemi geçersiz kılmaz veya uygulamaz" – Bram

3

Android şu anda fare imlecini gizlemek için herhangi bir işlevsellik göstermiyor. Harici bir işaretleme aygıtınız olduğunda (örn. USB/Bluetooth fare, izleme paneli vb.) Aygıtla etkileşimde bulunduğunuzda ekranda bir fare işaretçisi görünür. Ne yazık ki (JB 4.2.2'den itibaren) bu, değiştirilmiş bir ROM olmadan imkansız olduğu anlamına gelmektedir.