Frage zu CreateSprite und erstellung von Overlay screen.

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
True29
Beiträge: 283
Registriert: 18.08.2012 19:18
Computerausstattung: Windows 8 64bit .Profan x2,Purebasic 5.5
Wohnort: Worms
Kontaktdaten:

Frage zu CreateSprite und erstellung von Overlay screen.

Beitrag von True29 »

Hallo Grüßt euch.

Ich würde gerne mit Createsprite ein Bild erstellen auf dem Ich ein Text schreibe dieses dann Später umwandle zu einem 3d Sprite um es dann auf dem Bildschirm zusammen mit dem Text langsam anzeigen zu lassen.

Nun hier ist der Code zum langsamen anzeigen Funktioniert .

Code: Alles auswählen

If ( showoverlayscreen > 0 )         
        DisplaySprite3D(53,400,300,transp)        
        If Not (transp >= 250)
          transp+2        
        endif
endif     
2 Code der den Bildschirm hierfür erstellt:
Problem der Text steht da nur ich habe keinen Background(schwarzer hintergrund) nun suche ich hier eine Lösung.

Code: Alles auswählen

Procedure createoverlayscreen(text.s)
Define mainsprite
  mainsprite = CreateSprite(#PB_Any,875,405,#PB_Sprite_Texture)           
  StartDrawing(SpriteOutput(mainsprite))    
    DisplaySprite(65,0,0) ;Background     
    DrawingFont(FontID(1))       
    DrawingMode(#PB_2DDrawing_Transparent)
    DrawText(450,350,text)
    DrawingMode(#PB_2DDrawing_Default)           
  StopDrawing()
  CreateSprite3D(53,mainsprite)
EndProcedure

Der Background wird mit cachesprite geladen.

Code: Alles auswählen

  Fehlerbehandlung(CatchSprite(65,?overlay1,#PB_Sprite_AlphaBlending|#PB_Sprite_Texture),"Fehler beim laden von Grafiken e1!")  


Danke schon mal für eure Hilfe ;)
i7,12gb ram , Windows 10 ,Purebasic 5.50
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Frage zu CreateSprite und erstellung von Overlay screen.

Beitrag von STARGÅTE »

DisplaySprite() ist für den Screen, und wird nicht bei Drawing gezeichnet, dafür musst du DrawImage() nutzen, und das Image noch mal extra laden.
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
True29
Beiträge: 283
Registriert: 18.08.2012 19:18
Computerausstattung: Windows 8 64bit .Profan x2,Purebasic 5.5
Wohnort: Worms
Kontaktdaten:

Re: Frage zu CreateSprite und erstellung von Overlay screen.

Beitrag von True29 »

ich hab das nun umgeschrieben.

Fehlerbehandlung(CatchImage(66,?overlay1),"Fehler beim laden von Grafiken e1!")

mainsprite = CreateSprite(#PB_Any,875,405,#PB_Sprite_AlphaBlending|#PB_Sprite_Texture)
StartDrawing(SpriteOutput(mainsprite))
DrawImage(66,0,0)
;DrawingFont(FontID(1))
;DrawingMode(#PB_2DDrawing_Transparent)
;DrawText(450,350,text)
;DrawingMode(#PB_2DDrawing_Default)
StopDrawing()
CreateSprite3D(53,mainsprite)

DisplaySprite3D(53,400,300,transp)

geht leider aber immer noch nicht. das Bild welches erstellt wird hat das Bild 66 nicht als Hintergrund sondern ist einfach schwarz.
Mfg
i7,12gb ram , Windows 10 ,Purebasic 5.50
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: Frage zu CreateSprite und erstellung von Overlay screen.

Beitrag von Danilo »

Geht es mit DrawImage(ImageID(66),0,0) statt DrawImage(66,0,0)?
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
True29
Beiträge: 283
Registriert: 18.08.2012 19:18
Computerausstattung: Windows 8 64bit .Profan x2,Purebasic 5.5
Wohnort: Worms
Kontaktdaten:

Re: Frage zu CreateSprite und erstellung von Overlay screen.

Beitrag von True29 »

ah mist ok danke ;)
hätte ich auch drauf kommen können.

Funktioniert nun auch so wie gewollt danke für die Hilfe.
i7,12gb ram , Windows 10 ,Purebasic 5.50
Antworten