Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 4 und Flash 5

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-01-2006, 07:02   #1 (permalink)
ewigSuchender
 
Benutzerbild von Goldmund
 
Registriert seit: Jan 2006
Ort: austria
Beiträge: 27
Question zwei probleme bei action-script und slideshow

hallo zusammen,

ich bin momentan an einem kleineren Projekt dran und ziemlicher Anfänger im action-script-Programmieren. Deshalb habe ich folgende Problemchen:

erstes Problem

PHP-Code:
on (press) {
    
//setzt Farbe des Buttons bei Press auf rot
    
var neueFarbe="0xff0000";
    
mycol = new Color(_root.foto_btn);
    
mycol.setRGB(neueFarbe);
    
    
createEmptyMovieClip("container1"1);
    
container1.moveTo(100,100);
    
//Photoscroller -> eigene schon funktionierende Datei
    
container1.loadMovie("Photoscroller.swf");
    
container1._x=75;
    
container1._y=90;
    
    
//  hier jetzt das Problem: ich hätte gerne, dass ich
//  dieses folgende "Ding" jederzeit stoppen kann
//  und sich dann das letzte Movie entlädt, sprich vom
//  Bildschirm verschwindet
//  bis jetzt fadet es die bilderanzahl durch und stoppt
//  beim letzten Bild, dieses bleibt stehen!!!
//  ich habe den code aus dem net, weil ich selber noch nicht
//  gut genug bin, sowas zu programmieren

var fadespeed 5;
var 
bildanzahl 17;
_global.old_conti;
_global.ct 1;
function 
reload_x() {
    
clearInterval(SID);
    
tl.createEmptyMovieClip("container"+ctct+10);
    
    
    
    
tl["container"+ct].loadMovie("fotos/foto"+ct+".gif");
    
tl["container"+ct]._alpha 0;
    
tl["container"+ct]._x=380;
    
tl["container"+ct]._y=100;

    
    
this.loader_funk = function() {
        
        if (
tl["container"+ct].getBytesLoaded()>=4) {
            
gesamt tl["container"+ct].getBytesTotal();
            
bereits tl["container"+ct].getBytesLoaded();
            
prozent Math.ceil((bereits/gesamt)*100);
            if (
prozent>=100) {
                
tl["container"+ct]._alpha += fadespeed;
                
old_conti._alpha -= fadespeed;
                if (
tl["container"+ct]._alpha>=100 && old_conti._alpha<=0) {
                    
old_conti.unloadMovie();
                    
_global.old_conti tl["container"+ct];
                    
clearInterval(loadID);
                    
_global.ct++;
                    
SID setInterval(reload_x3000);
                }
                if (
ct == (bildanzahl+1)) {
                    
                    
stop();
                    
                }
            }
        }
    };
    
loadID setInterval(loader_funk40);
}
reload_x();

    
}

