type zu "type-wegpunkt" bewegen[erledigt]
Übersicht

![]() |
DottakopfBetreff: type zu "type-wegpunkt" bewegen[erledigt] |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi blitzer !
wollt mich mit den befehlen first after before last usw. auseinander setzen, und hab darum zum lernen n kleines programm geschrieben, bei dem rechtecke wegpunkte in einer gewissen reihenfolge ablaufen sollen. Dazu hab ich mir nen kleinen editor geschrieben bei dem man die "way-points" setzt und dann anschließen in der richtigen "ablauf reihenfolge" in ne txt datei abspeichert. Nur leider klappt das mit dem von way point zu way point laufen ned wirklich ^^ so wollte ich es lösen. way points erstellen zum ersten waypoint type eintrag springen und nun immer mit "after" einen eintrag weiter und rechteck auf neun waypoint bewegen code: info2 <--- = ein enemy info <----= ein waypoint Code: [AUSKLAPPEN] Function update_enemy() info.waypoint = First waypoint ;update For info2.enemy = Each enemy If info2\ex > info\wx Then info2\ex = info2\ex - 1 End If If info2\ey > info\wy Then info2\ey = info2\ey - 1 End If If info2\ex < info\wx Then info2\ex = info2\ex +1 End If If info2\ey < info\wy Then info2\ey = info2\ey +1 End If If info2\ey = info\wy Then info = After info ;enemy zeichnen Rect info2\ex*32,info2\ey*32,32,32,1 Next End Function wenn ich jetz zb 5 enemys erstelle, bewegen sich alle auf way point 1 ... dan bleibt dort ein enemy stehen und der rest rennt zum nächsten way point, (da bleibt dan au einer) .. das solange bis alle 5 enemys an einen waypoint stehen und sich nix mehr tut . Ich will aber dass alle zum schluss am letzten way point stehen. Oder einfach gesagt, die nicht an jedem punkt stehen bleiben. was mache ich falsch ? ~EDIT~ ohhhh etz seh ich das problem^^ (glaub ich) ich brauch noch irgendeine schleife.. damit der stehengebliebene enemy sich wieder zum nächsten waypoint auf macht. Hmm das funtz zwar nicht aber könnte scho besser sein Code: [AUSKLAPPEN] Function update_enemy() info.waypoint = First waypoint While Not info.waypoint = Last waypoint ;update For info2.enemy = Each enemy If info2\ex > info\wx Then info2\ex = info2\ex - 1 End If If info2\ey > info\wy Then info2\ey = info2\ey - 1 End If If info2\ex < info\wx Then info2\ex = info2\ex +1 End If If info2\ey < info\wy Then info2\ey = info2\ey +1 End If If info2\ey = info\wy And info2\ex = info\wx Then Exit ;enemy zeichnen Rect info2\ex*32,info2\ey*32,32,32,1 Next info = After info Wend End Function *~EDIT~ * habs jetzt doch noch binbekommen ... man sitz ich heut aufm schlauch... Code: [AUSKLAPPEN] Function update_enemy() info.waypoint = First waypoint Repeat ;update For info2.enemy = Each enemy If info2\ex > info\wx And info2\e_nr = info\w_nr Then info2\ex = info2\ex - 1 End If If info2\ey > info\wy And info2\e_nr = info\w_nr Then info2\ey = info2\ey - 1 End If If info2\ex < info\wx And info2\e_nr = info\w_nr Then info2\ex = info2\ex +1 End If If info2\ey < info\wy And info2\e_nr = info\w_nr Then info2\ey = info2\ey +1 End If If info2\ey = info\wy And info2\ex = info\wx And info2\e_nr = info\w_nr Then info2\e_nr = info2\e_nr +1 Exit ;enemy zeichnen Rect info2\ex*32,info2\ey*32,32,32,1 Next info = After info ;next waypoint Until info.waypoint = Last waypoint End Function mfg Dottakopf |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group