• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Lösung für einen Bilderslider

Moriarty

Pommerscher Krummstiel
Registriert
17.05.04
Beiträge
3.057
Hallo zusammen,

ich möchte für meine App (Umsetzung mit SpriteKit) folgendes bewerkstgelligen:

Es soll eine Szene bestehen, in welche bei jedem Touch ein Bild hineinslided, das vorherige soll entfernt werden, wenn das neue es komplett überdeckt.

Ich habe mir dazu eine Action mit der Bewegung des Bildes um 768 px erzeugt, und platziere bei jedem Touch in der Methode "touchesBegan" ein Bild außerhalb des Screens. Dann wende ich die Action auf das Bild an und es slided hinein.
Mit removeFromParent kann ich dann auch das alte Bild entfernen.

Soviel zur Umsetzung mit einem Bild.

Jetzt die Frage: Wie mache ich daraus eine Lösung für z.B. 13 Bilder? Eine Schleife innerhalb von touchesBegan, die eine Variable inkrementiert, welche dann den Dateinamen des jeweiligen Bildes um eins erhöht? Oder ein Array / einen Atlas für die Bilder anlegen? Oder auf die holprige Tour - jedes Bild einzeln mit einer "case"-Abfrage und ebenfalls einer inkremntierenden Hilfsvariable?

Wer nennt mir mal den Workflow, wie man so etwas "richtig" umsetzt - den Rest frickle ich mir dann heraus ;)

Vielen Dank schon einmal
Dennis
 

DubiDuh

Zwiebelapfel
Registriert
20.05.08
Beiträge
1.288
Allgemein würde ich das über ein Array lösen, das als Feld in einer Klasse definiert wird, welches du in deiner Methode dann iterierst. Vergiss die Switch-Lösung mal ganz schnell, das fühlt sich sehr falsch an... Zudem hast du mit der Array-Lösung die Möglichkeit das einfach zu erweitern:

Code:
// Swift Pseudocode
var imagesToShow = [
    "image1.png",
    "image2.png",
    ...
    "image13.png"
];

for image in imagesToShow {
    //... do whatever you want to do with image
}
 
  • Like
Reaktionen: Moriarty

floison

Golden Delicious
Registriert
01.06.12
Beiträge
10
Du kannst auch eine allgemein formulierte Action schreiben und diese dann für jedes einzelne Bild in ein Array zusammenfassen. Das Array kann dann als Sequenz ([SKAction sequence:]) ausgeführt werden.

Edit: Die Action könnte über eine Methode erzeugt werden, der du das Bild als Parameter übergibst.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Moriarty

Moriarty

Pommerscher Krummstiel
Registriert
17.05.04
Beiträge
3.057
Hallo!

Hat etwas gedauert, aber ich habe es wie von Euch angeregt umgesetzt. Es klappt.

Danke für die Hinweise!!!

Gruß
Dennis