Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-07-2007, 14:39   #1 (permalink)
Film und Medien
 
Registriert seit: Aug 2005
Ort: Mainz
Beiträge: 200
Mehrfach-Auswahl:array oder wie am besten?

Nachdem ich mich jetzt ganz gut in Fuse eingearebitet habe (vielen Dank nochmal für den Tipp), hab ich nun ein Auswahl-Problem.

Auf meiner Seite sind mehrerer Movieclips die Ausgewhält werden können. Klickt der User auf ein skaliert dieser größer und wird schärfer. War nun zuvor schon ein Clip ausgewählt, soll sich dieser im gleiche zug wieder kleiner skalieren und etwas unscharf werden. Soweit würde das noch gehen, nur gibt es auch den Fall, dass mehrere Groß sind und auch mehrere gleichzeitig groß werden sollen und dementsprechend die anderen wieder kleiner und unscharf werden sollen. Wie kann ich das am effizentesten lösen? Denn jeden möglichen Fall einzenl zu programmieren wäre ja blöd. Es müsste doch gehen, dass ich ihm sage wie:

skaliere die Auswahl auf 100% und blur zu 0
skaliere alle die im moment 100 sind auf 40 und blur auf 10.

Nur wie setze ich das am ehsten in AS um? Klappt das mit einem Array oder sehe ich da was falsch?

Danke und schöne Grüße
Jürgen
__________________
Design ist Flash und Flash ist Programmierung. Programmierung ist Mathe und Mathe ist schwer.
Asta ist offline   Mit Zitat antworten
Alt 07-07-2007, 14:52   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Eigentlich klingt, dafür Arrays zu nutzen, schon mal ganz gut. Viel mehr kann man dazu aber, ohne den genauen Ablauf bzw. Aufbau zu kennen, nicht sagen.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 08-07-2007, 17:57   #3 (permalink)
Film und Medien
 
Registriert seit: Aug 2005
Ort: Mainz
Beiträge: 200
Ok, hier hab ich mal ein fla, das zeigt, was ich systematisch vorhabe.
Bei nur wenig Elementen könnte man das auch so machen, wie ich es gemacht habe. werden es aber 25oder mehr, wir das Actionscript echt unübersichtlich.

Was ich auch noch ändern möchte, ist das verhalten des swapdepths, so dass es besser aussieht.

Danke für jegliche Hilfe und schöne Grüße
Jürgen
Angehängte Dateien
Dateityp: rar beispiel.rar (6,0 KB, 4x aufgerufen)
__________________
Design ist Flash und Flash ist Programmierung. Programmierung ist Mathe und Mathe ist schwer.
Asta ist offline   Mit Zitat antworten
Alt 09-07-2007, 10:28   #4 (permalink)
Film und Medien
 
Registriert seit: Aug 2005
Ort: Mainz
Beiträge: 200
Ok, ich hab mir selbst jetzt mal was gebaut.
Leider habe ich es nicht geschaft das ganze unter Fuse zu machen, aber ok, mit tween gings soweit auch erstmal.

Hier erstmal der code:
PHP-Code:
import mx.transitions.Tween;
import mx.transitions.easing.*;
var 
activclip="none";
stop();

var 
my_btn_array:Array=new Array(btn1,
                                 
btn2,
                                 
btn3,
                                 
btn4
                                    
);

var 
my_clips_array:Array=new Array(rect1,
                                  
rect2,
                                  
rect3,
                                  
rect4
                                
);

var 
my_xpos_array:Array=new Array(87,
                                  
206,
                                  
334,
                                  
454
                                
);



for(
i=0;i<my_btn_array.length;i++)
{
my_btn_array[i].counter=i;
my_btn_array[i].onRelease=function()
    {
        var 
myHandler:Object=new Tween(activclip"_xscale"Strong.easeInOut1002525false);
        var 
myHandler:Object=new Tween(activclip"_yscale"Strong.easeInOut1002525false);
        var 
myHandler:Object=new Tween(activclip"_x"Strong.easeInOutactivclip._xactivx25false);
        
myHandler.counter=this.counter;
        
myHandler.onMotionFinished=function(){
        var 
myHandler:Object=new Tween(my_clips_array[this.counter], "_xscale"Strong.easeInOut2510025false);
        var 
myHandler:Object=new Tween(my_clips_array[this.counter], "_yscale"Strong.easeInOut2510025false);
        var 
myHandler:Object=new Tween(my_clips_array[this.counter], "_x"Strong.easeInOutmy_clips_array[this.counter]._x27525false);
        
my_clips_array[this.counter].swapDepths(0);
        
activclip my_clips_array[this.counter];
        
activx my_xpos_array[this.counter];
        
    }
}

Es funktioniert ja soweit erstmal. Aber es gibt noch ein paar schönheitsfehler.
1. Es gibt am Anfang, beim erstmaligen Ausführen, eine Verzögerung von einer Sekunde (25 Bildern). Der Grund ist ja, dass er zuvor einen Tween durchläuft, der nicht sichtbar ist. Quasie ein leeres kleiner skalieren. Wie kann ich das umgehen? Ich habe es mit einer IF-Scheife probiert, aber das funktioniert ja nicht, da aufgrund der for-schleife, diese nur einmal wirklich ausgeführt wird.
2. Ich würde das Größerskalieren gerne starten, wenn das kleinerskalieren zu Häfte rum ist. Hab aber noch nicht ganz verstanden, wie ich das machen kann.
3. Wie könnte ich es machen, dass wenn man auf den Button des momentan Aktiven (großskalierten) clips, dieser nur kleiner, aber nicht wieder Größer wird? Auch hier versuchte ich mich mit If, aber es klappte nicht.

Danke und schöne Grüße
Jürgen

P.S.: Hier auch der Anhang. So wie es jetzt funktioniert.
Angehängte Dateien
Dateityp: rar beispiel_6.rar (6,0 KB, 6x aufgerufen)
__________________
Design ist Flash und Flash ist Programmierung. Programmierung ist Mathe und Mathe ist schwer.

Geändert von Asta (09-07-2007 um 10:58 Uhr) Grund: Anhang hochgeladen
Asta ist offline   Mit Zitat antworten
Alt 26-07-2007, 13:42   #5 (permalink)
Film und Medien
 
Registriert seit: Aug 2005
Ort: Mainz
Beiträge: 200
Hallo nochmal-
In dem Beispiel oben habe ich die Mehrfachauswahl ja umgangen. Leider bin ich jetzt an einem Punkt, an dem das nicht mehr klappt.

Ich bin dabei ein Menü zu erstellen, dass "sich auflöst" nachdem eine Auswahl getroffen wurde. Das heißt, der Ausgewählte Button bleibt stehen, der Rest blendet über den Alpha aus.
Asu Ausblenden und so ist nicht das Problem, nur die Auswahl. Wie kann ich es machen, das mit der Auswahl aus einem Array das eine geschieht, und mit dem rest, das andere?

Danke und schöne Grüße
Jürgen
__________________
Design ist Flash und Flash ist Programmierung. Programmierung ist Mathe und Mathe ist schwer.
Asta 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 22:53 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele