Image wird nicht angezeigt...

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
MASH
Beiträge: 130
Registriert: 22.05.2005 17:43

Image wird nicht angezeigt...

Beitrag von MASH »

Weshalb wird hier das image nicht dargestellt? Kann mir da jemand helfen?

Code: Alles auswählen

Enumeration
  #Image_Background
EndEnumeration
If InitSprite() <> #FALSE
  If OpenScreen(800,600,32,"Mensch ärgere dich nicht") <> #FALSE
    CreateImage(#Image_Background,800,600)
    
    If StartDrawing(ImageOutput()) <> #FALSE
      DrawingMode(0)
      BackColor(244,243,156)
      Box(0,0,800,600,RGB(244,243,156))
      ;FrontColor(244,243,156)
      
      StopDrawing()
    EndIf
    If StartDrawing(ScreenOutput()) <> #FALSE
      DrawImage(UseImage(#Image_Background),0,0)
      StopDrawing()
    EndIf
    
    
    FlipBuffers(1)
      
      For i = 1 To 9900000
      Next i
    EndIf
EndIf
Danke Mark S.
Benutzeravatar
Macros
Beiträge: 1365
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Beitrag von Macros »

Der hier funktioniert, vieleicht wegen UseImage():

Code: Alles auswählen

 #Image_Background=0

If InitSprite()
  If OpenScreen(800,600,32,"Mensch ärgere dich nicht")
    CreateImage(#Image_Background,800,600)
   UseImage(#Image_Background)
     If StartDrawing(ImageOutput())
      DrawingMode(0)
      BackColor(244,243,156)
      Box(0,0,800,600,RGB(244,243,156))
      ;FrontColor(244,243,156)
           StopDrawing()
    EndIf
    If StartDrawing(ScreenOutput())
          DrawImage(UseImage(#Image_Background),0,0)
          StopDrawing()
    EndIf
   
   
    FlipBuffers(1)
     
      Delay(5000)
EndIf
EndIf
Spar dir ein bisschen schreibarbeit:
statt

Code: Alles auswählen

Enumeration
  #Image_Background
EndEnumeration 

Code: Alles auswählen

#Image_Background=0
und statt

Code: Alles auswählen

If InitSprite() <> #FALSE

Code: Alles auswählen

if InitSprite()
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

Warum benutzt du ein image für die hintergrundfarbe??
Schau dir mal den befehl

Code: Alles auswählen

ClearScreen()
an!
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
MASH
Beiträge: 130
Registriert: 22.05.2005 17:43

Beitrag von MASH »

Das enumeration habe ich nur erstellt weil ich später noch welche mit hinen nehmen wollte

und zu den andern mit den <> #FALSE da mekert klatt mein lehrer immer wenn ich solche bedingungen weg lasse (das soll ja keine strukturierte programirung sein)
Danke Mark S.
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Beitrag von nco2k »

ich weiss ja nicht wie es bei anderen programmiersprachen ist, aber bei pb wäre das ein riesen bullshit was deine lehrerin da sagt. If a beudetet automatisch <> #False.

Code: Alles auswählen

a = 0
b = 1
c = -1

If a
  Debug a
EndIf
If a <> 0
  Debug a
EndIf

If b
  Debug b
EndIf
If b <> 0
  Debug b
EndIf

If c
  Debug c
EndIf
If c <> 0
  Debug c
EndIf
p.s.: wenn du schon ein hintergrundbild darstellen willst, mach es als sprite (DisplaySprite()) und nicht als image. das mit StartDrawing(ScreenOutput()) ist langsam und total überflüssig.

c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Benutzeravatar
Kiffi
Beiträge: 10715
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> aber bei pb wäre das ein riesen bullshit was deine lehrerin da sagt. If a
> beudetet automatisch <> #False.

das ist ja wohl jedem selber überlassen, ob er 'If a = #True' oder 'If a'
schreibt, oder? Ist alles eine Sache der Gewohnheit und der eine kann den
Code besser lesen, wenn '= #True' darin steht und der andere eben nicht.

Grüße ... Kiffi
Benutzeravatar
Ja!
Beiträge: 271
Registriert: 02.01.2006 16:13
Wohnort: Stuttgart

Beitrag von Ja! »

Full ACK @ Kiffi
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Beitrag von nco2k »

@Kiffi
ich meinte jetzt auch nicht, dass es jeder so schreiben soll, wollte nur darauf hinaus dass es einfach keinen unterschied macht und das <> #False nicht unbedingt notwendig ist.

wie du ja sagtest ist es eben nur eine frage der gewohnheit bzw. der lesbarkeit, mehr nicht. :)

c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Antworten