Seite 1 von 1

Frage zu CreateSprite und erstellung von Overlay screen.

Verfasst: 16.03.2013 18:05
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 ;)

Re: Frage zu CreateSprite und erstellung von Overlay screen.

Verfasst: 16.03.2013 20:07
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.

Re: Frage zu CreateSprite und erstellung von Overlay screen.

Verfasst: 17.03.2013 00:25
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

Re: Frage zu CreateSprite und erstellung von Overlay screen.

Verfasst: 17.03.2013 00:32
von Danilo
Geht es mit DrawImage(ImageID(66),0,0) statt DrawImage(66,0,0)?

Re: Frage zu CreateSprite und erstellung von Overlay screen.

Verfasst: 17.03.2013 00:40
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.