Gensprite etc. automatisieren?!?

Previous topic - Next topic

Heiko

Wäre es nicht praktischer, wenn statt einer Sprite, Mesh oder sonstwas - Zahl gleich die "Variable" genutzt werden könnte.
Also ohne Gensprite z.B.

statt
Code (glbasic) Select
GLOBAL Options = GENSPRITE(); LOADSPRITE "images/sprite.png", Options
lieber
Code (glbasic) Select
LOADSPRITE "images/sprite.png", Options

es rück dem ES verdammt nahe wenn man das Ganze gleich so machen könnte....
Code (glbasic) Select
SprOptions = LOADSPRITE "images/sprite.png"

Wenn man das Ganze für alles wie Kamera etc. machen würde, wäre das toll.
Und wenn eben eine Variable doppelt vergeben wurde, gibts halt eine Fehlermeldung like "variable exists one line soundso"

Heiko

Im Grunde ging es mir grad nur darum, dass man z.B. Gensprite auch weglassen könnte, wäre man nicht auf Nummerierung angewiesen, sondern könnte den Sprites Namen wie hier durch Gensprite geben.

Mir ging es lediglich um die Einfachheit.

Schranz0r

Eine Minute arbeit...

Code (glbasic) Select
FUNCTION LOAD_SPRITE: name$
IF DOESFILEEXIST(name$)
LOCAL id% = GENSPRITE()
LOADSPRITE name$, id
RETURN id
ENDIF
RETURN -1
ENDFUNCTION
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Heiko

Das ist mir schon klar....
Mir war nur nicht ganz klar wozu da extra ein neuer Befehl geschaffen wurde.

kanonet

Wozu? Ganz einfach: LOADSPRITE ist viel älter als GENSPRITTE, lange ging es ohne letzteres, dann kam man auf die Idee, dass dies doch ganz nützlich wäre und fügte es hinzu. Natürlich musste die bisherige Funktionalität erhalten bleiben, damit auch alter Code noch funktioniert daher der neue Befehl, statt den alten zu ändern.

Übrigens für kleine Testprojekte mit nur sehr wenigen Sprites etc. ist es meist recht nützlich, dass man nur eine Zahl setzen braucht und nicht erst eine Variable vereinbaren muss.
Lenovo Thinkpad T430u: Intel i5-3317U, 8GB DDR3, NVidia GeForce 620M, Micron RealSSD C400 @Win7 x64

Heiko

Nun, GLB könnte ja auch beides akzeptieren, auch ohne Gensprite.
Dann wäre es egal ob eine Zahl oder Variable.

Der Übersicht halber und bei größeren Projekten schon sinnvoll....
Ich hab mir zwar ne Funktion dafür geschrieben, und es war ja lediglich ein Gedanke von mir....