Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[Flash/Actionscript] Dynamische instancenames en functies

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik vraag me af hoe ik een dynamisch aangemaakte MC met attachmovie (waarbij de instance ook variabel is) kan aanspreken met een functie. De instance wordt als volgt aangemaakt:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
map_MC.canvas.placeButton.onRelease = function()
{
    mouse_xcoordinate = (map_MC.canvas.placeButton._xmouse) + 360;
    mouse_ycoordinate = (map_MC.canvas.placeButton._ymouse) + 360;
    if (addScanPointButtonSelected == true)
    {
        scanPoints[scanPointTotal] = new Array;
        scanPointName = "scanpoint" + scanPointTotal;
        scanPointDepth = scanPointDepth + 1;
        map_MC.canvas.attachMovie ("scanpoint", scanPointName, scanPointDepth, {_x:mouse_xcoordinate, _y:mouse_ycoordinate});
        scanPoints[scanPointTotal][0] = scanPointName;
        scanPoints[scanPointTotal][1] = mouse_xcoordinate;
        scanPoints[scanPointTotal][2] = mouse_ycoordinate;
        scanPoints[scanPointTotal][3] = 10;
        scanPoints[scanPointTotal][4] = 18;
        scanPointTotal = scanPointTotal + 1;
    }
}


Bij elke klik op de knop wordt een instance toegevoegd in de canvas-movieclip, waarbij de instance- name steeds 1 wordt opgehoogd: scanpoint0, scanpoint1, scanpoint2, etc.
Nu is het de bedoeling dat elke keer, wanneer met de muis over 1 van deze instances wordt bewogen er een actie volgt. De vraag is alleen hoe ik iets in de juiste scope zet.

Ik heb het volgende geprobeerd, maar helaas werkt dat niet voor de aangemaakte instance.
code:
1
2
3
4
5
map_MC.canvas["scanpoint" + 0].onRelease = function()
{
    map_MC.canvas["scanpoint" + 0]._visible = false;
    trace ("test");
}

Hoe kan ik daarnaast voor zorgen, zonder dat ik tig verschillende functies aanmaak, dat elke individuele instance wel dezelfde actie verricht.

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
map_MC.canvas.placeButton.onRelease = function()
{
    mouse_xcoordinate = (map_MC.canvas.placeButton._xmouse) + 360;
    mouse_ycoordinate = (map_MC.canvas.placeButton._ymouse) + 360;
    if (addScanPointButtonSelected == true)
    {
        scanPoints[scanPointTotal] = new Array;
        scanPointName = "scanpoint" + scanPointTotal;
        scanPointDepth = scanPointDepth + 1;
        map_MC.canvas.attachMovie ("scanpoint", scanPointName, scanPointDepth, {_x:mouse_xcoordinate, _y:mouse_ycoordinate});
        map_MC.canvas[scanPointName].onRelease = function()
        {
            map_MC.canvas[scanPointName]._visible = false;
            trace ("test");
        }
        scanPoints[scanPointTotal][0] = scanPointName;
        scanPoints[scanPointTotal][1] = mouse_xcoordinate;
        scanPoints[scanPointTotal][2] = mouse_ycoordinate;
        scanPoints[scanPointTotal][3] = 10;
        scanPoints[scanPointTotal][4] = 18;
        scanPointTotal = scanPointTotal + 1;
    }
}


Ik maak nu gebruik van de volgende functionaliteit, maar deze werkt half. De functie is nu verwerkt in de code zelf. Wanneer ik geen variabele gebruik, zoals "scanpoint0", dan wordt er wel een trace gedaan, maar bij het gebruiken van variabelen dan wordt de trace niet uitgevoerd.
Enig idee hoe dit aangepast moet worden?

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Use the Afbeeldingslocatie: http://gathering.tweakers.net/global/templates/tweakers/images/icons/edit.gif Luke ;)

Oftewel als je als laatste heb gereageerd binnen 24 uur, dan gebruik je de edit, anders wordt het als kicken beschouwt. Denk daar voortaan aan ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
Ik zal erom denken.

Overigens ben ik nu niet de laatste binnen 24 uur ;). Is er niemand die een mogelijkheid ziet om mijn probleem op te lossen?