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 )