Jetzt Mitglied werden

Kostenlos registrieren und die vielen Vorteile der Webmasterpro-Mitgliedschaft nutzen.

Login für Mitglieder

Forum - Entwicklung

Info: Der Stern signalisiert, dass neue Beiträge vorhanden sind.

Über Webmasterpro.de

Das Portal wird betrieben und entwickelt durch die Team23 Agentur. Die Augsbuger Agentur hat sich auf Community Software und die Entwicklung von Webportalen spezialisiert.

Flash und ActionScript - Forum

Derzeit sind Sie als Gast in unserem Forum aktiv. Für das Schreiben registrieren Sie sich bitte. Unser Forum ist eine Austauschplattform für Webworker zum Kommunizieren, Helfen, Informieren und Hilfe finden. Auf der rechten Seiten finden Sie eine Forenübersicht über alle Bereiche des Webmaster-Forums. Unterhalb finden Sie alle aktuellen Themen.

Flash und ActionScript gewinnen aktuell, Dank RIAs (Rich Internet Applications) und Adobe Flex, immer mehr an Bedeutung. Hier können Sie Ihre Fragen zu Adobe Flash / ActionScript klären, angefangen von Problemen bei einfachen Animationen in Flash bis zu komplexen Problemen bei der Programmierung mit ActionScript.


herf
Beiträge: 113

PN schreiben
Profil ansehen
User ist offline

zeitsteruerung

Link zur Antwort auf "zeitsteruerung" von herf herf, am Freitag den 04.09.2009 um 22:16:29

nabend.

hab nen wahrscheinlich ziemlich simples problem mit as.

ich möchte einen clip machen bei dem alle x sekunden ein anderer hintergrund eingefadet wird. also nach 5 sekunden wird einen neues bild über das andere gelegt, nach weiteren 5 sekunden erneut etc.

die bilder sind alle in verschiedenen movieclips. also bräuchte ich eine funktion die alle x sekunden den aktuellen movie clip ausfadet und gleichzeitig einen neuen einfadet und das in endlosschleife.

schonmal jemand sowas gemacht?


herf
Beiträge: 113

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "zeitsteruerung" von herf herf, am Montag den 07.09.2009 um 13:35:48

habe bzgl der fade/slideshow ein schönes kleines script gefunden was auch so funktioniert:

 
ActionScript
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
/****************************/
/* Crossfading slide show   */
/* Author: Todd Dominey     */
/* http://whatdoiknow.org   */
/* http://domineydesign.com */
/****************************/

// set random # variables - each must be 0 for first 'while' loop below
var randomNum = 0;
var randomNumLast = 0;

// parent container
var container_mc = this.createEmptyMovieClip("container",0);
// movie clip containers
container_mc.createEmptyMovieClip("loader1_mc",2);
container_mc.createEmptyMovieClip("loader2_mc",1);

// preload watcher
this.createEmptyMovieClip("watcher_mc",100);

// load xml
images_xml = new XML();
images_xml.ignoreWhite=true;
images_xml.onLoad = parse;
images_xml.load("images.xml");

function parse(success) {
    if (success) {
        imageArray = new Array();
        var root = this.firstChild;
        _global.numPause = Number(this.firstChild.attributes.timer * 1000);
        _global.order = this.firstChild.attributes.order;
        _global.looping = this.firstChild.attributes.looping;
        _global.fadetime = Number(this.firstChild.attributes.fadetime);
        _global.xpos = Number(this.firstChild.attributes.xpos);
        _global.ypos = Number(this.firstChild.attributes.ypos);
        var imageNode = root.lastChild;
        var s=0;
        while (imageNode.nodeName != null) {
            imageData = new Object;
            imageData.path = imageNode.attributes.path;
            imageArray[s]=imageData;
            imageNode = imageNode.previousSibling;
            s++;
        }
        // place parent container
        container_mc._x = _global.xpos;
        container_mc._y = _global.ypos;
        // parse array
        imageArray.reverse();
        imageGen(imageArray);
    } else {
        trace('problem');
    }
}

// depth swapping
function swapPlace(clip,num) {
    eval(clip).swapDepths(eval("container_mc.loader"+num+"_mc"));
}

