6 berichten aan het bekijken - 1 tot 6 (van in totaal 6)
  • Q:
    Bijdrager
    chonazz

    Probleem met animatie via actionscript [flash]

    Beste mensen, ik ben een beetje aan het rotzooien met flash, en ik kom ergens niet uit.
    Ik heb een animatie gemaakt, die naar gelang waar je je bevind, vanaf een ander frame zou moeten beginnen spelen.
    Alle mc’s worden vanuit de library geladen, dus er staat niets op de stage, en alle code komt op frame 1 van de hoofdtijdlijn.

    Ik heb 1 mc, animatie, en die word bij het openen van de flashmovie op de stage gezet, als je hier op klikt, speelt deze animatie tot frame 15, en word er nog een mc op de stage gezet. Als je dan op deze nieuwe mc klikt, dan moet de animatie verder spelen tot frame 30, en moeten er 4 mc’s op stage gezet worden en moet die ene die er al stond weer verdwijnen.

    Tot nu toe werkt het tot stap 2, de animatie speelt als je er op klikt, en de eerste mc word op de stage geplaatst. Maar dan loopt het een beetje mis.
    Ik probeer een functie te schrijven, die iedere keer als je ergens op klikt word aangeroepen en kijkt in welk stadia de movie zich al bevind, om zo verder te gaan.
    Maar ik zie ergens iets doms over het hoofd denk ik.

    [code:1:a75dfe40ad]
    var teller:Number = 1;
    function navigatie(){
    onEnterFrame = function(){
    if(teller == 1){
    mc_animatie.gotoAndPlay(2);
    teller = 2;
    trace (teller);

    }
    if(teller == 2){
    this.attachMovie("mc_parfois", "mc_parfois",1);
    mc_parfois._x = Stage.width/2;
    mc_parfois._y = Stage.height/2;
    trace(_root.mc_animatie._currentframe);
    teller = 3;
    trace(teller);

    }
    if(teller == 3){
    this.gotoAndPlay(16);
    teller = 4;
    trace(teller);
    }
    if(teller == 4){
    this.gotoAndPlay(31);
    teller = 5;
    trace(teller);
    }
    if(teller == 5){
    this.gotoAndPlay(46);
    teller = 4;
    trace(teller);

    }

    }
    }

    //Animatie aan stage hangen
    _root.attachMovie("mc_animatie","mc_animatie",0);
    mc_animatie._x = Stage.width/2;
    mc_animatie._y = Stage.height/2;
    ///////////////////////////////////////////////////////////////

    mc_animatie.onRelease = function(){
    navigatie();
    }
    mc_parfois.onRelease = function(){
    navigatie();
    }[/code:1:a75dfe40ad]
    Het probleem zit m in de onEnterFrame in de functie denk ik, want als je op mc_parfois klikt dan zit de teller al aan 5 terwijl ie maar aan 3 zou mogen zitten.
    Ik moet wss ergens een delete this.onEnterFrame bij plaatsen, maar vind de juiste plaats niet.
    Wie kan me hier even mee verder helpen?
    Als er een betere manier is om dit te doen, dan hoor ik het graag.

    Groeten
    JOnas

    Bijdrager
    freshface

    Waarom een onEnterFrame gebruiken?
    Je roept de functie pas op na een klik. Dus na een klik op een kan je de functie toch 1x laten uitvoeren.

    Op het eerste zicht ziet de stuctuur er al niet zo goed uit.
    Kan je ook eens een .fla posten.

    Bijdrager
    chonazz

    Gebruikte onEnterFrame omdat het zonder maar niet lukte, maar ondertussen heb ik m eruit gesloopt.

    De .fla is hier te vinden:
    http://www.parfois.be/index.zip
    Is wel een flash 9 bestand.

    Als je de .fla bekijkt word vanzelf duidelijk wat de bedoeling is denk ik.

    JOnas

    Bijdrager
    freshface

    Ik heb buildMenu al herschreven:

    [code:1:5a5b1af0a3]var menuItems: Array = new Array("home","work","about","contact","");
    var prefix: String = "mc_";

    function buildMenu() {

    for (var i:Number = 0; i< menuItems.length;i++){
    _root.attachMovie(prefix+menuItems[i],prefix+menuItems[i],i);
    }
    trace("buildMenu();");

    }[/code:1:5a5b1af0a3]

    Ik probeer er deze avond nog eens naar te kijken.

    Bijdrager
    chonazz

    Is goed, maar die build menu was helemaal nog niet klaar, daar heb ik nu dit voor:

    [code:1:629e142b70]
    function buildMenu() {
    _root.attachMovie("mc_home","mc_home",2);
    _root.attachMovie("mc_work","mc_work",3);
    _root.attachMovie("mc_about","mc_about",4);
    _root.attachMovie("mc_contact","mc_contact",5);
    mc_home._x = mc_animatie._x – (mc_home._width/2);
    mc_home._y = mc_animatie._y – (mc_home._height/2);
    mc_work._x = mc_animatie._x + (mc_home._width/2);
    mc_work._y = mc_animatie._y – (mc_home._height/2);
    mc_about._x = mc_animatie._x – (mc_home._width/2);
    mc_about._y = mc_animatie._y + (mc_home._height/2);
    mc_contact._x = mc_animatie._x + (mc_home._width/2);
    mc_contact._y = mc_animatie._y + (mc_home._height/2);

    }
    [/code:1:629e142b70]
    Dus ik weet niet of jou ding dan nog van toepassing is?
    Groeten
    Jonas

    Bijdrager
    freshface

    Ja hoor, je moet dan hieronder 2 extra lijnen bijzetten:

    [code:1:6950954920] _root.attachMovie(prefix+menuItems[i],prefix+menuItems[i],i); [/code:1:6950954920]

6 berichten aan het bekijken - 1 tot 6 (van in totaal 6)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.