Seite 1 von 1

Image wird nicht angezeigt...

Verfasst: 03.01.2006 10:28
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

Verfasst: 03.01.2006 10:42
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()

Verfasst: 03.01.2006 10:48
von roherter
Warum benutzt du ein image für die hintergrundfarbe??
Schau dir mal den befehl

Code: Alles auswählen

ClearScreen()
an!

Verfasst: 03.01.2006 11:23
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)

Verfasst: 03.01.2006 12:31
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

Verfasst: 03.01.2006 12:59
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

Verfasst: 03.01.2006 13:02
von Ja!
Full ACK @ Kiffi

Verfasst: 03.01.2006 13:05
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