Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-01-2007, 19:49   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 211
Dynamisches Menü (Flashstar)

Hallo,
bitte mal wieder um Hilfe.
Nach längerer Abstinenz von AS wurde ich auf http://www.flashstar.de/tutlist/index.php3?id=963 nahezu fündig.
Im Endeffekt passiert was ich möchte - nur soll bei meinem Fall das Menü auch ein zweites Mal erscheinen und in diesem (zweiten) Fall stehen bleiben. Beispielweise am unteren Rand.
Egal was ich versuche, ich schaffe es nicht bestehendes AS und meine neuen Buttons oder MovieClips zu verknüpfen.
Vielen Dank im Voraus
thomas_as ist offline   Mit Zitat antworten
Alt 05-01-2007, 12:49   #2 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 211
Hauptscript
PHP-Code:
function dynmenu(neudimB,neudimH,neuposX,neuposY,faktor) {
    
dyn_mc.onEnterFrame = function() {
        
/*
        // Dimension
        skalX = this._xscale;
        skalY = this._yscale;
        difB = skalX-neudimB;
        difH = skalY-neudimH;
        this._xscale = skalX-(difB/faktor);
        this._yscale = skalY-(difH/faktor);
        */
        // Position
        //posX = this._parent._x;
        
posY this._parent._y;
        
//difposX = posX-neuposX;
        
difposY posY-neuposY;
        
//this._parent._x = posX-(difposX/faktor);
        
this._parent._y posY-(difposY/faktor);
        
// Löschen
        
if (neuposX == Math.round(posX) && neuposY == Math.round(posY)) delete this.onEnterFrame;
    };
}

dynmenu(100,100,200,0,4); 
auf dem Button liegt:
PHP-Code:
on(release) {
    
dynmenu(100,100,0,330,4);

Warum reagiert der Button nicht?
thomas_as ist offline   Mit Zitat antworten
Alt 05-01-2007, 12:54   #3 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
huhu!
PHP-Code:
on(release) { 
    
_root.dynmenu(100,100,0,330,4); 

wo liegt die function, die du geschrieben hast?

...reagieren...der mauszeiger wird schon zur hand?
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary

Geändert von andretti (05-01-2007 um 12:55 Uhr)
andretti ist offline   Mit Zitat antworten
Alt 05-01-2007, 14:55   #4 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 211
Erstmals vielen Dank für deine Hilfe!

Zitat:
Zitat von andretti Beitrag anzeigen
huhu!
PHP-Code:
on(release) { 
    
_root.dynmenu(100,100,0,330,4); 

wo liegt die function, die du geschrieben hast?

...reagieren...der mauszeiger wird schon zur hand?
Mauszeiger wird zur Hand.
Bekomme folgende Output-Meldung:

Zitat:
**Error** Scene=Szene 1, layer=TEST BUTTON, frame=1:Line 10: Mouse events are permitted only for button instances
on(release) {

Total ActionScript Errors: 1 Reported Errors: 1
Layerstruktur:
Layer 1: as (siehe oben; hier liegt die Funktion)
Layer 2: TEST BUTTON "btnTest" (mit as siehe oben; geht auch mit "_root"-zusatz nicht.
Layer 3: Maske (Farbfläche) für Layer 4
Layer 4: MovieClip "dyn_mc" (wird von Layer 3 maskiert)

Wenn ich die Funktion in den Button lege funktioniert es leider ebenso wenig.
thomas_as ist offline   Mit Zitat antworten
Alt 05-01-2007, 15:04   #5 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 211
(Fast)Lösung:
alles in "as-Layer" packen:
PHP-Code:
// Breite, Höhe, PositionX/Y
function dynmenu(neudimB,neudimH,neuposX,neuposY,faktor) {
    
dyn_mc.onEnterFrame = function() {
        
/*
        // Dimension
        skalX = this._xscale;
        skalY = this._yscale;
        difB = skalX-neudimB;
        difH = skalY-neudimH;
        this._xscale = skalX-(difB/faktor);
        this._yscale = skalY-(difH/faktor);
        */
        // Position
        //posX = this._parent._x;
        
posY this._parent._y;
        
//difposX = posX-neuposX;
        
difposY posY-neuposY;
        
//this._parent._x = posX-(difposX/faktor);
        
this._parent._y posY-(difposY/faktor);
        
// Löschen
        //if (neuposX == Math.round(posX) && neuposY == Math.round(posY)) delete this.onEnterFrame;
        
if (neuposY == Math.round(posY)) delete this.onEnterFrame;
    };
}

dynmenu(100,100,200,0,4);

btnTest.onRelease = function (){
trace ("Test Button geht");
    
dynmenu(200,100,250,100,4);

Problem:
Nun verschiebt sich nicht nur der gewünschte MovieClip sondern alles.
thomas_as ist offline   Mit Zitat antworten
Alt 05-01-2007, 15:22   #6 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
...dann nimm mal die "_parent" aus dem Script raus.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 05-01-2007, 15:46   #7 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 211
Zitat:
Zitat von Der Frager Beitrag anzeigen
...dann nimm mal die "_parent" aus dem Script raus.
Dann läuft die Animation nicht mehr smooth.

Hab aber gerade die Lösung gefunden:

PHP-Code:
_root.strip_mc.dyn_mc.onEnterFrame = function() { 
einfach meinen durchzulaufenden MovieClip in einen neuen MovieClip setzen.
thomas_as 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 05:52 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele