Seite 1 von 1

Mit Getdibits/Setdibits Sprite verändern....geht nicht

Verfasst: 25.10.2009 12:37
von super_castle
Das Sprite wird in der Getdibitsroutine nicht verändert.
Es klappte schon einmal.
Warum jetzt nicht?
Gruss

Code: Alles auswählen

InitSprite()

     OpenWindow(0,0,0,800,600,"sprites!",#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_ScreenCentered)
     OpenWindowedScreen(WindowID(0),10,10,400,400,0,0,0)
  
      himg=CreateSprite(1,64,64, #PB_Sprite_Texture)
      
      StartDrawing(SpriteOutput(1)) 
        Circle(10,10,10 ,RGB(255,255,0))
      StopDrawing()
      
      DisplaySprite(1,10,10)
      
      *buffer = AllocateMemory(64*64*4)
      *ptr = *buffer
      bmi.BITMAPINFO
      bmi\bmiHeader\biSize   = SizeOf(BITMAPINFOHEADER)
      bmi\bmiHeader\biWidth  = 64
      bmi\bmiHeader\biHeight = 64
      bmi\bmiHeader\biPlanes = 1
      bmi\bmiHeader\biBitCount = 24
      bmi\bmiHeader\biCompression = #BI_RGB
      
      hDC = StartDrawing(SpriteOutput(1))
      GetDIBits_(hDC,hImg,0,64,*buffer,bmi,#DIB_RGB_COLORS)
         For a = 0 To 32
          For b = 0 To 32
              PokeL(*ptr, $ff0000)        
              *ptr + 4
          Next b
        Next a
      SetDIBits_(hDC,hImg,0,64,*buffer,bmi,#DIB_RGB_COLORS)
      StopDrawing()
      
      DisplaySprite(1,110,10)
      
      Repeat
      If WaitWindowEvent() = #PB_Event_CloseWindow
        End
      EndIf
      ForEver
 


Re: Mit Getdibits/Setdibits Sprite verändern....geht nicht

Verfasst: 25.10.2009 14:07
von Thorium
Ist nicht mehr nötig. PB unterstützt ab 4.40 nativ das auslesen des Buffers von Sprites.

Re: Mit Getdibits/Setdibits Sprite verändern....geht nicht

Verfasst: 25.10.2009 14:50
von super_castle
Ich finde den Befehl nicht?

Gruss

Re: Mit Getdibits/Setdibits Sprite verändern....geht nicht

Verfasst: 25.10.2009 15:13
von Thorium
super_castle hat geschrieben:Ich finde den Befehl nicht?

Gruss
DrawingBuffer()
Beachte auch DrawingBufferPitch() und DrawingBufferPixelFormat().

Re: Mit Getdibits/Setdibits Sprite verändern....geht nicht

Verfasst: 25.10.2009 16:23
von super_castle
Jup,danke.

Funktioniert wunderbar.

Gruss