Sprite-Textur aus Buffer?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Rick_72

Betreff: Sprite-Textur aus Buffer?

BeitragDo, Sep 24, 2009 16:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen!

Ich versuche gerade ein Image (vorher gerendert) mit EntityTexture auf einen Sprite zu ziehen (siehe PseudoCode). Da gibt's dann immer einen "Mem. access violation". Wie macht das richtig?

Zitat:
TextTest = CreateImage(128,128)
SetBuffer ImageBuffer(TextTest)
ClsColor 0,0,0
Color 255,255,255
Text 10,10,"HALLO!"

SetBuffer BackBuffer()
camera = CreateCamera()
TestSprite = CreateSprite()

EntityTexture TestSprite,TextTest


Ich frage mich ausserdem gerade, warum ich Depp erst nach Wochen und 6000 Zeilen Müll merke, dass man ein 2D-Game besser als "plattes" 3D-Game programmiert (ich baue ein Remake von "Castles of Dr.Creep"/C64, falls sich jemand erinnert -> 1984). Dazu eine Frage, die zwar schon häufiger gestellt wurde, aber nie wirklich erschöpfend beantwortet wurde: was taugt die bunte Welt von SpriteCandy? Es gibt doch auch Sprite-Engines für umme. Ist SC wirklich so viel besser? Verwendet das einer von euch?

Danke für Eure Hilfe!

_______
B3d 1.99

Rick_72

Betreff: gelöst

BeitragDo, Sep 24, 2009 16:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ach, verdammt, gerade gefunden! Bracuht also keiner mehr nach suchen ..

Tankbuster

BeitragDo, Sep 24, 2009 22:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht solltest du auch schreiben, woran es lag. Vielleicht hat später ja jemand das selbe Problem Wink

Also ich hätte ganz spontan darauf getippt, dass Du CreateTexture anstatt CreateImage verwenden solltest. Denn du kannst nur eine Textur auf ein Mesh ziehen. Bei einem mit LoadImage oder CreateImage geladenen Bild geht das einfach nicht. Das Bild musst du also erst auf die Textur malen, und dann diese Textur dem Objekt zuweisen.
Twitter
Download Jewel Snake!
Windows|Android

orpheus_2003

BeitragFr, Sep 25, 2009 9:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Cooles Game.
Wann kriegt man was zu sehen?

Gruß O
GazerStar - the beginning
http://gazerstar.lexigame.de/
Wizard (Worktitel)
http://wizard.lexigame.de

Jan_

Ehemaliger Admin

BeitragFr, Sep 25, 2009 10:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Draw3d ist eine Libary, die dir Helfen könnte.
between angels and insects

Rick_72

BeitragFr, Sep 25, 2009 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
@Orpheus: ich habe erstmal die 64er-Graphik genommen, um das Grundgerüst zu bauen. Stand heute: Single- und Double-Player geht, Save Game muss noch, Double-Player über Internet muss auch noch. Selbstverständlich lädt das Game die 64er-Original-Dateien. In Planung ist noch ein Editor, der die Level dann auch im Original-Format speichert, damit man diese auf einem echten 64er zocken kann. Naja, grob geschätzt habe ich 60% des gesamten Vorhabens erledigt. Ausserdem muss ich noch jemanden rekrutieren, der eine richtig geile Graphik baut. Wenn ich allerdings jetzt auf den Trichter komme, das komplette Spiel auf 3D zu ziehen, dann dauert's wohl noch ein bisschen sehr viel länger bis V1.0.


@alle: Frage: bringt 3D eigentlich wirklich soviel Geschwindigkeitsgewinn gegenüber 2D?


@Tankbuster: ich habe SetBuffer ImageBuffer() verwendet, statt SetBuffer TextureBuffer(). Das geht dann natürlich nicht, wenn man eine Textur erstellen will.

Jan_

Ehemaliger Admin

BeitragFr, Sep 25, 2009 15:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Rick, kommt drauf an, was du machen willst.
Bei Effekten, ist der unterschied riesig.
Beim Drehen ist der Speicherbedarf geringer.
Große Tileengines sollten langsamer sein,
ungerade Texturen sind schlecht.
Viele Surfaces zieht die Geschwindigkeit auch runter.
Und du hast andere Probleme als bei 2d.
between angels and insects

Rick_72

BeitragFr, Sep 25, 2009 15:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist genau die Sache: ich muss schon heute pro Raum (das Spiel besteht aus Räumen; jeweils TileMap 40x25) mehr als zehn Layer (also Einzelbilder) vorrendern, und diese dann in der richtigen Reihenfolge übereinanderzeichnen (jeder Layer enthält dann unterschiedliche Items; also zB Leitern, Fallen, Wege, Türen etc.). Dadurch gibt's an manchen Stellen Fehler, weil was überzeichnet wird, was nicht überzeichnet werden soll: ergo müssen diese Fälle manuell nachgehackt werden -> nervig. 3D hätte den großen Vorteil, dass das größtenteils automatisch ging (einfach richtigen z-Wert einstellen und dann RenderWorld, fettich). Trotz der Mehrarbeit wird's wohl darauf hinauslaufen, dass ich die Kiste umschreibe. Sprites sind einfach zu geil! Auf dem 64er hatte ich schliesslich auch schon meine geliebten Sprites. Wink

Also mal Draw3D anschauen ..

Jan_

Ehemaliger Admin

BeitragFr, Sep 25, 2009 15:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, gut ein Z-System zu schreiben, sollte nun auch nciht so die Schwierigkeit sein.
Mehr als 100-200 Zeilen, hat so ein Layersystem nicht.
Aber ich würde wohl auch zu draw3D tendieren.
between angels and insects

Rick_72

BeitragFr, Sep 25, 2009 15:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt, das Prinzip ist simpel. Iich muss halt den ganzen Einzelquatsch, der jetzt als Image behandelt wird, asl Sprite darstellen. Das ist viel Tipperei, und das endet bei mir immer in endlosen Debugging-Sessions Smile

Ich habe mir eben mal Draw3D angeschaut. Das ist ja echt ganz geil, was die Jungs da gebaut haben. Hut ab! Damit werde ich mich mal näher beschäftigen. Allein die Menüs sind ziemlich cool!

Jan_

Ehemaliger Admin

BeitragFr, Sep 25, 2009 15:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Übrigens bieten wir hier für Draw3d auch eine Hilfe an:
https://www.blitzforum.de/help/?cat=8
between angels and insects

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group