Seite 2 von 2

Re: [4.40 B7] Warum geht UseBuffer() nicht mehr?

Verfasst: 31.07.2010 21:26
von Kevin
als ersatz kann man das hier nehmen funktioniert aber nur mit sprites die kleiner als der screen sind

Re: [4.40 B7] Warum geht UseBuffer() nicht mehr?

Verfasst: 31.07.2010 22:12
von Epyx
Hmm hast du es ausprobiert ??? Also bei mir gehts nicht mit DX9, aber wird wohl damit zusammen hängen das der Source im Mac OSX Forum gepostet wurde.
Schade eigentlich das der Befehl in der default einstellung von PB nicht mehr Funktioniert, viele meiner Programm benutzen genau diesen :(

Re: [4.40 B7] Warum geht UseBuffer() nicht mehr?

Verfasst: 31.07.2010 22:56
von Kevin
hast du auch das compilerif entfernt? und die procedure usebuffer in usebuffer2 umbenannt?

EDIT:

Code: Alles auswählen

Procedure UseBuffer2(Sprite.l)

  Shared UsedSprite.l

  If Sprite = #PB_Default And IsSprite(UsedSprite)

    GrabSprite(UsedSprite, 0, 0, SpriteWidth(UsedSprite), SpriteHeight(UsedSprite))
    UsedSprite = #PB_Default

  ElseIf IsSprite(Sprite)

    DisplaySprite(Sprite, 0, 0)
    UsedSprite = Sprite

  EndIf

EndProcedure


#Sprite1 = 1
#Sprite2 = 2

InitSprite()
OpenWindow(0, 100, 100, 512, 512, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0), 0, 0, 512, 512, 0, 0, 0)

TransparentSpriteColor(#PB_Default, $FF00FF)
CreateSprite(#Sprite1, 240, 240)
LoadSprite(#Sprite2, #PB_Compiler_Home + "examples/sources/Data/Geebee2.bmp")

UseBuffer2(#Sprite1)
ClearScreen($FF0000)
DisplayTransparentSprite(#Sprite2, 10, 10)
DisplayTransparentSprite(#Sprite2, 100, 10)
DisplayTransparentSprite(#Sprite2, 10, 100)
DisplayTransparentSprite(#Sprite2, 100, 100)
UseBuffer2(#PB_Default) ; nun unbedingt erforderlich, um die Änderungen zu übernehmen!

Repeat
  ClearScreen($0000FF)
  DisplaySprite(#Sprite1, WindowMouseX(0), WindowMouseY(0))
  FlipBuffers()
Until WaitWindowEvent(10) = #PB_Event_CloseWindow
und dich bei Lebostein bedanken nicht vergessen :D

Re: [4.40 B7] Warum geht UseBuffer() nicht mehr?

Verfasst: 01.08.2010 00:51
von Epyx
Oh du hast Recht, ich habe den Macteil zwar ausgegraut aber die Procedure nicht umbenannt.
So funktioniert das wieder, ich danke dir und natürlich auch Lebostein ^^

Gruß Epyx