0Collision, mit Grafik von Type-variablen als Standort
Übersicht

![]() |
pokopBetreff: 0Collision, mit Grafik von Type-variablen als Standort |
![]() Antworten mit Zitat ![]() |
---|---|---|
So, gleich mal ne doofe überschirft^^
Also mein Problem: Ich will jetzt bei meinem Code machen, das wenn ein "Wartank" auf einem anderen fährt, das der dann Schaden nimmt, was sich mit diesen Typen schwer machen lässt, weil sie ja alle gleich heißen(oder so) BlitzBasic: [AUSKLAPPEN] Graphics 800,600,16,2 Es funktioniert einwandfrei, nur die sachen fahren eben über sich drüber, was ja in wirklichkeit auch passieren kann, also muss der Spieler aufpassen, wie er seine Einheiten schickt. nochmal zum mitschreiben: Einheiten fahren über sich drüber(darf schon sein), nur die Einheiten müssen dabei Schaden nehmen!!!! Das problem ist hier, das ich ja immer nur einen Typ checken kann, also wäre das schwachsinnig: BlitzBasic: [AUSKLAPPEN] If ImagesCollide(Tank1,wartank\x,wartank\y,0,Tank1,wartank\x,wartank\y,0) Das ding würde sich ja dann selbst zerstören... (help me....) |
||
http://www.abandonia.com/
--->Nikola Tesla<--- |
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
BlitzBasic: [AUSKLAPPEN] Local wartank_colli.tank erst legst du einen zweiten zugriif auf die tanks fest! dann läufst du alle tanks durch! für jeden tank läufst du nochmals alle tanks durch! wenn die tanks nicht glecih sind (also nich dieselben), prüfst du ob die beiden collidieren! |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann hast du aber viel doppelte Abfragen mit drin,
ich löse das immer so BlitzBasic: [AUSKLAPPEN] For W1.tank = Each tank Wenn es einer nicht versteht dann erkläre ich das auch noch! |
||
[BB2D | BB3D | BB+]
|
![]() |
Ctuchik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schlaue Methode ![]() Wieder was gelernt! Dankeschöön! ![]() MfG Ctuchik |
||
Zu den Nebenwirkungen gehören trockener Mund, Übelkeit, Erbrechen, Harnstau, schmerzhafter rektaler Juckreiz, Halluzinationen, Demenz, Psychose, Koma, Tod und Mundgeruch!
Magie eignet sich nicht für alle! Fraget euren Arzt oder Apotheker! |
![]() |
pokop |
![]() Antworten mit Zitat ![]() |
---|---|---|
Häääää?
und wo krieg ich jetzt nen zweiten her? Die sind doch alle vom selben type... (ich glaub ich sth auf der Leitung...) |
||
http://www.abandonia.com/
--->Nikola Tesla<--- |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
das spielt keine Rolle!
hier mel eine dolle Erklärung! Stell dir vor du hast einen Kateikasten(Wartank) nun nimmst du eine Wäschklammer auf der W1 steht und klemmst diese an die erste Karte! jetzt zauberst du eine zweite mit der Aufschrift W2 aus der Tasche und klemmst diese an der Karte hinter der Klammer W1 Und schon hast du deine verschiedene Typeeinträge aus dem gleichem type Namen! vielleicht reicht das schon um es zu verstehen! denn diese Types funktionieren wirklich wie ein Kateikasten! |
||
[BB2D | BB3D | BB+]
|
![]() |
pokop |
![]() Antworten mit Zitat ![]() |
---|---|---|
(des will nicht in meinen Schädel rein!)
Aber wie sag ich dem computer, das er jetzt die zweite klammer auch an DIE Karte hängen soll? |
||
http://www.abandonia.com/
--->Nikola Tesla<--- |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
also mit der Schleife setzt du die W1 auf die erste Karte
For W1.Tank = Each W1.Tank Next wenn das Next kommt wird die W1 Klammer eins weiter gesetzt, das bedeutet das alle durchlaufen werden! mit w2.tank = after w1.tank setzt du die 2. Klammer auf die nächste Karte hinter W1 und mit w2.Tank = after w2.Tank wird die w2 Klammer einfach ein weitergesetzt! Bist du am Ende der Katei und es gibt keine karte mehr ist w2.Tank = Null , dann steckt die Klammer auf keiner Karte |
||
[BB2D | BB3D | BB+]
|
hitokiri |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@rallimen: genial ![]() würde mich allerdings schonmal interessieren inwiefern es bei geringer anzahl types wirklich schneller als die beiden for each ist, könnte mir vorstellen dass das zweimal after eventuell langsamer ist als eine for each |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich denke mal das das grundsätzlich schneller ist als die 2 For..Next Schleifen!
Aber werde es gleich mal testen! Viel zeitsparender ist das was in der Schleife steht, da diese Abfragen um mehr als 50% reduziert werden! und bei colli abfragen ist das sehr zum Vorteil! [EDIT] die After Version benötigt nur 30 - 50% der Zeit, dabei spielt es keine Rolle ob es nur 1 Type ist oder es 10000 sind! Und die Abfragen die drin stehen reduzieren sich genau um 50% da in der For For Schleife ja jedesmal auch If W1 <>W2 stehen muß |
||
[BB2D | BB3D | BB+]
|
hitokiri |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
dass sich die abfragen um 50% reduzieren war mir klar, dachte nur, dass vielleicht das "after" command langsamer sein könnte als das for each, weil ich dachte, dass er bei after jedes mal erst testet, ob noch ein weiteres danach existiert, während er bei for each einfach einen wert immer dekrementiert bis er auf 0 ist. *kopfkratz*...hoffe irgendjemand kapiert was ich meine... aber egal ![]() danke rallimen |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group