Hallo,
ersteinmal Entschuldigung, falls eine meiner Fragen schon gestellt wurde, ich hab trotz Suche nichts dazu gefunden. Und zwar:
Als kleines Einstiegsprojekt (kleinere Spiele wie Pong habe ich schon gebastelt, ein totaler Anfänger bin ich nicht) in Pygame würde ich gerne ein simples Rollenspiel programmieren. Ich dachte dabei an eine Teilung des Bildschirm in einen Spielbereich in eine GUI, wo zum Beispiel die Lebenspunkte stehen, und eine Spielfläche aus der Topdown-Perspektive. Ist es sinnvoll, die GUI mit Sprites + Text zu gestalten oder sollte man auf ein GUI-Toolkit zurückgreifen. Anmerkung: Als Windowsnutzer kommt pgu wohl nicht infrage (ist doch nur für Linux, oder?).
Zu den Sprites habe ich auch noch eine zweite Frage: Wie erstelle ich "animierte Sprites", zum beispiel Feuer und binde die in das Spiel ein?
Ich hoffe meien Fragen waren nicht zu unspezifisch,
mit besten Grüßen Poniticus
Diverse Fragen zu Pygame (GUI, animierte Sprites)
Hm, kann mir keiner helfen? Ich fass sonst meine Fragen nochmal kurz zusammen:
1) Taugt Pygame auch als Art GUI-Toolkit, und wenn ja gibt es dazu Tutorials?
2) Ist es möglich pgu unter Windows zu nutzen?
3) Kann ich animierte Sprites, zum Beispiel wie die Smileys im Forum, einbinden und wenn ja wie?
Beste Grüße und sollte ich beim Post einen Fehler gemacht haben bitte gerne kritisieren ,
Ponticus
1) Taugt Pygame auch als Art GUI-Toolkit, und wenn ja gibt es dazu Tutorials?
2) Ist es möglich pgu unter Windows zu nutzen?
3) Kann ich animierte Sprites, zum Beispiel wie die Smileys im Forum, einbinden und wenn ja wie?
Beste Grüße und sollte ich beim Post einen Fehler gemacht haben bitte gerne kritisieren ,
Ponticus
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Hallo Ponticus, willkommen im Forum,
Laut den Kategorien im Cheeseshop sollte da nichts dagegen sprechen.Ponticus hat geschrieben:2) Ist es möglich pgu unter Windows zu nutzen?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Vielen Dank für deine Antwort.
Laut der Website scheint pgu für Windows zu gehen und einige scripts bekomme ich auch zum laufen, allerdings kommt beim includen (import pgu) und ausführen die Fehlermeldung, pgu sei nicht installiert. Gibt es da eine Lösung für?
Laut der Website scheint pgu für Windows zu gehen und einige scripts bekomme ich auch zum laufen, allerdings kommt beim includen (import pgu) und ausführen die Fehlermeldung, pgu sei nicht installiert. Gibt es da eine Lösung für?
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
pgu installieren?Ponticus hat geschrieben:allerdings kommt beim includen (import pgu) und ausführen die Fehlermeldung, pgu sei nicht installiert. Gibt es da eine Lösung für?
Nein, im Ernst, wie gehst du vor und was für Fehler bekommst du?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Ich habe mit PGU auch gearbeitet unter Windows, läuft recht gut aber war für unser Projekt leider nicht ausreichen da es zuviel Resourcen gefressen hatte. Ist aber schon ein Jahr her.
Bei PGU ist ein setup.py dabei, dass einfach einmal ausführen.
Danach sollte es kein Problem mehr geben.
Andernfalls kannst Du die Hauptdatein für PGU in dein Python ordner mit rein Kopieren unter "\Lib\site-packages", hat bei mir geholfen gehabt.
Bei PGU ist ein setup.py dabei, dass einfach einmal ausführen.
Danach sollte es kein Problem mehr geben.
Andernfalls kannst Du die Hauptdatein für PGU in dein Python ordner mit rein Kopieren unter "\Lib\site-packages", hat bei mir geholfen gehabt.
Ich habe jetzt allerdings noch eine weitere Frage zu pgu, die sich leider nicht mit den docs oder den examples beantworten lässt. Es wäre nett, wenn ihr mir hier auch noch helfen könntet. Und zwar: Ich würde das gui7 example, also das Beispiel wo verschiedene gui elemente dargestellt werden dahingehend bearbeiten, dass ich eine Texteingabe des Users in ein Textfeld als Variable erhalte und diese dann auch als Label für einen Button verwenden kann.
Beste Grüße,
Ponticus
Beste Grüße,
Ponticus
ich hab bisher noch nicht mit animationen unter pygame gearbeitet,
daher kann ich dir nur zeigen was mir spontan einfällt
obs dafür bessere wege gibt, weiß ich nicht.
müsste so oder so ähnlich funktionieren, hab den code jetzt nicht
überprüft.
vielleicht kannste ja was damit anfangen
achso, ich arbeite auch gerade an nem kleinen map-kreator für topdown rpgs vielleicht können wir ja zusammen was basteln
daher kann ich dir nur zeigen was mir spontan einfällt
obs dafür bessere wege gibt, weiß ich nicht.
Code: Alles auswählen
import pygame
from pygame import *
class Animation(pygame.sprite.Sprite):
pictures = []
def __init__(self, pictures, position, delay):
pygame.sprite.Sprite.__init__(self)
self.pictures.append([pygame.image.load(pic).convert() for pic in pictures])
self.img_index = 0
self.image = self.pictures[self.img_index]
self.rect = self.image.get_rect()
self.rect.topleft = position
self._delay = delay
self.last_update = 0
def update(self, cur_time):
if self.last_update + self._delay <= cur_time:
self.last_update = cur_time
self.img_index += 1
if self.img_index == len(self.pictures): self.img_index = 0
self.image = self.pictures[self.img_index]
self.old_pos = self.rect.topleft
self.rect = self.image.get_rect()
self.rect.topleft = self.old_pos
pictures = ["/pfad/zu/bild1", "/pfad/zu/bild2", ...]
animationen = pygame.sprite.RenderUpdates()
animationen.add(Animation(pictures, (0, 0), 10))
screen = pygame.display.set_mode([100, 100])
background = pygame.Surface([100, 100])
background.fill([0, 0, 0])
while 1:
animationen.clear(screen, background)
animationen.update(pygame.time.get_ticks())
rectlist = animationen.draw(screen)
pygame.display.update(rectlist)
pygame.time.delay(10)
überprüft.
vielleicht kannste ja was damit anfangen
achso, ich arbeite auch gerade an nem kleinen map-kreator für topdown rpgs vielleicht können wir ja zusammen was basteln