Hallo,
und zwar folgendes:
Ich hab ein Sprite das einen Pfeil darstellt. Dieses Sprite ist der Mauscursor. Soweit kein problem, nur soll dieser Pfeil immer in die richtung zeigen in welche die Maus bewegt wird.
Das müsste doch mit RotateSprite3D() zu realisieren sein, nur wüsste ich im moment nicht wie... Hat einer eine Idee?
mfg und danke im voraus!
Sprite mit Maus mit rotieren
- PureLust
- Beiträge: 1145
- Registriert: 21.07.2005 00:02
- Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
- Wohnort: am schönen Niederrhein
Hallo Quaxi, ...
ich gehe mal davon aus, dass Du die Rotation des Mauszeigers selber hinbekommst und Dein Problem eher die Bestimmung der Pfeilrichtung ist.
Die Richtung in die Du den Pfeil drehen müsstest, könntest Du u.A. dadurch bestimmen, dass Du mit Hilfe der Befehle MouseDeltaX und MouseDeltaY feststellst, in welche Richtung die Maus zuletzt bewegt wurde.
Also z.B.
MouseDeltaX > 0 und MouseDeltaY = 0 -> Maus wurde nach rechts bewegt.
MouseDeltaX < 0 und MouseDeltaY > 0 -> Maus wurde nach unten links bewegt.
Gruß, PureLust.
ich gehe mal davon aus, dass Du die Rotation des Mauszeigers selber hinbekommst und Dein Problem eher die Bestimmung der Pfeilrichtung ist.
Die Richtung in die Du den Pfeil drehen müsstest, könntest Du u.A. dadurch bestimmen, dass Du mit Hilfe der Befehle MouseDeltaX und MouseDeltaY feststellst, in welche Richtung die Maus zuletzt bewegt wurde.
Also z.B.
MouseDeltaX > 0 und MouseDeltaY = 0 -> Maus wurde nach rechts bewegt.
MouseDeltaX < 0 und MouseDeltaY > 0 -> Maus wurde nach unten links bewegt.
Gruß, PureLust.
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
Ich hab mal kurz nen BlitzBasic Code in PB umgesetzt, kann allerdings nicht garantieren, dass dieser Code funktioniert
Code: Alles auswählen
Procedure.f atan2(y.f,x.f)
! fld dword [esp] ;load y
! fld dword [esp+4] ;load x
! fpatan ;get atan(y/x), put result in ST1. then pop stack to leave result in ST0
! ftst ;test ST0 (that's the top of stack) against zero
! fstsw ax ;put result of test into AX
! sahf ;get the FPU flags into the CPU flags
! jae @@skip ; if above or equal then skip the add 2*pi code
! fldpi ;get pi
! fadd st1,st0 ;add pi to result
! faddp st1,st0 ;and again, for 2pi, then pop the now unneeded pi from st0
! @@skip:
EndProcedure
winkel = Int((atan2(y - MouseY(), x - MouseX()) + 360)) % 360Geometrie
Tafelwerk S. 45 
http://www.mathepower.com/dreieck.php
Du kennst doch sicherlich diese Augen, die immer hinter dem Zeiger her schauen
http://www.pandorabots.com/pandora/talk ... d97e345aa1
Oder gib ein www.alicebot.org und dann Chat with Alice
Also du nimmst eine feste Position P(X1|Y1)
und berechnest eine Gerade zum Punkt M(X2|Y2) ~ M steht für die Maus.
du kannst so also den Winkel mit Hilfe der oben genannten WebSeite und dem Stoff der zehnten Klasse lösen.
Wenn das klappt, lässt du deinen festen Punkt P(X1|Y1) einfach wandern und immer dahin setzen, wo deine fast neue Mausposition ist.
Du hast also eine ganz neue, die nun M(X1|Y1) ist, und eine fast neue.
Wenn die Maus nicht bewegt wird, werden M und P automatisch der selbe Punkt.
Ich wünsch dir viel Erfolg und hoffe, du schaffst es. Würde mich auch über eine Danksagung freuen
Wenn du auch richtig großzügig sein möchtest, kann ich dir auch meine KontoNr. geben 
Netten Gruß, Xaby
http://www.mathepower.com/dreieck.php
Du kennst doch sicherlich diese Augen, die immer hinter dem Zeiger her schauen
http://www.pandorabots.com/pandora/talk ... d97e345aa1
Oder gib ein www.alicebot.org und dann Chat with Alice
Also du nimmst eine feste Position P(X1|Y1)
und berechnest eine Gerade zum Punkt M(X2|Y2) ~ M steht für die Maus.
du kannst so also den Winkel mit Hilfe der oben genannten WebSeite und dem Stoff der zehnten Klasse lösen.
Wenn das klappt, lässt du deinen festen Punkt P(X1|Y1) einfach wandern und immer dahin setzen, wo deine fast neue Mausposition ist.
Du hast also eine ganz neue, die nun M(X1|Y1) ist, und eine fast neue.
Wenn die Maus nicht bewegt wird, werden M und P automatisch der selbe Punkt.
Ich wünsch dir viel Erfolg und hoffe, du schaffst es. Würde mich auch über eine Danksagung freuen
Netten Gruß, Xaby
Kinder an die Macht http://scratch.mit.edu/