UI'nizi yönetmek için Stage
kullanabilmeniz gerekir. Girişin doğru şekilde çalışmasını sağlamak için InputMultiplexer
eklemeniz gerekir, böylece Stage
ve daha sonra geçerli giriş şemasının her ikisi de girişleri alacaktır.
böyle bir şey yapacağım, bunu kurmak için: sırası önemli olduğunu
Not (https://code.google.com/p/libgdx/wiki/InputEvent kodu temellidir Kod örneği)
InputMultiplexer multiplexer = new InputMultiplexer();
multiplexer.addProcessor(stage);
multiplexer.addProcessor(gameScreenInputProcessor);
Gdx.input.setInputProcessor(multiplexer);
(Sana bir tahmin ediyorum UI'ye dokunulup dokunulmadığını görmek için sahnenin olayları almasını isteyin). Ayrıca, "handled" olayları mutliplexer tarafından yayılmayacağı için, giriş olay işleyicilerinden gelen boolean dönüş değeri bir çoklayıcı ile daha önemlidir. Stage
içindeki UI olayları kendi "işlenmiş" bayrağına sahiptir (çoğunlukla doğru olanı yapar, ancak bazı ince farklar vardır). InputMultiplexer
için
Bir alternatif küresel Stage
takın mevcut oyun ekranını içeren bir "GameScreenActor" (Actor
yeni bir alt sınıf) oluşturmak olacaktır. Yine de, giriş işleminizi scene2d yaklaşımına taşımanız gerekir. Muhtemelen bu sizin için doğru bir seçim değildir, ancak geçerli bir tanesidir.
Tamam, ben de olsa ... InputMultiplexer belgelerini kontrol ettim ... cevabınız mantıklı. Bu yaklaşımı deneyeceğim .... umarım işe yarayacaktır. Çok teşekkürler! :) Android'de girdileri ele alışkanlığım var, umarım benzer çalışır :) – Veljko