Kaeru Gaman hat geschrieben:SpriteID=CreateSprite(#PB_Any...)
Sprite3DID = CreateSprite3D(#PB_Any,SpriteID)
xaby hat geschrieben:Ich möchte nur einmal eine Variable speichern müssen.
Ich sehe auch nicht wirklich einen Sinn drin, dass ich aus einem Sprite mehr als nur ein 3D-Sprite machen kann. Denn die 3D-Sprites kann ich ja auch mit der gleichen ID öfter an verschiedene Stellen setzen.
So habe ich es ja vorher gemacht
http://www.purebasic.fr/german/viewtopic.php?t=17049
Aber es ist wie gesagt unsinnig zwei IDs zu verwenden, wenn ich je ein Sprite mit je einem Sprite3D verknüpfe.
HeXOR hat geschrieben:
Das Problem ist, dass für alle IDs, die kleiner als deine via #PB_Any erzeugte ID sind (die ja eigentlich eine virtuelle Speicheradresse ist), Speicherplatz für 3D-Sprites reserviert werden würden.
Das möchte ich bezweifeln.
PB-Hilfe hat geschrieben:Erstellt ein 3D-Sprite '#Sprite3D' aus dem angegebenen 2D-Sprite '#Sprite'. Wenn #PB_Any als '#Sprite3D' Parameter verwendet wird, dann wird die Nummer des neuen 3D-Sprites als 'Ergebnis' zurückgegeben.
ImageGadgets und Images können doch auch die kleine #Nummer haben.
Nur dass bei dem Verweis auf das #Image im Gadget dann ImageID benutzt werden muss.
Es gibt aber kein Sprite3DID()-Befehl.
Ich bräuchte den Quatsch nicht machen, wenn ich von einem 3D-Sprite Rückschlüsse auf das Quell-Sprite2D ziehen könnte.
So wie bei einem ImageGadget() der Befehl GetGadgetState() ja das Handle des eigentlichen Bildes liefert.
Woher weiß denn PureBasic beim Aufruf von DisplaySprite3D(), welches Sprite2D nun als 3D-Sprite dargestellt wird?
Ich benötige einen Befehl: Sprite2DID(#Sprite3D)
Dann könnte ich auf die 2D-SpriteID verzichten und bräuchte nur noch die Sprite3D-ID speichern. Und wenn ich die 2D-SpriteID wissen möchte, um zum Beispiel auf meinem "3DSprite" zu zeichen (das aber nur auf das 2D-Quellsprite funktioniert) dann nutze ich halt Sprite2DID(#Sprite3D)
Wieso will ich das so "kompliziert" machen.
Ganz einfach, die Informationen müssen schon im Speicher liegen, und es wäre Unfug, diesen mit "dreifacher" Menge an IDs zu füllen als eigentlich nötig. Zumal ich dann auch immer gleich Strukturen brauche, statt einfach nur einen Longint.
