Wobei es von dem Linken Rand perfekt wieder in den Bildschirm kommt.
Habe das in Pb 4.51 x86 und 5.11 x86 getestet, dort funktioniert das einwand frei.
Wenn das nun ein Bug ist, bitte ich diejenigen von euch, welche der englischen Sprache mächtig sind, es eventuell weiter zu leiten.
Schaut selbst....
Code: Alles auswählen
EnableExplicit
If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0
  MessageRequester("Error", "Can't open the sprite system", 0)
  End
EndIf
OpenScreen( 1024, 768,32, "Test", 0 )
Define x.i = 800, w.i = 0
ClearScreen(0)
StartDrawing( ScreenOutput() )
Box( 0, 0, 127, 127, $FFFFFF )
StopDrawing()
GrabSprite( 1, 0, 0, 127, 127, #PB_Sprite_AlphaBlending )
Procedure DisplayTransformSprite(Sprite.i, X.f, Y.f, Width.f, Height.f, Angle.f, CenterX.f=0, CenterY.f=0, Transparency=255)
  
   Protected Sin.f = Sin(Radian(Angle)), Cos.f = Cos(Radian(Angle))
   TransformSprite(Sprite, Cos*(-Width*0.5-CenterX) - Sin*(-Height*0.5-CenterY), Sin*(-Width*0.5-CenterX) + Cos*(-Height*0.5-CenterY), Cos*( Width*0.5-CenterX) - Sin*(-Height*0.5-CenterY), Sin*( Width*0.5-CenterX) + Cos*(-Height*0.5-CenterY), Cos*( Width*0.5-CenterX) - Sin*( Height*0.5-CenterY), Sin*( Width*0.5-CenterX) + Cos*( Height*0.5-CenterY), Cos*(-Width*0.5-CenterX) - Sin*( Height*0.5-CenterY), Sin*(-Width*0.5-CenterX) + Cos*( Height*0.5-CenterY))
   DisplayTransparentSprite(Sprite, X, Y, Transparency)
   
EndProcedure 
SetFrameRate(60)
Repeat
  
  ExamineKeyboard()
  
  ClearScreen(0)
  
  DisplayTransformSprite( 1, x, 384, 128, 128, w, 0, 0, 255 )
 
  x+1: w+1
  
  If w > 359: w-360: EndIf
  
  If x > 1023 + SpriteWidth( 1 )/2: x = 0 - 128/2: EndIf
  
  StartDrawing( ScreenOutput() )
  
  Circle( x, 384, 4, $00FF00 );SpriteCenter anzeigen lassen
  
  StopDrawing()
  
FlipBuffers()  
  Until KeyboardPushed( #PB_Key_Escape )