In einem Raster von Mittelpunkt zu Mittelpunkt der Kästchen
Übersicht

HendyBetreff: In einem Raster von Mittelpunkt zu Mittelpunkt der Kästchen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hab folgendes Problem ich möchte in einem von mir erstelltem Raster ein Rechteck von Mittelpunkt zu Mittelpunkt bewegen und nicht das es zu den mittelpunkten springt sondern dass dieses Rechteck sich langsam und naja nicht Pixel für Pixel aber doch iwi schon sich bewegt:
Code: [AUSKLAPPEN] Graphics 1024,768 SetBuffer BackBuffer() frametimer = CreateTimer (10) Global kx1 = 1 Global ky1 = 1 Repeat Cls WaitTimer (frametimer) Raster() SP() Flip Until KeyHit (1) End Function raster() Local Posx Local Posy For Kx = 1 To 20 For Ky = 1 To 15 Posx = (Kx*50)+(12-25) Posy = (Ky*50)+(7-25) Plot Posx, Posy Text (Posx-25), (Posy-25), Kx+","+Ky Next Next For Rx = 0 To 1024 Step 50 For Ry = 0 To 768 Step 50 Line (Rx+12),0,(Rx+12),768 Line 0,(Ry+7),1024,(Ry+7) Next Next End Function Function SP() Posx = (Kx1*50)+(12-25) Posy = (Ky1*50)+(7-25) Rect (Posx-5), (Posy-5), 10, 10 Kx1 = Kx1 + 1 If Kx1 > 20 Then Kx1 = 1 Ky1 = Ky1 + 1 EndIf If Ky1 > 15 Then Ky1 = 1 End Function |
||
![]() |
Meoqan |
![]() Antworten mit Zitat ![]() |
---|---|---|
Benutze einfach ein paar mathe befehle dann klappt das.
setze ein ziel und berechne winkel und entferung. bewege dein rechteck solange in richtung des winkels bis die entfernung ereicht ist. Dann wieder ein neues ziel setzten. und so schauts fertig aus: Code: [AUSKLAPPEN] Graphics 1024,768,0,2 SetBuffer BackBuffer() frametimer = CreateTimer (10) Const speed = 10 Global old_kx1 = 0 Global old_ky1 = 0 Global kx1 = 1 Global ky1 = 1 Global aktX#,aktY# Global Winkel#,entfernung#,zahler Repeat Cls WaitTimer (frametimer) raster() If SP_update() Then SP() Rect (aktX#-5), (aktY#-5), 10, 10 Flip Until KeyHit (1) End Function raster() Local Posx Local Posy For Kx = 1 To 20 For Ky = 1 To 15 Posx = (Kx*50)+(12-25) Posy = (Ky*50)+(7-25) Plot Posx, Posy Text (Posx-25), (Posy-25), Kx+","+Ky Next Next For Rx = 0 To 1024 Step 50 For Ry = 0 To 768 Step 50 Line (Rx+12),0,(Rx+12),768 Line 0,(Ry+7),1024,(Ry+7) Next Next End Function Function SP_update() aktX# = aktX# + Cos(Winkel#) * speed aktY# = aktY# + Sin(Winkel#) * speed If entfernung# > zahler Then zahler=zahler+speed : tmp=False Else zahler=0 : tmp=True Return tmp End Function Function SP() old_kx1=kx1 old_ky1=ky1 aktX# = (kx1*50)+(12-25) aktY# = (ky1*50)+(7-25) kx1 = kx1 + 1 If kx1 > 20 Then kx1 = 1 ky1 = ky1 + 1 EndIf If ky1 > 15 Then ky1 = 1 entfernung#=Sqr( (Float((kx1*50)+(12-25)) - Float((old_kx1*50)+(12-25))) ^ 2 + (Float((ky1*50)+(7-25)) - Float((old_ky1*50)+(7-25))) ^ 2) Winkel#= - (ATan2(Float((kx1*50)+(12-25)) - Float((old_kx1*50)+(12-25)), Float((ky1*50)+(7-25)) - Float((old_ky1*50)+(7-25))) -90) Mod 360 End Function |
||
meine codes sind die essenz des bössen. nicht du veränderst meine codes sondern meine codes verändern dich! |
Hendy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
okay danke für die antwort...![]() ![]() |
||
![]() ![]() ![]() |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group