function loadImages(data,num) {
    if (i==undefined || i == 2) {
        i=2;
        createLoader(i,data,num);
        i=1;
    } else if (i==1) {
        createLoader(i,data,num);
        i=2;
    }
}
function createLoader(i,data,num) {
    thisLoader=eval("container_mc.loader"+i+"_mc");
    thisLoader._alpha=0;
    thisLoader.loadMovie(data[num].path);
    watcher_mc.onEnterFrame=function () {
        var picLoaded = thisLoader.getBytesLoaded();
        var picBytes = thisLoader.getBytesTotal();
        if (isNaN(picBytes) || picBytes < 4) {
            return;
        }
        if (picLoaded / picBytes >= 1) {
            swapPlace("container_mc.loader2_mc",1);
            alphaTween = new mx.transitions.Tween(thisLoader, "_alpha", mx.transitions.easing.Regular.easeOut,0,100,_global.fadetime,true);
            timerInterval = setInterval(imageGen,_global.numPause,data);
            delete this.onEnterFrame;
        }
    }
}
function imageGen(data) {
    // random, or sequential?
    if (_global.order=="random") {
        // choose random # between 0 and total number of images
        while (randomNum == randomNumLast) {
            randomNum = Math.floor(Math.random() * data.length);
            trace(randomNum);
        }
        loadImages(data,randomNum);
        randomNumLast = randomNum;
    } else if (_global.order=="sequential") {
        // start at 0, increment to total number of images, then drop back to zero when done
        if (p==undefined || p==data.length && _global.looping=="yes") { p=0; } else { break; }
        loadImages(data,p);
        p++;
    } else {
        trace ("order attribute in xml isn't correct - must specify either 'random' or 'sequential'");
    }
    clearInterval(timerInterval);
}
stop();

nun möcht ich noch ne navigation drauf bauen. das mach ich auch mit as, erstell mir meine movieclips und ne einfache rollover funktion und schreib das alles einfach vor das fadeshow script. das scheint auch erstmal zu funktionieren. aber bei jedem 2. fade funktioniert dann die navi animation nichtmehr. also sogar bei jedem 2 bild. angenommen die bilder bleiben 5 sekunden, dann funktioniert bei jeden 2. 5 sekunden die navi animation nicht....öh verständlich? ^^

problem groß

Link zur Antwort auf "zeitsteruerung" von Moritz Kern Moritz Kern, am Montag den 07.09.2009 um 15:15:42

glaube schon irgendwie verstanden, aber ob richtig? ;)

kannst du irgendwo die*.fla hochladen?


herf
Beiträge: 113

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "zeitsteruerung" von herf herf, am Montag den 07.09.2009 um 17:56:24

klar

http://www.slingfile.com/file/rF1D9au31v

Link zur Antwort auf "zeitsteruerung" von Moritz Kern Moritz Kern, am Montag den 07.09.2009 um 21:05:04

gut dass noch drinnen stand von wem das script ist, sonst hätt ich mir das xml zum testen selber schreiben können ;)

ich hab hier mal ein paar trace(i) rein:

 
ActionScript
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
for (var i:Number = 0; i<sections.length; i++) {
    trace(i); //0,1
    mcs[i] = _root.createEmptyMovieClip("news"+i, 201+layer);
        
    createQuadrat(mcs[i],10,265,120,25);
    mcsHover[i] = _root.createEmptyMovieClip("news"+i, 200+layer);
    createQuadrat(mcsHover[i],10,265,120,25);
    layer += 2;
    
    mcs[i].onRollOver = function() {
        trace(i);//1,2
        this.onEnterFrame = function() {
            if (mcsHover[i]._y>-hoverHeight) {
                mcsHover[i]._y -= hoverSpeed;
            }
        };
    };
    mcs[i].onRollOut = function() {
        trace(i);//1,2
        this.onEnterFrame = function() {
            if (mcsHover[i]._y<0) {
                mcsHover[i]._y += hoverSpeed;
            }
        };
    };
}

das erste trace(i); in der for schleife gibt 0 und 1 aus.

das trace in den Buttons 1 und 2.....

hab mir jetzt nicht alles so genau angeschaut, aber in der Funktion loadImages() kommt ein i=2; vor... variablen klar bezeichnen und definieren...

hoffe ich konnte wenigstens ein wenig helfen.


herf
Beiträge: 113

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "zeitsteruerung" von herf herf, am Dienstag den 08.09.2009 um 20:23:30

tatsache das wars...interessant dieses actionscript ;)