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

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Kevin
Beiträge: 236
Registriert: 11.06.2007 12:55

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

Beitrag von Kevin »

als ersatz kann man das hier nehmen funktioniert aber nur mit sprites die kleiner als der screen sind
Benutzeravatar
Epyx
Beiträge: 247
Registriert: 29.08.2004 01:40
Computerausstattung: AMD64 X2 DualCore 6000+ , 3GB Ram , WinXP sp3
2x Ati Radeon HD4800 ~ CrossFireX
Kontaktdaten:

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

Beitrag 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 :(
If you can't make it good, at least make it look good.
Bill Gates
Kevin
Beiträge: 236
Registriert: 11.06.2007 12:55

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

Beitrag 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
Benutzeravatar
Epyx
Beiträge: 247
Registriert: 29.08.2004 01:40
Computerausstattung: AMD64 X2 DualCore 6000+ , 3GB Ram , WinXP sp3
2x Ati Radeon HD4800 ~ CrossFireX
Kontaktdaten:

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

Beitrag 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
If you can't make it good, at least make it look good.
Bill Gates
Antworten