Winkel falsch...
Übersicht

![]() |
GoodjeeBetreff: Winkel falsch... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics 800,600,32,2
SetBuffer BackBuffer() map=CreateImage(400,400) SetBuffer ImageBuffer(map) Color 255,255,255 Rect 0,0,400,400 Color 0,200,0 Oval 50,50,300,300 SetBuffer BackBuffer() Dim men(359) men(0)=CreateImage(50,30) SetBuffer ImageBuffer(men(0)) Line 20,15,40,15 Oval 40,10,10,10 Line 0,0,20,15 Line 0,30,20,15 Line 40,15,25,0 Line 40,15,25,30 SetBuffer BackBuffer() HandleImage(men(0),0,15) For i=1 To 359 men(i)=CopyImage(men(0)) RotateImage(men(i),i) Next Repeat DrawImage map,0,0 winkel=ASin((MouseY()-200)/Sqr((MouseY()-200)^2+(MouseX()-200)^2)) If winkel=360 Then winkel=0 ElseIf winkel<0 Then winkel=359+winkel EndIf DebugLog winkel DrawImage men(winkel),MouseX(),MouseY() Flip Until KeyHit(1) End bei diesem code ist auf der rechten seite der kugel alles ok...nur wenn ich auf der linken seite rum gehe ist der winkel immer falsch...ich kenne mich nicht ganz so mit den winkelbefehlen aus...also bitte helft mir... |
||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
![]() |
PowerProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich denke, du brauchst den Befehl "Mod". Guck dir den und ATan in der OH an. Da sind ja immer so praktische Praxisbeispiele ![]() |
||
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich hab versucht mod auszubauen weil das langsam ist...is ja ne division und die sind immer die langsamsten..
so gehts immer noch nicht... Code: [AUSKLAPPEN] Repeat DrawImage map,0,0 dx=MouseX()-200 dy=MouseY()-200 r#=Sqr#(dx*dx+dy*dy) winkel=ASin(dy/r) winkel=winkel Mod 360 DebugLog winkel DrawImage men(winkel),MouseX(),MouseY() Flip Until KeyHit(1) End |
||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
- Zuletzt bearbeitet von Goodjee am Sa, Jun 10, 2006 12:41, insgesamt einmal bearbeitet
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hay Ich weis jetzt zwar nicht genau was du willst aber vileicht hilft dir das hir weiter.
Code: [AUSKLAPPEN] Graphics 800,600,32,2 SetBuffer BackBuffer() map=CreateImage(400,400) SetBuffer ImageBuffer(map) Color 255,255,255 Rect 0,0,400,400 Color 0,200,0 Oval 50,50,300,300 KreisMitteX=125+50 KreisMitteY=125+50 men=CreateImage(50,30) SetBuffer ImageBuffer(men) Line 20,15,40,15 Oval 40,10,10,10 Line 0,0,20,15 Line 0,30,20,15 Line 40,15,25,0 Line 40,15,25,30 MidHandle men SetBuffer BackBuffer() Repeat MausX=MouseX():MausY=MouseY() Winkel=ATan2(MausX-KreisMitteX,MausY-KreisMitteY)+180 AppTitle Winkel DrawBlock Map,0,0 MenUpdate=CopyImage(Men):RotateImage MenUpdate,Winkel*-1-90 DrawImage MenUpdate,MausX,MausY:FreeImage MenUpdate Flip Until KeyDown(1)=1:End |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group