ich wollte eigentlich nur wissen, wo mein Fehler bei diesem Funktionsaufruf liegt, aber ich werde das mal in einem neuen Thread posten, da es hier eigentlich nicht hingehört...
Wenn du diese Ausschweifungen zu A* meinst, dann hier meine Antwort:
Wenn du willst, dass es sich direkt an dem Punkt befindet, sobald du dorthin klickst, holst du dir mit den Befehlen MouseX() und Mousey() aus der Mouselib die momentanen Koordinaten der Maus(werden in Pixel ausgegeben) und setzt die x/y Koordinaten deines Sprites o.ä den gespeicherten Mauskoordinaten gleich. z.B.
Code: Alles auswählen
InitSprite()
InitMouse()
InitKeyboard()
OpenScreen(1024,768,32,"Spritebewegung")
CreateSprite(0,32,32)
StartDrawing(SpriteOutput(0))
Box(0,0,32,32,RGB(200,100,0))
StopDrawing()
CreateSprite(1,4,4)
StartDrawing(SpriteOutput(1))
Circle(2,2,2,RGB(0,100,200))
StopDrawing()
TransparentSpriteColor(1,0)
Repeat
ExamineMouse()
ExamineKeyboard()
ClearScreen(0)
DisplaySprite(0,sx,sy)
DisplayTransparentSprite(1,MouseX(),MouseY())
If MouseButton(#PB_MouseButton_Left)
sx = MouseX() - 16
sy = MouseY() - 16
EndIf
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
Code: Alles auswählen
InitSprite()
InitMouse()
InitKeyboard()
#ges = 5
OpenScreen(1024,768,32,"Spritebewegung")
CreateSprite(0,32,32)
StartDrawing(SpriteOutput(0))
Box(0,0,32,32,RGB(200,100,0))
StopDrawing()
CreateSprite(1,4,4)
StartDrawing(SpriteOutput(1))
Circle(2,2,2,RGB(0,100,200))
StopDrawing()
TransparentSpriteColor(1,0)
Repeat
ExamineMouse()
ExamineKeyboard()
ClearScreen(0)
DisplaySprite(0,sx,sy)
DisplayTransparentSprite(1,MouseX(),MouseY())
If MouseButton(#PB_MouseButton_Left)
zx = MouseX() - 16
zy = MouseY() - 16
EndIf
If zx < sx
sx - #ges
EndIf
If zx > sx
sx + #ges
EndIf
If zy < sy
sy - #ges
EndIf
If zy > sy
sy + #ges
endif
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)