2016-04-01 44 views
0

Çizimimi Swing oyunlarında gerçekleştirmek için JPanel kullanıyorum ve paintComponent() geçersiz kıldım. Şimdi, oyuncunun ekranda sürükleyebileceği ve "sırt çantası" nda farklı yuvalara gidebileceği farklı öğeler içerecek bir envanter eklemeye çalışıyorum. Swing oyunları sadece tek bir JPanel veya başka bir bileşenle çizilsin mi (örnek: fare konumunda öğenin görüntülerini çizin) ya da simgeleri simgeleri gösteren resimler JButton s ekleyebilir misiniz?Swing oyunları sadece bir çizim bileşenine sahip olmalı mı?

Oyun yalnızca bir çizim bileşenine sahip mi, yoksa daha fazlasını ekleyebilir mi?

+2

Çeşitli bileşenlerde çizim sorunu yoktur. Ve tabii ki 'JButton' gibi Swing bileşenlerini veya tasarımınıza uyan diğerlerini de ekleyebilirsiniz. – Berger

+1

Soru, bir çok şeye düşüyor - boyama sürecini kontrol etmek için Swing'i veya oyunun ne kadar karmaşık olduğunu istiyorsunuz. Swing'in tüm tabloyu sizin için yapması için rahatsanız, herhangi bir sorunla karşılaşmamalısınız. Boyama sürecinin ('BufferedStrategy') kontrolünü ele almak istiyorsanız, sorunla karşılaşabilirsiniz. – MadProgrammer

cevap

3

Prensip olarak, sahip olmak istediğiniz sayıda bileşeniniz olabilir. Java veya Qt için SWT ve C++ – için WxWidgets gibi SWT – gibi diğer ayrıntılı kitaplıklar, gerçekten gerekli olan şeyleri ekrana çekecek kadar akıllıdır.

Performans sorunları yaşamadığınız sürece, bununla ilgili bir sorun yoktur. Bu gerçekten gerçekleşirse, öncelikle kendi paintComponent uygulamanıza bakmak isteyebilirsiniz çünkü bu, verimliliği kaybettiğiniz en olası konumdur.