Zurück   Flashforum > Flash > Stuff

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-03-2009, 18:15   #166 (permalink)
Neuer User
 
Registriert seit: Jun 2008
Beiträge: 19
Jau super danke!
GustavKraut ist offline   Mit Zitat antworten
Alt 06-03-2009, 18:19   #167 (permalink)
Flashworker
 
Registriert seit: Oct 2006
Beiträge: 208
Gern geschehen

Aber ich leg dir wirklich nochmal die Array-Geschichte ans Herz. Wenn du das mal verinnerlicht hast, biste einen grossen Schritt weiter.
In meinem Fall hab ich an einer fremden API Schnittstelle gearbeitet und hatte da Probleme.

Bis zum nächsten Mal
Cyprus
__________________
http://360unltd.de Homepage und CMS in 2 Minuten.

Flash ist eine sehr unterhaltsamme Art sich die Zeit zu vertreiben!
Cyprus ist offline   Mit Zitat antworten
Alt 03-07-2009, 14:57   #168 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Ahh. Hab ich da was mit Array's gelesen
Hab mir gedacht ich mach sowas mal mit einer Klasse, also die Button-Status Geschichte.
Des Ding erkennt ob des ein Zwei-Frame oder Drei-Frame-Button ist!
Legt Container an, wenn es welche braucht und kann auch Html-Links.
Zusätzlich hab ich noch die Tweener-Klasse von caurina reingepoppelt!

