Avatar billede rafix Nybegynder
26. maj 2005 - 09:42 Der er 8 kommentarer og
1 løsning

Boolean if else problemer

jeg prøver at holde styr på om der er klikket på mit movieklip og derefter kalde den rigtige frame i mit tekst movieklip - men det virker ikke ordentligt. Den genkender ligesom ikke de første If hvor den kalder _root.tekst.gotoAndPlay(70); eller frame 105.

mitMC1.onPress = function() {
                    if (mitMC2variabel) {
                        _root.tekst.gotoAndPlay(105);
                        var mitMC1variabel:Boolean = true;
                        var mitMC2variabel:Boolean = false;                       
                    }
                    else {
                        _root.tekst.gotoAndPlay(2);
                        var mitMC1variabel:Boolean = true;
                    }   
};

mitMC2.onPress = function() {
                    if (mitMC1variabel) {
                        _root.tekst.gotoAndPlay(70);
                        var mitMC1variabel:Boolean = false;
                        var mitMC2variabel:Boolean = true;
                    }
                    else {
                        _root.tekst.gotoAndPlay(35);
                        var mitMC2variabel:Boolean = true;
                    }   
};
Avatar billede webt Nybegynder
26. maj 2005 - 10:20 #1
Har du deklereret de variabler uden for dine onpress? fordi ellers vil de jo først blive sat når man klikker på en af dem så hvis du inden sætter dem som false går jeg ud fra
og så bare ressetter dem igen i dine onPress dvs uden var og :Boolean så tror jeg det vil virke

Mvh
Martin
Avatar billede rafix Nybegynder
26. maj 2005 - 10:34 #2
sådan ?

var mitMC1variabel:Boolean = false;
var mitMC2variabel:Boolean = false;

mitMC1.onPress = function() {
                    if (mitMC2variabel) {
                        _root.tekst.gotoAndPlay(105);
                        var mitMC1variabel:Boolean = true;
                        var mitMC2variabel:Boolean = false;                       
                    }
                    else {
                        _root.tekst.gotoAndPlay(2);
                        var mitMC1variabel:Boolean = true;
                    }   
};

mitMC2.onPress = function() {
                    if (mitMC1variabel) {
                        _root.tekst.gotoAndPlay(70);
                        var mitMC1variabel:Boolean = false;
                        var mitMC2variabel:Boolean = true;
                    }
                    else {
                        _root.tekst.gotoAndPlay(35);
                        var mitMC2variabel:Boolean = true;
                    }   
};
Avatar billede webt Nybegynder
26. maj 2005 - 10:41 #3
Mener ikke man skal gendeklare variabler når man har gjort det, så:

var mitMC1variabel:Boolean = false;
var mitMC2variabel:Boolean = false;
mitMC1.onPress = function() {
                    if (mitMC2variabel) {
                        _root.tekst.gotoAndPlay(105);
                        mitMC1variabel = true;
                        mitMC2variabel = false;                     
                    }
                    else {
                        _root.tekst.gotoAndPlay(2);
                        mitMC1variabel = true;
                    } 
};

mitMC2.onPress = function() {
                    if (mitMC1variabel) {
                        _root.tekst.gotoAndPlay(70);
                        mitMC1variabel = false;
                        mitMC2variabel= true;
                    }
                    else {
                      _root.tekst.gotoAndPlay(35);
                      mitMC2variabel = true;
                    } 
};
Avatar billede rafix Nybegynder
26. maj 2005 - 10:41 #4
http://www.segafredo.dk/flash/segafredo.html

det virker ikke. den finder ligesom ikke
_root.tekst.gotoAndPlay(105);
og
_root.tekst.gotoAndPlay(70);
Avatar billede rafix Nybegynder
26. maj 2005 - 10:42 #5
u the man. havde ikke set dit indlæg. Det spiller!
tak for hjælpen :)
Avatar billede webt Nybegynder
26. maj 2005 - 10:52 #6
Det var så lidt :) hadder flash lige pt men der er altid noget heh, i mit tilfælde var det en kommentar der stod et sted flash ikke lige var tilfreds med og det kan man så bruge lang tid på heh, men om man vil eller ej er det jo sjovt at arbejde med, god fornøjelse

Mvh Martin
Avatar billede rafix Nybegynder
26. maj 2005 - 10:55 #7
hehe tak. u2
Avatar billede rafix Nybegynder
26. maj 2005 - 11:00 #8
nu prøver jeg at smide det ind i min easing funktion, men så strejker den igen... er det noget du er frisk på at lure på eller skal jeg bare droppe det. jeg kan bare oprette et nyt spørgsmål:


var mitMC1variabel:Boolean = false;
var mitMC2variabel:Boolean = false;

var speed:Number = 4;
// Funktionen tager parametrene: MC'ets navn, MC'ets slutposition og om MC'et skal slutte med at afspille en indlejret frame
function moveMC(mc:MovieClip, targetx:Number, pressed:Boolean) {
    mc.onEnterFrame = function() {
            mc._x += (targetx - mc._x)/speed;
            if (mc._x <= targetx) {
                if(pressed) { // Hvis animationen er blevet sat igang fra en knap

                  if (mitMC2variabel) {
                        _root.tekst.gotoAndPlay(105);
                        mitMC1variabel = true;
                        mitMC2variabel = false;                     
                    }
                    else {
                        _root.tekst.gotoAndPlay(2);
                        mitMC1variabel = true;
                    } 
                    if (mitMC1variabel) {
                        _root.tekst.gotoAndPlay(70);
                        mitMC1variabel = false;
                        mitMC2variabel= true;
                    }
                    else {
                      _root.tekst.gotoAndPlay(35);
                      mitMC2variabel = true;
                    } 
               
               
                }
                delete mc.onEnterFrame;
                }
        }
}

moveMC(mitMC1, 380); // MC et animationen sættes igang
moveMC(mitMC2, 380); // Det andet MCs animation sættes igang


mitMC1.onPress = function() {
    moveMC(this, 0, true);
    moveMC(mitMC2, 0);
};

mitMC2.onPress = function() {
    moveMC(this, 380, true);
    moveMC(mitMC1, 380);
};
Avatar billede webt Nybegynder
26. maj 2005 - 11:08 #9
Hmm kan ikke lige se hvorfor, prøv evt. at smække _root. foran variablerne inde i dine if altså hvis variablerne er deklarert i _root. det kan tænkes at flash fordi det er inde i onEnterFrame rent faktisk sætter dem inde i mc movieclippet,, det er et gæt,,

Mvh
Martin
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Everllence

Data Engineer

Capgemini Danmark A/S

Java Engineer

Capgemini Danmark A/S

Client Partner

Netcompany A/S

Network Engineer