DUNE 2077

Spiele, Demos, Grafikzeug und anderes unterhaltendes.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

ich denke er würde das machen:

Code: Alles auswählen

UseBuffer(Sprite)
 DisplaySprite(SpriteOhne3D, 0, 0)
 DisplaySprite(SpriteOhne3D2, 100, 0)
UseBuffer(-1)
CreateSprite3D(Sprite,Sprite)
Um somit mehrere Sprites zusammen zu fassen und ein Sprite3D machen.

Ich würde dir (Scarabol) aber raten einfach ALLE Sprites gleich in 3D zu machen:

Code: Alles auswählen

Procedure LoadSprite3D(Sprite, DateiName$)
 If LoadSprite(Sprite, DateiName$, #PB_Sprite_Texture)
  If CreateSprite3D(Sprite, Sprite)
   ProcedureReturn 1
  EndIf
 EndIf
EndProcedure
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Beitrag von Scarabol »

Ok danke, werd mich gleich mal an die Umsetzung machen...

[Edit]
Mist dann muss ich ja zu jedem Sprite die Größe mitspeichern, oder wie?
ZoomSprite3D() is ja leider absolut...
[/Edit]

Gruß
Scarabol
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea

PB-V: 4
WinXP
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

naja die kannst du doch aber mit SpriteWidth zu jeder Zeit ermitteln, denn die ändert sich ja nicht :wink:
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ich würd trotzdem ein array anlegen, das geht dann schneller als x function-calls von SpriteWidth.

zumal bei den tiles sollten eh alle gleich groß sein, da hast du also einen festen wert.
es wäre schwachsinn, für den gesamten mapausschnitt für jedes tile einen SpriteWidth aufruf zu tätigen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

naja ich habs sowieso in den LL drin in denen die anderen Infos stecken für Einheiten, Gebäude, ...
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

yup klar...
wenn schon objektliste, dann kann das gleich mit drin stehen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Kaeru Gaman hat geschrieben:zumal das mit sprite3D garnicht geht.
ein buffer kann nur ein normales sprite sein.
Das Sprite, aus welchem das Sprite3D generiert wurde, agiert als Texture
und somit kann das Sprite direkt bemalt werden um den inhalt des
Sprite3D zu verändern. :D

Wollt ich nur los werden :wink:
... während der Laufzeit aber ständig Sprite3Ds zu erstellen ist glaub ich
zu langsam, zumal das Alte ja auch wieder freigegeben werden müsste.

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

Bemal mal mit den 2d-drawing befehlen ein als Sprite3d-erstelltes sprite ohne es neuzuerstellen zur laufzeit in der hauptschleife.
Die veränderung ist trotzdem sofort sichtbar.
I´a dllfreak2001
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

dllfreak2001 hat geschrieben:Bemal mal mit den 2d-drawing befehlen ein als Sprite3d-erstelltes sprite ohne es neuzuerstellen zur laufzeit in der hauptschleife.
Die veränderung ist trotzdem sofort sichtbar.
Das hab ich mit meinem Post doch gesagt ... aber vermutlich wieder zu
undeutlich /:-> :oops: :freak: ... ich lerns nie -.-

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

:oops: stimm, ich lese :wink: auch ab und zu zu schnell...

Damit kann man nen tollen blur produzieren
I´a dllfreak2001
Antworten