Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-04-2005, 11:09   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 26
Prototyp mit Fehlern

Hallo,

ich habe schon ein bisschen im Forum gestöbert, konnte den Fehler in meinem Script aber nicht finden.
Sinn der Sache soll sein, dass ich einen beliebigen mc durch Überfahren mit der Maus sichtbar und unsichtbar schalten kann und dass das nicht unbedingt der überfahrene mc sein muss, sondern ein vorher festgelegter.

ActionScript:
  1. stuetzeganz.ausblenden(stuetzeganz._name);
  2. teilstuetze.einblenden(stuetzeganz._name);
  3.  
  4. MovieClip.prototype.ausblenden = function(objektname) {
  5.         this.onRollOver = function() {
  6.                 objektname._visible = false;
  7.         };
  8. };
  9.  
  10. MovieClip.prototype.einblenden = function(objektname) {
  11.         this.onRollOut = function() {
  12.                 objektname._visible = true;
  13.         };
  14. };

Wo liegt mein Denkfehler?

Astrid
auwei ist offline   Mit Zitat antworten
Alt 08-04-2005, 11:24   #2 (permalink)
Alter User
 
Benutzerbild von norg
 
Registriert seit: Sep 2002
Ort: Colonia
Beiträge: 447
PHP-Code:
stuetzeganz.ausblenden();
teilstuetze.einblenden();

MovieClip.prototype.ausblenden = function() {
        
this.onRollOver = function() {
                
this._visible false;
        };
};

MovieClip.prototype.einblenden = function() {
        
this.onRollOut = function() {
                
this._visible true;
        };
}; 
so vielleicht?

*norg
norg ist offline   Mit Zitat antworten
Alt 08-04-2005, 11:31   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 68
Also bei mir funktioniert das Script.

Füge unten drunter mal

_root.test_mc.ausblenden(_root.test_mc);
_root.test_mc.einblenden(_root.test_mc);

mit einem beliebigen MC ein. Müsste eigentlich funktionieren...

Musst nur aufpassen und die Instanznamen richtig angeben...
MW-Freiburg ist offline   Mit Zitat antworten
Alt 08-04-2005, 12:16   #4 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 26
Funzt nicht

Hallo,

danke norg, aber wie du oben sehen kannst, ist es wichtig, den Namen des Objektes mit zu übergeben, da nicht das gleiche Objekt eingeblendet wird, wie das, das mit der Maus überfahren wird.

Danke mw-freiburg. Funktioniert leider auch nicht. Ich habe das mc mal abc genannt, aber da rührt sich nix. Ich finde es vor allem merkwürdig, dass der Mauszeiger sich gar nicht verändert, wenn ich darüber fahre.

Ich habe den Film schon minimiert, um den Fehler zu finden. Der Code steht im Hauptfilm auf der ersten Ebene. Es gibt nur einen Frame.

Du sagst, dass es bei dir funktioniert mw-freiburg, wieso dann bei mir nicht? Ich beiß noch in die Tischkante.

Astrid
auwei ist offline   Mit Zitat antworten
Alt 08-04-2005, 13:47   #5 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Hier...
PHP-Code:
MovieClip.prototype.ausblenden = function( objekt ) {    
    
this.onRollOver = function(){
     eval( 
objekt )._visible false;
    }
}; 
__________________
ERROR: Signature is too large

Geändert von rendner[i] (08-04-2005 um 13:48 Uhr)
rendner[i] ist offline   Mit Zitat antworten
Alt 08-04-2005, 14:20   #6 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 26
this funktioniert nicht

Hallo,

ich habe den Fehler gefunden!
Das hier funktioniert:
ActionScript:
  1. MovieClip.prototype.ausblenden = function(abc){
  2.     abc.onRollOver = function() {
  3.         abc._visible = false;
  4.     }
  5. }
  6.  
  7. ausblenden(test);

Das hier nicht:
ActionScript:
  1. MovieClip.prototype.ausblenden = function(abc){
  2.     this.onRollOver = function() {
  3.         abc._visible = false;
  4.     }
  5. }
  6.  
  7. ausblenden(test);
auwei ist offline   Mit Zitat antworten
Alt 08-04-2005, 14:23   #7 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Bloss bei Deiner "neuen" Version muss das Objekt was unsichtbar werden soll erst "berührt" werden.
Und so wie die dasteht, funktioniert die auch nicht!
Da vor der Funktion noch ein MC stehen muss der sie aufruft und Du bestimmt auch drinne das eval() brauchst weil sonst das onRollOver nicht funktioniert!
__________________
ERROR: Signature is too large

Geändert von rendner[i] (08-04-2005 um 14:27 Uhr)
rendner[i] ist offline   Mit Zitat antworten
Alt 08-04-2005, 14:56   #8 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 26
Endversion

Also bei hat das mit dem eval nicht funktioniert, meine Varinate aber doch.

Die endgültige Version habe ich jetzt noch ein bisschen geändert, damit es kein Vertun mehr gibt, welches Objekt berührt/angeklickt und welches beeinflusst werden soll.
ActionScript:
  1. MovieClip.prototype.ausblenden = function(objektname,zielobjekt) {
  2.         objektname.onRelease = function() {
  3.                 zielobjekt._visible = false;
  4.         };
  5. };
  6.  
  7. MovieClip.prototype.einblenden = function(objektname,zielobjekt) {
  8.         objektname.onRelease = function() {
  9.                 zielobjekt._visible = true;
  10.         };
  11. };
  12.  
  13. ausblenden(stuetzeganz, stuetzeganz);
  14. einblenden(teilstuetze, stuetzeganz);
auwei ist offline   Mit Zitat antworten
Alt 08-04-2005, 15:57   #9 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Aber wozu dann das Prototype ???
Da kannst Du doch gleich ne "normale" Funktion nehmen!
PHP-Code:
function ausblendenobjektnamezielobjekt )
{
    
objektname.onRelease = function() {
           
zielobjekt._visible false;
        
delete this.onRelease;
    };
};

function 
einblendenobjektnamezielobjekt )
{
     
objektname.onRelease = function() {
         
zielobjekt._visible true;
         
delete this.onRelease;
     };
};

ausblendenmc1mc2);
einblendenmc1mc2); 
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 08-04-2005, 16:02   #10 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
PHP-Code:
MovieClip.prototype.blende=function(ziel,sichtbarkeit)
{
    
this.onRelease=function()
    {
        
sichtbarkeit==true ziel._visible=ziel._visible=0;
    }
}
mc.blende(dummy,egal_was_ich_schreibe)
mc1.blende(dummy,true
warrantmaster 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 03:02 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele