Type oder Array
Übersicht

maerkiBetreff: Type oder Array |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
ich habe folgendes Problem: Ich will in meinem 2D J&R pro Level ca. 50 Münzen einfügen. Diese kann ich im TileStudio als ein spezielles Bound-Nummer angeben und so über GetBounds abrufen. Nun kommt mein Problem: Wenn ich die Positionen der Münzen berechnen will, habe ich folgenden Code: Code: [AUSKLAPPEN] For witdh = 0 To M_Width For height = 0 To M_Height ;Falls GetBounds(level, width, height) 50 zurückliefert, x/y speichern Next Next Nagt das nun nicht ziemlich an der Performance beim Starten des Spiels? Denn GetBounds wird immerhin 200*20, also 4000x ausgeführt. Jetzt kommt die Frage: Soll ich das ganze in ein Array speichern? Oder soll ich Types nehmen? Wohlgemerkt wird dann GetBounds 4000 * Anzahl Type-Objekte durchgeführt. Dies würde bei mir 20000x entsprechen! Oder irre ich mich da? Oder gibt es für das ganze sogar eine elegantere Lösung? Hauptsache ich kann die Münzen im TileStudio einfügen Liebe Grüsse |
||
bbprogger |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich würde Types benutzen, weil ich in meinem Spiel ebenfalls Types benutzte und es nicht viel langsamer läuft und
weil die ganzen Samples auch Types benutzten. Aber probier es doch einfach aus. ![]() |
||
![]() |
coolo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Deine Aussage muss ich verneinen bbprogger. Mit Types wird das erheblich langsamer(mach mal ne 256*256 große Map dann weißte was ich mein). Darum empfehle ich dir Arrays. Noch ein Vorteil von Arrays, du kannst sie direkt ansprechen, und musst nichtr erst alle types durchlaufen, bis du das gefunden hast, welches du brauchst. | ||
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project! "Eigenzitate sind nur was für Deppen" -Eigenzitat |
maerki |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok vielen Dank für den Rat. Ich habe das Ganze nun mit Arrays verwirklicht und es funktioniert ohne Probleme. Wie es nun mit der Performance aussieht weiss ich nicht genau, gibts da irgendwelche Programme zum Überwachen oder muss das mit dem Task-Manager reichen?
Gruss |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Deine Aussage muss ich verneinen bbprogger. Mit Types wird das erheblich langsamer(mach mal ne 256*256 große Map dann weißte was ich mein). Darum empfehle ich dir Arrays. Noch ein Vorteil von Arrays, du kannst sie direkt ansprechen, und musst nichtr erst alle types durchlaufen, bis du das gefunden hast, welches du brauchst.
bbprogger hat schon recht, bei den coins bieten sich wirklich types besser an. Wie stellst du es dir vor, solche dinge in einem dim (ja, hier ist übrigens von dims, und nicht von arrays die Rede) zu halten? hascoin(200,40)? Ich glaube das ist mehr als unperformant. Types magen vlt etwas langsamer sein, aber ich schätze mal, das bei einem kleinen jump&run-game die performance nicht haupt-augenmerk ist. Ich würde gleich einen Type Machen, der alle "Speziellen" dinge in dem Jump&run hällt. Coins, Powerups, "Spezial-teile" (wie der pilz bei mario ![]() Die münzen über das Dims abzurufen würde irgendwann schwierigere probleme machen, ciao, Smily0412 |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
maerki |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok vielen Dank für die Tipps. Hab mir das ganze nochmal überlegt und dann das Ganze mit Types gemacht. Ich denke wenn ich andere Spiele sehe, dürfte mein kleines J&R auf mit noch sovielen Schleifendurchläufen eigentlich kein Problem seitens der Perfromance haben.
Vielen Dank für die Antworten Gruss maerki |
||
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
du kannst Arrays und Types auch kombinieren: Code: [AUSKLAPPEN] Type Feld
Field TileNummer Field ItemNummer Field SonstWas# End Type Dim typeArray.Feld(100,100) typeArray(0,0) = new Feld typeArray(0,0)\TileNummer = 5 ... So ersparst du dir unnötige Loops, kannst aber trotzdem die Vorteile der Types geniessen ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group