Hallo,
ich sitze immernoch an meinem 2D Jump'n'Run Spiel, das ich bis spätestens nächstes Jahr fertig kriegen sollte
Mein Problem (sicher nicht das letzte), besteht darin, die Welt, in der sich der Spieler bewegt, graphisch umzusetzen.
Das naheliegendste Medium dafür ist wohl eine PaintBox.
Das, was der Spieler später auf seinem Bildschirm sieht, sollen, so habe ich mir das bis jetzt vorgestellt, mehrere PaintBox-Ebenen sein.
Die 1.: der Hintergrund,
Die 2.: Die Teile (Durchlässig und unduchlässig),
x weitere: Alle animierten/sich bewegenden Objekte. (wahrscheinlich jeweils auf einer extra paintbox)
Die Bedingung für die Umsetzbarkeit dieser Form der Darstellung ist, dass die Paintboxen allesamt (außer die Hinterste) transparente BitMaps (OffsetBmp's) beinhalten und diese Bitmaps schnell auf die Paintboxen übertragen werden können ohne dass die Transparenz dabei verloren geht. Weiter muss es schnell gehen Paintboxen zu erstellen/positionieren und zu löschen (für die animierten Objekte).
Das Problem: Transparente Bitmaps per Draw auf die Paintboix(en) zu zeichnen ist relativ zeitaufwendig. Wenn ich das mit der wesentlich schnelleren BitBlt Prozedur mache, geht es zwar schnell; jedoch geht die Transparenz aus mir nicht erschließbaren Gründen leider verloren... Was das Konzept natürlich zerstört.
Meine Frage an Euch:
- Wie löse ich das Problem der Transparenzfrage.
- Wenn Frage 1 geklärt ist und es immernoch zu langsam ist, wäre es sinnvoll eine Paintbox in "Spielfeldausschnittgröße" zu erstellen und jeweils nur den Bereich hineinzuzeichnen, der auch vom Spieler gesehen wird? (anstatt die Felder alle in eine Paintbox der größe ..4800x2400px zu zeichnen (wenn das lvl geladen wird) und diese dauernd zu verschieben)
- Oder gibt es eventuell eine einfachere Möglichkeit das Spiel graphisch umzusetzen?
Ich habe jetzt schon viel mit Paintboxen rumprobiert, um das mit der Transparenz und der Geschwindigkeit hinzubekommen, bin aber zu keinem brauchbaren Ergebnis geraten.
Ich habe auch schon den Entwickler eines anderen 2D Spiels darauf angeschrieben, allerdings habe ich bis jetzt keinerlei Antwort erhalten (ist schon eine Weile her...).
Da ich also keinerlei Ahnung habe wie ich weiterkomme, muss ich Euch mal damit belästigen
Ich bin für alle Ratschläge und Antworten dankbar!
MfG
50ae