Hoe combineer je arrays in Actionscript 3 bij gebruik van verschillende afbeeldingsbestanden?

Ik heb overal op internet gekeken om te zien of ik hier een antwoord op kon vinden en ik heb ook gekeken op de hulpwebsite van Adobe Flash Builder en ik kan geen concreet antwoord vinden voor wat ik probeer te doen .

Het is mogelijk om te verwijzen naar een array binnen de naam van een afbeeldingsbestand, dit is het scenario.

Ik heb een lijst met afbeeldingen die alleen verschillen van het aantal aan het einde van de naam (bijvoorbeeld. Orangeimg1.jpg, appleimg2.jpg, strawberryim3.jpg, etc. Is het mogelijk om naar de afbeelding te verwijzen die ik op de een of andere manier naar de array zou kunnen verwijzen? in de bestandsnaam in plaats van steeds opnieuw dezelfde code te herhalen?

Ik heb twee verschillende arrays opgezet voor fruit met (oranje, appel, stawberry) en ik heb een andere array met de cijfers (1, 2, 3). Ik heb jpg-afbeeldingen voor elk van deze combinaties, maar hoe moet ik dat op één regel vermelden wanneer ik probeer naar deze afbeeldingen te verwijzen. Ik dacht dat iets als source = "[fruit] .img. [Nummer] .jpg" zou werken, maar ik ben een newbie dus ik ben er vrij zeker van dat dit niet klopt.

Ik heb weer wat informatie op het web gevonden, maar het verwijst niet naar hoe het zou werken als ik een bron voor mijn afbeeldingen codeerde.

Ik ben erg in de war en zou hier graag hulp bij vinden. Bedankt.

0
Zorg ervoor dat je het antwoord markeert als het juiste antwoord als het was wat je zoekt.
toegevoegd de auteur Adam Harte, de bron

2 antwoord

Strings worden samengevoegd met behulp van + .

var fruits:Array = ["banana", "cherry"];
var numbers:Array = [4, 2];
var source = fruits[0] + "img" + numbers[0] + ".jpg"; //bananaimg4.jpg

Als u meerdere bestandsnamen wilt maken, kunt u een lus gebruiken:

for(var i:int = 0; i

Je hebt die array waarschijnlijk waarschijnlijk niet nodig. Als die nummers in orde zijn, zou je het aantal in de loop kunnen berekenen:

for(var i:int = 0; i
1
toegevoegd
Gebruik alstublieft de afzonderlijke variabele voor de lengte van de fruitmatrix. Als we de lengte-eigenschap gebruiken die zich aanmeldt voor lusvoorwaarden, wordt elke keer dat deze wordt aangeroepen en we krijgen hetzelfde resultaat. Dus voor de lus moeten we een "uint" variabele declareren en we moeten de lengte van de array erin opslaan. Dus we kunnen optimaliseren voor loop-prestaties ....
toegevoegd de auteur Mrugesh, de bron
Bedankt Kapep, ik dacht dat ik op de goede weg zat, ik wist gewoon niet hoe ik het moest samenstellen. Dank je.
toegevoegd de auteur user1084279, de bron

Bovenstaand antwoord is goed, maar ik geef slechts enkele wijzigingen om de code effectiever te maken. We kunnen gebruiken voor lus in onderstaande indeling. het is geoptimaliseerde code:

var len:uint = fruits.length;
for(var i:int = 0; i
0
toegevoegd
Ik zeg dat dit de micro-optimalisatie is. Ik ben er zeker van dat er geen meetbaar snelheidsverschil is, omdat hij niet elk bestand duizenden duizenden bestandsnamen zal maken. Het laden van de afbeelding zal altijd aanzienlijk langzamer zijn. Hoewel, het is zeker goed om te weten dat stijl bestaat voor kritieke delen van de applicatie.
toegevoegd de auteur Kapep, de bron