Klasse für Buttons:
PHP-Code:
import com.kenshodev.loaders.EasyLoadDynamicStaticV2;
class 
com.kenshodev.btnmodes.EasyButtonDynamicStaticV2 {
    private static var 
_innerBtnArray:Array =[];
    private static var 
_innerMasterArray:Array = [];
    private static var 
_innerArrayStartNummer:Number null;
    private static var 
_innerTimeLine:MovieClip null;
    private static var 
_innerContainer:Array = [];
    private static var 
_oldMemMovie:MovieClip null;
    public function 
EasyButtonDynamicStaticV2() {
        
//EasyButtonDynamicStaticV2 ist eine statische Klasse, diese muß nicht instanziert werden.
    
}
    public static function 
addBtn(masterArray:Array, arrayStartNummer:NumbertimeLine:MovieClip):Void {
        
_innerMasterArray masterArray;
        
_innerArrayStartNummer arrayStartNummer;
        
_innerTimeLine timeLine;
        
_oldMemMovie _innerMasterArray[_innerArrayStartNummer][2];
        function 
startAdding(){
          for( var 
i:Number =0i<_innerMasterArray.lengthi++){
            
_innerBtnArray.push(_innerMasterArray[i][0]);
            if(
_innerMasterArray[i][1] == "dynamic"){
             
_innerTimeLine.createEmptyMovieClip("containerMc"+i_innerTimeLine.getNextHighestDepth());
             
_innerTimeLine["containerMc"+i]._x=_innerMasterArray[i][3][0];
             
_innerTimeLine["containerMc"+i]._y=_innerMasterArray[i][3][1];
             
_innerTimeLine["containerMc"+i]._alpha=0;
             
_innerContainer[i] =_innerTimeLine["containerMc"+i];
            }
            if(
_innerMasterArray[i][1] == "static"){
             
_innerMasterArray[i][2]._alpha 0;
            }
        }
         
makeButton();
    }
        function 
makeButton(){
          for (var 
j:Number 0j<_innerMasterArray.lengthj++) {
            
_innerMasterArray[j][0].ID j;
            
_innerMasterArray[j][0].dynamic_static_html _innerMasterArray[j][1];
            if(
_innerMasterArray[j][0]._totalframes >2){
            
_innerMasterArray[j][0].clickStatus false;
            }
            
_innerMasterArray[j][0].onPress = function() {
                if (
this.clickStatus == false) {
                    
this.clickStatus true;
                    
this.gotoAndStop(3);
                }
                
            };
            
_innerMasterArray[j][0].onRelease _innerMasterArray[j][0].onReleaseOutside = function() {
                if (
this.dynamic_static_html == "static") {
                    
EasyLoadDynamicStaticV2.addTween(_innerMasterArray[this.ID][2],_innerMasterArray[this.ID][0],_innerBtnArray);
                }
                if (
this.dynamic_static_html == "dynamic") {
                    
EasyLoadDynamicStaticV2.addLoaderTween(_innerContainer[this.ID],_innerMasterArray[this.ID][2],_innerMasterArray[this.ID][0],_innerBtnArray);
                }
                if (
this.dynamic_static_html == "html") {
                    
getURL(_innerMasterArray[this.ID][2], "_blank");
                }
            }
            
_innerMasterArray[j][0].onRollOver = function() {
                
this.gotoAndStop(2);
            };
            
_innerMasterArray[j][0].onRollOut = function() {
                if (
this.clickStatus == true) {
                    
this.gotoAndStop(3);
                } else {
                    
this.gotoAndStop(1);
                }
            };
        }
            if (
_innerMasterArray[_innerArrayStartNummer][0].clickStatus ==false) {
              
_innerMasterArray[_innerArrayStartNummer][0].clickStatus true;
              
_innerMasterArray[_innerArrayStartNummer][0].gotoAndStop(3);
            }
            if (
_innerMasterArray[_innerArrayStartNummer][1]== "static") {
                    
EasyLoadDynamicStaticV2.addTween(_innerMasterArray[_innerArrayStartNummer][2],_innerMasterArray[this.ID][0],_innerBtnArray);
            }
            if (
_innerMasterArray[_innerArrayStartNummer][1]== "dynamic") {
            
trace(_innerMasterArray[_innerArrayStartNummer][0])
                    
EasyLoadDynamicStaticV2.addLoaderTween(_innerContainer[_innerArrayStartNummer],_innerMasterArray[_innerArrayStartNummer][2],_innerMasterArray[_innerArrayStartNummer][0],_innerBtnArray);
            }
            if (
_innerMasterArray[_innerArrayStartNummer][1] == "html") {
                    
getURL(_innerMasterArray[this.ID][2], "_blank");
            }        
        }
        
startAdding();
        }

Klasse zum Tweenen und Buttons an-aus schalten:
PHP-Code:
import com.caurina.transitions.*;//Download_Link  http://code.google.com/p/tweener/
class com.kenshodev.loaders.EasyLoadDynamicStaticV2 {
private static var 
_innerLadeZiel:MovieClip null;
private static var 
_innerLadeContent:String "";
private static var 
_innerclicktBtn:MovieClip;
private static var 
_innerBtn:Array = [];
private static var 
_innerOldMc:MovieClip null;
public function 
EasyLoadDynamicStaticV2(){
     
//EasyLoadDynamicStaticV2 ist eine statische Klasse, diese muß nicht instanziert werden.
     
}
public static function 
addLoaderTween (ladeZiel:MovieClipladeContent:StringclicktBtn:MovieClip,btnA:Array):Void {
    
_innerLadeZiel ladeZiel;
    
_innerLadeContent ladeContent;
    
_innerclicktBtn=clicktBtn;
    
_innerBtn btnA;
    
clearInterval(interval.id);
    var 
bild_mcl = new MovieClipLoader();
    var 
ObjListener:Object = new Object();
    
bild_mcl.addListener(ObjListener);
    
bild_mcl.loadClip(_innerLadeContent,_innerLadeZiel);
    var 
interval:Object = new Object();
    
interval.id setInterval(checkProgress30bild_mcl_innerLadeZielinterval);
    function 
checkProgress(mcLoader:MovieClipLoaderimage:MovieClipinterval:Object):Void {
        var 
progress:Object mcLoader.getProgress(image);
        if (
progress.bytesLoaded == progress.bytesTotal) {
            
clearInterval(interval.id);
            
Tweener.addTween(_innerLadeZiel, {_alpha:100,time:1.5,transition:"easeInOutQuart"onComplete:function () {_innerOldMc _innerLadeZielmouseALT(true);}});
            
Tweener.addTween(_innerOldMc, {_alpha:0,time:1.5,transition:"easeInOutQuart"})
        }
    }
    function 
mouseALT(bol:Boolean):Void{
    for(var 
i:Number 0i<_innerBtn.lengthi++){
    
_innerBtn[i].enabled bol;
    }
    
_innerclicktBtn.enabled false;
    }
    
mouseALT(false);
}
public static function 
addTween (Ziel:MovieClipclicktBtn:MovieClip,btnA:Array):Void {
    
_innerLadeZiel Ziel;
        
_innerclicktBtn=clicktBtn;
    
_innerBtn btnA;
            
Tweener.addTween(_innerLadeZiel, {_alpha:100,time:1.5,transition:"easeInOutQuart"onComplete:function () {_innerOldMc _innerLadeZiel;mouseT(true);}});
            
Tweener.addTween(_innerOldMc, {_alpha:0,time:1.5,transition:"easeInOutQuart"})
    function 
mouseT(bol:Boolean):Void{
    for(var 
i:Number 0i<_innerBtn.lengthi++){
    
_innerBtn[i].enabled bol;
    }
    
_innerclicktBtn.enabled false;
    }
    
mouseT(false);
        }
    

Die Flash-Datei noch, die ist so angelagt das man auch attach und duplicate anwenden kann:
PHP-Code:
import com.kenshodev.btnmodes.EasyButtonDynamicStaticV2;
var 
timeline:MovieClip this;
var 
btnNameArray:Array = ["static_1""dynamic_1""static_2""html_1"];
var 
masterArray:Array = [[null"static"timeline.mc1], [null"dynamic""movieclips/mc2.swf", [7525]], [null"static"timeline.mc3], [null"html""http://www.google.de"]];
function 
initBtn (bNA:Array, mA:Array)
{
    for (var 
i:Number 0bNA.lengthi++)
    {
        
mA[i][0] = timeline[bNA[i]];
    }
    
EasyButtonDynamicStaticV2.addBtn (masterArray,1timeline);
}
initBtn (btnNameArray,masterArray);
//EasyButtonDynamicStaticV2.addBtn (masterArray,1 == das startArray'[null, "dynamic", "movieclips/mc2.swf", [75, 25]]', timeline); 
Vui Spaß!
Ach ja das des AS2 ist muß ich ja eigentlich nicht sagen.
Wenn jemand verbesserungen hat, immer gerne!
Angehängte Dateien
Dateityp: zip dyn_load_class_v2.zip (68,5 KB, 38x aufgerufen)
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"

Geändert von RustyCake (03-07-2009 um 16:08 Uhr)
RustyCake ist offline   Mit Zitat antworten
Alt 03-07-2009, 15:12   #169 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Alter Schwede, was machstn du da...
Hab's noch nicht ausprobiert, is aber bestimmt cool!
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 03-07-2009, 18:35   #170 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Hehe. Mir war langweilig

Wenn jemand die einfache Geschichte braucht, also nur die rollOver, RollOut und Release-Dinger, ohne den anderen Schnick-Schnack, einfach bescheid sagen
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 05-01-2010, 14:32   #171 (permalink)
jwh
Neuer User
 
Registriert seit: Aug 2009
Beiträge: 103
hi rustyCake,

schade das du dein hammermenü nicht auf as3 geschrieben hast...

...einfach wow
jwh ist offline   Mit Zitat antworten
Alt 29-03-2010, 09:45   #172 (permalink)
PBu
Neuer User
 
Registriert seit: Apr 2003
Ort: Bielefeld
Beiträge: 61
einfachere Version?

Hallo Rusty,

also ich wäre interessiert an der einfacheren Version rollOver, rollOut etc.

Gruß
p
PBu 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


LinkBacks (?)
LinkBack zu diesem Thema: http://www.flashforum.de/forum/stuff/stuff-release-status-fuer-buttons-102011.html
Erstellt von Für Art Datum Hits
Videotutorial: Flash Button mit Actionscript 2.0 erstellen | Free Adobe Creative Suite Video Tutorials :: Flash & Actionscript :: Photoshop & Dreamweaver :: CMS Wordpress Joomla Tutorials Dieses Thema Refback 08-06-2011 13:11 16


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:37 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele