2016-03-28 54 views
2

Bu arada bir pencere uygulaması olarak çalışan bir javafx oyun var. Oyun fareyi hareket ettirip tıklatılarak kontrol ediliyor ancak fareyi çok uzağa taşıdığımda ve pencerenin dışına çıktığımda benim problemim oluşuyor, çünkü bahsettiğim gibi oyunun da bir parçası olduğumuzu ve hepimizin ne yaptığınızı bildiğimizi biliyoruz. kazara google chrome tıklayın eğer pencereli app arkasında yer alan programda söylemek ve benim oyunum daha sonra google chrome arkasında gizlidir, ama yeterince oyuna geri + hızlı sekmeyi alt alt edebilmek olmazsam hâlâ çalıştığından beri kaybederler.Fareyi pencereden çıkmak nasıl durduruyor?

Bu sorunun, farenin pencereden çıkmasına izin vermeyerek pencerenin/sahnenin/sahnenin sınırları içinde kalmasına izin vermeyerek bu sorunu çözmek istiyorum. Fareyi bu şekilde kısıtlamak mümkün mü? Nasıl yapmalıyım?

+1

http://stackoverflow.com/questions/2941324/how-do-i-set-the-position-of-the-mouse-in-java Taşı o sınıra kullanıcı dışarı hareket dener zaman. – Sarvadi

+0

benim iş bilgisayarda – Chexxor

cevap

1

O Robot ile bunu yapma mümkündür. Özellikle, çok uzaktayken fare konumunu sıfırlamak için mouseMove'u kullanabilirsiniz.

Alternatif olarak, kullanıcı pencerenizi kaçmak için izin yerine düşünün, ama oyun bu olaya tepki izin verebilirim. Örneğin, fare pencereden ayrıldığında oyunu duraklatma.

Sen (here tartışıldığı gibi) imlecin konumunu izlemek için pointerInfo kullanabilirsiniz.

+0

için eve bir kez Eve gelince ben Robot kontrol edeceğini deneyebilirsiniz, ama elle bunu yapmak istenen yere fareyi hareket etmek gerekiyor? Yani "olması gereken" nerede olduğunu hesaplamak zorundayım? – Chexxor

+1

Evet. MouseMove ile, imlecin koordinatlarını açıkça ayarlayabilirsiniz. Bir örnek, imlecin X ve Y koordinatlarını sürekli izlemek ve farenin pencerenin sınırını terk etmesini önlemek için X veya Y'yi sıfırlamak olabilir. Alternatif olarak, imleci pencerenin ortasına geri götürebilirsiniz. Özel uygulama size kalmış. – mcmahoniel