Bir pygtk uygulaması içinde pygame

oy
8

Bir PyGTK uygulama içinde pygame (SDL) kullanmanın en iyi yolu nedir?

Bana hem GTK ve SDL olayları yönetmek mümkün olan GTK penceresinde ve aynı zamanda bir çizim alanı olmasını sağlayan bir yöntem arıyorum.

Oluştur 25/08/2008 saat 05:36
kaynak kullanıcı
Diğer dillerde...                            


7 cevaplar

oy
1

Sen ilginizi çekebilir Bu mesajı iplik . Onlar buna karşı tavsiye benziyor.

Cevap 25/08/2008 saat 09:08
kaynak kullanıcı

oy
7

Kendim teşebbüs hiç, ama denedim diğer insanlar hakkında işitme bol, bu inmek isteyen bir yol değil.

Pygame kendisinde GUI koyarak alternatif yoktur. Özellikle Kullanabileceğin pygame için inşa gui araci bol vardır. Bunların çoğu oldukça bitmemiş fakat 2 büyük, aktif olarak tutulan olanlar vardır: PGU ve OcempGUI . Pygame sitesinde tam listesi burada .

Cevap 26/08/2008 saat 20:36
kaynak kullanıcı

oy
1

kendi penceresinden yönetmek veya daha da iyisi, tüm ekranı ne zaman kullanabileceğini pygame çok daha iyi çalışır. GTK bir çizim alanı yaratılmasına izin verecek yeterince esnek pencere öğeleri vardır.

Bu sayfa bunu denemek istiyorsanız, olsa da, yardımcı olabilir.

Cevap 28/08/2008 saat 11:04
kaynak kullanıcı

oy
0

Bir süre önce bu kendim yaparak çalıştı ve bunu mükemmel bir şekilde çalışmasını olmadı. Aslında ben bütün OS çökmesini tuttu ve dışarı sabır koşarken o, Windows altında tam olarak çalışması olmadı. Ben buna Linux üzerinde ran sadece önemli olduğu gibi olsa kullanmaya devam etti ve sadece küçük bir projeydi. Ben şiddetle alternatifleri araştırmak öneriyoruz. Her zaman kötü bir hack gibi hissettim ve beni kirli hissettiriyordu.

Cevap 17/09/2008 saat 23:45
kaynak kullanıcı

oy
0

İşinize yarayacak basit bir çözüm var.

Ayrı uygulamalar olarak PyGTK şeyler ve pygame şeyler yaz. Sonra PyGTK uygulamasından pygame uygulamasını çağırmak için os.system kullanarak pygame uygulamasını arayın. Sonra ikisi arasında veri paylaşımı ya bir veritabanı, boru veya IPC kullanmanız gerekiyorsa.

Cevap 13/10/2008 saat 23:38
kaynak kullanıcı

oy
1

http://faq.pygtk.org/index.py?file=faq23.042.htp&req=show hepsini bahseder:

Bir çizim alanı yaratmak ve fark oluyor sonra ortam değişkeni SDL_WINDOWID ayarlamanız gerekir:

 ithalat os

 ithalat gobject
 ithalat gtk
 ithalat pygame

 WİNX = 400
 Şarap gibi = 200

 penceresi = gtk.Window ()
 window.connect ( '-olayı silmek', gtk.main_quit)
 window.set_resizable (Yanlış)
 alan = gtk.DrawingArea ()
 area.set_app_paintable (Doğru)
 area.set_size_request (WİNX, şarap gibi)
 window.add (bölge)
 ) (Area.realize

 # Kuvvet SDL bizim çizim alanında yazmaya
 os.putenv ( 'SDL_WINDOWID' str (area.window.xid))

 # Biz başka türlü yapamayız xlib olay döngü temizlemek gerekir
 # Erişim hangi set_mode XWindow () gerektirir
 gtk.gdk.flush ()

 pygame.init ()
 pygame.display.set_mode ((WINX, şarap gibi), 0, 0)
 Ekran = pygame.display.get_surface ()

 image_surface = pygame.image.load ( 'foo.png')
 screen.blit (image_surface, (0, 0))

 gobject.idle_add (pygame.display.update)

 window.show_all ()

 ) (Gtk.event_pending ise:
     # Pygame / SDL olay işleme buraya
     gtk.main_iteration (Yanlış)
Cevap 04/12/2008 saat 18:52
kaynak kullanıcı

oy
0

Şeker projesi PyGTK ve pygame ile inşa birçok Etkinlikler sahiptir.

Onlar bunu başarmak için bir destek lib yazdım denilen Sugargame . Bunun yerine Şeker düzenli PyGTK uygulamalar için değiştirmek gerekir.

İşte bu Sugar gelişim kitabında bölüm nasıl kullanılacağı hakkında.

lib GTK ve pygame arasında etkinlikler iletişim sağlar.

Keyfini çıkarın!

Cevap 08/11/2013 saat 14:51
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more