for-schleife bei click..

  • Antworten:5
nawiat
  • Forum-Beiträge: 11

20.10.2014, 10:36:54 via Website

Hey Leute,

ich ahbe diesen Code:

            float x = event.getX();
            float y = event.getY();
            synchronized (getHolder()) {
            for (int ii = sprites5.size() - 1; ii >= 0; ii--) {
            sprite5 = sprites5.get(ii);
            if (sprite5.isCollision(x, y)) {
                npcgedrückt = sprites5.indexOf(sprite5);
                switch (npcgedrückt) {
                    case 0: {
                        npc1medium -= 1;
                        if (npc1medium == 0) {
                            npc1medium = 2;
                            sprites5.remove(npcgedrückt);
                        }
                    }
                    break;
                    case 1: {
                        npc2medium -= 1;
                        if (npc2medium == 0) {
                            npc2medium = 2;
                            sprites5.remove(npcgedrückt);
                        }
                    }
                }
            }
        }
        return true;
    }
}

}

Wenn ich jetzt ein Sprite anklicke soll die forschleife erkennen welcher das war und den Index dann in eine Variable speichern. Dann zieht er einer Variable 1 ab und soll dann wenn diese 0 ist den Sprite Löschen, so das er mehr leben hat. Nur er geht die Schleife so oft durch wie Sprites auf dem Feld sind(in dem Beispiel 2). und somit brauche ich dann nur ein klick.

kann jemand helfen ?

Grüße
Peter ^^

Antworten
pepperonas
  • Forum-Beiträge: 434

23.10.2014, 14:06:24 via App

Hallo, hast du im Code Sonderzeichen oder stellt das mein Handy nicht richtig dar?
"foreach" ist in (der) Java(spieleentwicklung) oft ein probates Mittel um nochmal einiges an Performance herauszuholen. Vielleicht wird der Klick nicht "bemerkt"?
Ich schaue mir später deinen Code aber nochmal genauer an. Bin nur gerade nicht am Rechner, sonst hätte ich noch ne Loop angefügt, die bei mir zum Einsatz kommt.

Open Source

Antworten
Georg C.
  • Forum-Beiträge: 235

23.10.2014, 18:54:11 via Website

... "foreach" ist in (der) Java(spieleentwicklung) oft ein probates
Mittel um nochmal einiges an Performance herauszuholen. Vielleicht
wird der Klick nicht "bemerkt"? ...

???

@nawiat
Umlaute (ü, ... ä ) sind bei progen TABU! - bitte ändern.

LG
Georg

— geändert am 23.10.2014, 18:55:06

Sorry für Gramatik & Stilistik Fehler.

Antworten
pepperonas
  • Forum-Beiträge: 434

23.10.2014, 22:43:39 via Website

Georg C.

???

Ich weiß nicht was ich mit den drei Fragezeichen anfangen soll, aber vielleicht hilft dir das hier .

Open Source

Antworten
Georg C.
  • Forum-Beiträge: 235

24.10.2014, 04:19:51 via Website

Hallo,
@Martin Pfeffer,
die drei Fragezeichen sollten im allgemein betonen, .... thia ..... vieles!
Ganz kurz aber,
- es stimmt, dass eine "foreach" etwas mit Performance zu tun hat.
- es macht aber nur dann Sinn, wenn die Schleife auch explizit auf seine Performance- Aufgaben "zugeschnitten" / abgestimmt ist.
- ... ohne es zu vertiefen ... (aus Erfahrung her) ....
der Usser gewinnt mir deinem Vorschlag ("foreach" Schleife) angenommen SOGAR! 2 FPS (Frame pro Sekunde seines Spieles) und mit .... weiteren (EIGENER!) Implementierungen ...
minus 20 ....

Fazit:
Eigentlich, was du so angesprochen hast stimmt alles.
Die Performance zu testen, ist sehr leicht.
... einfach ausprobieren!
...
...
nun was macht der User?
Spekulativ - such er nach einem Tutorial / Example was funktioniert ... sollte er (vielleicht schon geschehen! ) ein gefunden zu haben, ist dem User ----> unsere Konversation .... éee irrelevant!
...

@nawiat
Ich wollte dir dein Code schnipseln (schritt für schritt ) übersetzen, .... nun es handelt sich um Grundlagen. ... hast du wirklich immer noch Probleme damit?

LG
Georg

Ps.
Ist mir gerade so eingefallen, -> ich möchte hier nicht Angeben!
(wenn jemand schreibt, dass er hier nicht Angeben möchte, der lügt - hihihihi )
... im Ernst - versuche Tipps zu geben, also bitte die (meine Tipps) aus meinem Quatsch einfach -> herauszufiltern.

Sorry für Gramatik & Stilistik Fehler.

pepperonas

Antworten
pepperonas
  • Forum-Beiträge: 434

25.10.2014, 01:30:50 via Website

Hehe, ich weiß schon was du meinst...
Wenn es eine linked List ist, ist der Performance-Zuwachs aber alles andere als marginal - habe mal irgendwo was vom Faktor 1000 oder gar 10000 gelesen. oO
Aber du hast ebenfalls recht, nicht immer macht Sinn überall die beste Performance erzielen zu wollen und letztlich ist es ebenso richtig, dass der Programmierer es an anderer Stelle mit anderen "Fehlern" deutlich mehr verbocken kann. :D

Open Source

Antworten