on (release) {
    
neueFarbe="0xffffff";
    
mycol = new Color(_root.foto_btn);
    
mycol.setRGB(neueFarbe);

dieses obere script wird von einem button mit namen foto_btn aufgerufen
(bei on (press)) und soll folgendes bewirken:
18 fotos (=bilderanzahl) faden ein und aus.
bis jetzt: sie faden ein und aus und bei 18 stoppt flash die slideshow, aber:
das letzte foto bleibt am bildschirm stehen! (soll es aber nicht: mit unload habe ich es probiert, habs nicht geschafft (denkfehler meinerseits?)
ausserdem hätte ich gerne einen stopp-button, der das ganze zu jederzeit
stoppt: wie würde dieses script ausschauen?


zweites Problem

PHP-Code:
on (press) {
    
i=i+1;
    
trace (i);
    if (
i<2) {
        
stop();
    }
    
    while (
i>&& i<19){
    
i--;
    
this.createEmptyMovieClip("container"+i,i);
    var 
aktFilm "container"+i;
    
this["container"+i].loadMovie ("fotos/foto"+i+".jpg",i);
    
this["container"+i]._x=-50;
    
this["container"+i]._y=-420;
    
    }

    } 
dieses vorherige Script habe ich auf einen Button (rückwärts) programmiert,
es gibt ein Ähnliches für "vorwärts". Frage: wo kann ich die Variable i definieren?
im script selber gehts nicht, weil ich so bei jedem "press" i wieder auf eine bestimmte Zahl rücksetzen würde... Es soll aber diese kleine Fotoauswahl mit vorwärts- und rückwärts-Button als eigenes swf funktionieren, weil ich das ganze von der navigation aus aufrufe...


danke im voraus, so long stay in tune and let love rule
Goldmund ist offline   Mit Zitat antworten
Alt 07-01-2006, 08:10   #2 (permalink)
ewigSuchender
 
Benutzerbild von Goldmund
 
Registriert seit: Jan 2006
Ort: austria
Beiträge: 27
Question drittes problem

noch eine dritte frage:

kann ich aus einem swf, das ich in einem actionscript geladen habe und läuft, das darüberliegende ansprechen?
bsp.: ich habe den Photoscroller laufen und möchte im darüberliegenden (navigation mit hintergrund) ein bild darstellen. geht das?

so, genügend fragen...
antworten würden mir helfen, dann könnte ich mein portfolio bald amal beenden und wochenende machen...

Zitat:
Fragensteller sind Weichensteller.
Goldmund ist offline   Mit Zitat antworten
Alt 07-01-2006, 08:11   #3 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
PHP-Code:
on (press) { 
    
//setzt Farbe des Buttons bei Press auf rot 
    
var neueFarbe="0xff0000"
    
mycol = new Color(_root.foto_btn); 
    
mycol.setRGB(neueFarbe); 
     
    
createEmptyMovieClip("container1"1); 
    
container1.moveTo(100,100); 
    
//Photoscroller -> eigene schon funktionierende Datei 
    
container1.loadMovie("Photoscroller.swf"); 
    
container1._x=75
    
container1._y=90
     
     
//  hier jetzt das Problem: ich hätte gerne, dass ich 
//  dieses folgende "Ding" jederzeit stoppen kann 
//  und sich dann das letzte Movie entlädt, sprich vom 
//  Bildschirm verschwindet 
//  bis jetzt fadet es die bilderanzahl durch und stoppt 
//  beim letzten Bild, dieses bleibt stehen!!! 
//  ich habe den code aus dem net, weil ich selber noch nicht 
//  gut genug bin, sowas zu programmieren 

var fadespeed 5
var 
bildanzahl 17
_global.old_conti
_global.ct 1
function 
reload_x() { 
    
clearInterval(_global.SID); 
    
tl.createEmptyMovieClip("container"+ctct+10); 
     
     
     
    
tl["container"+ct].loadMovie("fotos/foto"+ct+".gif"); 
    
tl["container"+ct]._alpha 0
    
tl["container"+ct]._x=380
    
tl["container"+ct]._y=100

     
    
this.loader_funk = function() { 
         
        if (
tl["container"+ct].getBytesLoaded()>=4) { 
            
gesamt tl["container"+ct].getBytesTotal(); 
            
bereits tl["container"+ct].getBytesLoaded(); 
            
prozent Math.ceil((bereits/gesamt)*100); 
            if (
prozent>=100) { 
                
tl["container"+ct]._alpha += fadespeed
                
old_conti._alpha -= fadespeed
                if (
tl["container"+ct]._alpha>=100 && old_conti._alpha<=0) { 
                    
old_conti.unloadMovie(); 
                    
_global.old_conti tl["container"+ct]; 
                    
clearInterval(_global.loadID); 
                    
_global.ct++; 
                    
_global.SID setInterval(reload_x3000); 
                } 
                if (
ct == (bildanzahl+1)) { 
                     
_global.old_conti.removeMovieClip();//das da mal probieren; 
                    
stop(); 
                     
                } 
            } 
        } 
    }; 
    
_global.loadID setInterval(loader_funk40); 

reload_x(); 

     


on (release) { 
    
neueFarbe="0xffffff"
    
mycol = new Color(_root.foto_btn); 
    
mycol.setRGB(neueFarbe); 
}
//stopButton:
on(press){
clearInterval(_global.SID); 
clearInterval(_global.loadID );
 
_global.old_conti.removeMovieClip();

PHP-Code:
zahl 0;
_root.createEmptyMovieClip("container_mc"50);
_root.container_mc._x = -50;
_root.container_mc._x = -420;
vorBut.onPress = function() {
    if (
zahl<20) {
        
zahl++;
        
trace(zahl);
        var 
aktFilm "container"+zahl;
        
_root.container_mc.loadMovie("fotos/foto"+zahl+".jpg");
        
trace("fotos/foto"+zahl+".jpg");
    }
};
retourBut.onPress = function() {
    if (
zahl>1) {
        
zahl--;
        
trace(zahl);
        var 
aktFilm "container"+zahl;
        
_root.container_mc.loadMovie("fotos/foto"+zahl+".jpg");
        
trace("fotos/foto"+zahl+".jpg");
    }
}; 
ich würde dir empfehlen, actionscriptcode IMMER auf die hauptzeitleiste in eine extra ebene zu schreiben, so wie bei meinem zweiten codeschnipsel;
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 07-01-2006, 08:22   #4 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
Zitat:
Zitat von Goldmund
noch eine dritte frage:

kann ich aus einem swf, das ich in einem actionscript geladen habe und läuft, das darüberliegende ansprechen?
bsp.: ich habe den Photoscroller laufen und möchte im darüberliegenden (navigation mit hintergrund) ein bild darstellen. geht das?

so, genügend fragen...
antworten würden mir helfen, dann könnte ich mein portfolio bald amal beenden und wochenende machen...
testfilm erstellen;
code auf der hauptzeitleiste im testfilm:
PHP-Code:
butPlus.onPress = function(){
this._parent._parent.kreis._x += 50;

}
butMinus.onPress = function(){
_level0.kreis._x -=50;


im hauptfilm einen movieclip erstellen, diesen "kreis" benennen;
code im hauptfilm:
PHP-Code:
_root.createEmptyMovieClip("loader_mc",50);
loadMovie("test.swf",loader_mc);
loader_mc._x 50;
loader_mc._y 50
Angehängte Dateien
Dateityp: rar _parent.rar (10,1 KB, 16x aufgerufen)
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 07-01-2006, 08:31   #5 (permalink)
ewigSuchender
 
Benutzerbild von Goldmund
 
Registriert seit: Jan 2006
Ort: austria
Beiträge: 27
Danke

vielen dank für deine prompte hilfe... ich schau mir das ganze jetzt mal in ruhe an
Goldmund ist offline   Mit Zitat antworten
Alt 07-01-2006, 08:50   #6 (permalink)
ewigSuchender
 
Benutzerbild von Goldmund
 
Registriert seit: Jan 2006
Ort: austria
Beiträge: 27
bei der stopp-Funktion, stoppt es mir jetzt zwar die Slide-Show, leert auch den container (auch im script funktionierts!), aber dann springts zum nächsten Bild,
der button und/oder auch der Zusatz im script bewirkt ein forward... ist ganz gut,
habe ich trotzdem ins script aufgenommen...


thx
Goldmund ist offline   Mit Zitat antworten
Alt 07-01-2006, 09:47   #7 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
PHP-Code:
//stopButton: 
on(press){ 
clearInterval(_global.SID);  
clearInterval(_global.loadID ); 
tl["container"+_global.ct].removeMovieClip(); 
 
_global.old_conti.removeMovieClip(); 

das prob bei diesem button ist, dass zwar _global.olc_conti removed wird,
weil des jo schon eine zahl hat;
versuchs mal mit obigem script, mal schaun, ob ma so des "ct" erwischen kann;
wenn nicht, dann könntest du den stopButton in der function "reload_x" einbauen,
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary

Geändert von andretti (07-01-2006 um 09:48 Uhr)
andretti ist offline   Mit Zitat antworten
Alt 07-01-2006, 10:18   #8 (permalink)
ewigSuchender
 
Benutzerbild von Goldmund
 
Registriert seit: Jan 2006
Ort: austria
Beiträge: 27
thx. i will try it...

...

nein. geht nicht:
ich habe jetzt noch

ct=bildanzahl;
stop();

eingefügt, aber das ganze scheint die schleife einfach nicht zu stoppen,
bild wird aus dem container gelöscht, schleife geht zum nächsten... ich glaube,
ich muss grundsätzlich von neuem beginnen

Geändert von Goldmund (07-01-2006 um 10:25 Uhr)
Goldmund ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 20:19 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele