Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28-02-2005, 20:09   #1 (permalink)
HollyMolly
 
Benutzerbild von thom.k
 
Registriert seit: Apr 2004
Beiträge: 291
script - hilfe - bitte

bitte, kann mir jemand helfen zu einem menü-script?

habe ein menü, das bei klick ein string ausliest und je nachdem was im string steht entweder einen externen link (neue URL) in einem neuen browserfenster öffnet, oder einen dyn. movieclip erstellt und hier eine externe swf lädt

nun wollte ich das soweit erweitern, dass falls ich in dem string einen bildnamen, oder evtl. besser bildnummer aus der aktuellen zeitleiste eintrage, der film bis dorthin springt und stopt kann mir da jemand helfen?

hier ist mein aktueller script:
string:
PHP-Code:
links = ['neues.swf''in1.swf''welcome_txt.swf''form/emailForm.swf'/*'http://www.tekatris.de'*/'impressum.swf']; 
und hier die if/else - anweisung:
PHP-Code:
if (links[this._name.substr(22)].substr(07) == 'http://') { 
        
getURL(links[this._name.substr(22)], '_blank'); 
    } else { 
        
_root.createEmptyMovieClip('mc_container'100); 
         
        
_root.mc_container.loadMovie(links[this._name.substr(22)]); 
        
mc_container._x 
        mc_container
._y 90 
        anfang
.unloadMovie("welcome_txt.swf"); 
    } 
fragen:
was muss ich im string eintragen und wie?
und wie erweitere ich die if/else - anweisung?
thom.k ist offline   Mit Zitat antworten
Alt 28-02-2005, 20:10   #2 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Wie jetzt, ist das jetzt Modern, alles doppelt zu posten?????
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 28-02-2005, 20:16   #3 (permalink)
HollyMolly
 
Benutzerbild von thom.k
 
Registriert seit: Apr 2004
Beiträge: 291
wieso doppelt? - alter post gelöscht und neu gepostet - würde mich eher auf eine hilfe zu meinem post freuen anstatt über dein "netten" kommentar
thom.k ist offline   Mit Zitat antworten
Alt 28-02-2005, 20:27   #4 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Aber wenn ich mir Deinem Script so angucke und mir dann die Frage dazu zu gemüte führe, dann kommt mir der Verdacht das das auch nicht unbedingt auf Deinem mist gewachsen ist.

Aber ich würde es so machen:
PHP-Code:
var "12";

= [];
b] = a;

//gibt 49 aus, ASCII-Code für 1
traceb].charCodeAt) );

//zu dem Frame gehen
gotoAndStopb] ); 
Und somit kannst du prüfen ob das erste Zeichen Deines Strings eine Zahl ist, muss ein
ASCII-Wert von 48 - 57(0 - 9) sein.
Wenn ja dann ist es ne Zahl und du kannst das Ding dann gotoAndPlay zuweisen.
__________________
ERROR: Signature is too large

Geändert von rendner[i] (28-02-2005 um 20:31 Uhr)
rendner[i] ist offline   Mit Zitat antworten
Alt 28-02-2005, 20:35   #5 (permalink)
HollyMolly
 
Benutzerbild von thom.k
 
Registriert seit: Apr 2004
Beiträge: 291
das habe ich auch nie behauptet, dass das von mir ist - aber danke für deine hilfe, werde ich mal ausprobieren
thom.k ist offline   Mit Zitat antworten
Alt 28-02-2005, 20:52   #6 (permalink)
HollyMolly
 
Benutzerbild von thom.k
 
Registriert seit: Apr 2004
Beiträge: 291
@rendner[i]:

bitte nicht hauen :-))
wahrscheinlich bin ich echt zu doof, aber habs mal so probiert und es funzt nicht:
PHP-Code:
if (links[this._name.substr(22)].substr(07) == 'number') {
    var 
"12"

= []; 
b] = a

//gibt 49 aus, ASCII-Code für 1 
traceb].charCodeAt) ); 

//zu dem Frame gehen 
gotoAndStopb] ); 
    } 
__________________
gruß
thom.k
_________________________
menü tutorial; flv-player; my page
besser a bissl was wissn, als gar nix
thom.k ist offline   Mit Zitat antworten
Alt 28-02-2005, 21:08   #7 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Das war nur ein Beispiel oben, a war der String der dann ins Array b eingetragen wurde .

links[ this._name.substr( 2, 2 ) ] <--- das kann ich leider nicht ganz deuten (betrifft this.name, mir fehlt da irgendwie der zusammenhang) da musst Du dann mal den Script auf Dein Bedürfnis anpassen.
PHP-Code:
var links = [ "neues.swf""in1.swf""12" ]; 

//diese Variable bekommt den String der überprüft werden soll
var links[   ????    ].charCodeAt);

if ( 
linksthis._name.substr2) ].substr0) == "http://" )

    
getURLlinksthis._name.substr2) ], "_blank" ); 

//die Variable dann prüfen ob es eine Zahl ist
else if( >= 48  &&  <= 59 )
{    
    
gotoAndStoplinks[ ??? ] );
}
else
{
    
_root.createEmptyMovieClip"mc_container"100, { _x1_y90 } ); 
    
_root.mc_container.loadMovielinksthis._name.substr2) ] ); 
    
anfang.unloadMovie"welcome_txt.swf" ); 

Hab mir noch mal Deinen ersten Beitrag durchgelesen, ihrgendwie komme ich nicht ganz dahinter was Du willst.
Willst Du dass, wenn Du Deinen mc reinlädts das dieser dann auf den gleichen aktuellen Frame geht wie Deine HZL, oder willst Du einfach im Array noch eine Zahl abspeichern und damit dein aktuelles Frame in der HZL ändern????
Kannste das mal bitte genauer aufklären, bevor wir hier aneinander vorbei Programmieren.
__________________
ERROR: Signature is too large

Geändert von rendner[i] (28-02-2005 um 21:15 Uhr)
rendner[i] ist offline   Mit Zitat antworten
Alt 28-02-2005, 21:20   #8 (permalink)
HollyMolly
 
Benutzerbild von thom.k
 
Registriert seit: Apr 2004
Beiträge: 291
ich will nur, wenn ich im string "links" eine zahl eingebe, dass mein film in meiner hauptzeitleiste zu diesem frame springt und stopt - nicht in irgendeiner geladenen swf

vielleicht ist es auch einfacher, wenn ich keine zahl nenne, sondern dem frame einen namen vergebe?
__________________
gruß
thom.k
_________________________
menü tutorial; flv-player; my page
besser a bissl was wissn, als gar nix

Geändert von thom.k (28-02-2005 um 21:24 Uhr)
thom.k ist offline   Mit Zitat antworten
Alt 28-02-2005, 21:24   #9 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
gut dann war ich richtig.
und Dein "link" ist kein String sondern ein Array (Datencontainer)!!!!
Du solttest mal mer die basic's von Flash lernen, auch mal kleine Dinge selber bauen anstatt sie irgendwo zu kopieren (auch wenn es länger dauert).
Ist nicht böse gemeint, nur ne Empfehlung, da fällt Dir später vieles leichter und man lernt früher oder später schneller.

Falls der Script oben nicht funtzt, musste mal die fla posten, sonst kann ich Dir auch nicht mehr helfen, weil ich wie im etwas oberen Beitrag schon erwähnt habe, mit dem "link[ this._name ...]" nicht klarkomme.

betrifft Deine Version:
Funktioniert das Ding überhaupt????????????
Kann ich mir echt nicht vorstellen.
__________________
ERROR: Signature is too large

Geändert von rendner[i] (28-02-2005 um 21:33 Uhr)
rendner[i] ist offline   Mit Zitat antworten
Alt 28-02-2005, 21:33   #10 (permalink)
HollyMolly
 
Benutzerbild von thom.k
 
Registriert seit: Apr 2004
Beiträge: 291
ja ich bin überhaupt nicht eingeschnappt - ganz im gegenteil nur habe ich im moment leider nicht die zeit dazu, ich sehe ja auch ein, dass ich so nicht ewig weitermachen kann, es ist zu umständlich und es bringt mir auch nicht immer den gewünschten erfolg

ich will nur dieses eine projekt fertig bringen - und dabei bin ich im moment alles (designer, programmierer - mädchen f. alles) und das macht mich ganz schön fertig - naja, genug lamentiert!

nur noch eine frage: was soll ich anstatt der fragezeichen eingeben so traced er mir immer eine fehlermeldung

aber schonmal ein fettes lob für deine ausserordentlichen hilfe!!!!
__________________
gruß
thom.k
_________________________
menü tutorial; flv-player; my page
besser a bissl was wissn, als gar nix
thom.k ist offline   Mit Zitat antworten
Alt 28-02-2005, 21:47   #11 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Das weis ich ja nicht!!!!!

Pass auf:
PHP-Code:
//das ist ein Array
var links = [ "neues.swf""in1.swf""12" ]; 
Wenn ich jetzt das erste Element aus diesem Array haben will, das wäre "neues.swf" bekomme ich das so:
PHP-Code:
//gibt neues.swf aus
tracelinks] );


//man kanns aber auch so machen
var 0;
//gibt auch neues.swf aus
tracelinks] );


//aber das geht garantiert nicht!!! weis nicht wo Du das her hast
tracelinksthis._name.substr(22) ] ); 
Also man kann die Felder in Den Array's nur mit Zahlen ansprechen.
Dieses Array "links = [ "neues.swf", "in1.swf", "12" ]; " hat 3 Elemnte und mann kann sie so auslesen:
links[ 0 ] //ergibt neues.swf
links[ 1 ] //in1.swf
links[ 2 ] //12

Das heist also im Klartext Dein Script ist "sche..."!

Da musst Du nochmal genauer erklären, wie du auf das Array zugreifen willst und wann (durch was beeinflusst).
Du brauchst ja einen Wert, damit Du weist welche Datei Du jetzt laden oder welche Seite aufgerufen werden muss, woher kommt der???

Hoffe Du kannst mir folgen...
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 28-02-2005, 21:57   #12 (permalink)
HollyMolly
 
Benutzerbild von thom.k
 
Registriert seit: Apr 2004
Beiträge: 291
ok, check nix mehr!
ich hab die fla hier gezipt (allerdings 11MB), wenn es dir nicht allzuviel ausmacht?
(Link nicht mehr aktuell - bei interesse bitte melden)
__________________
gruß
thom.k
_________________________
menü tutorial; flv-player; my page
besser a bissl was wissn, als gar nix

Geändert von thom.k (28-02-2005 um 23:24 Uhr)
thom.k ist offline   Mit Zitat antworten
Alt 28-02-2005, 21:57   #13 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
So etwas würde gehen.
Der Funktion abc wird eine Zahl übergeben, diese wählt aus dem Array "link" dann den gewünschten String.
Wenn Du zBsp einen einen Button hast und wenn Du auf diesen Drückst,
willst Du das dein HZL auf Frame 12 geht.
Dies währe ja link[ 2 ].
Also würdest Du das Script auf den Button so schreiben:
PHP-Code:
onrelease )
{
   
_root.abc);

Hier dann die Funktion, jetzt kannst Du auch auf die Elemente zugreifen.
PHP-Code:
var links = ['neues.swf''in1.swf'12 ]; 


function 
abc)
{
    var 
links].charCodeAt); 
    if ( 
links].substr0) == "http://" 
    { 
        
getURLlinks], "_blank" ); 
    } 
    
//die Variable dann prüfen ob es eine Zahl ist 
    
else if( >= 48  &&  <= 59 
    {     
    
gotoAndStoplinks] ); 
    } 
    else 
    { 
    
_root.createEmptyMovieClip"mc_container"100, { _x1_y90 } ); 
    
_root.mc_container.loadMovielinks] ); 
    
anfang.unloadMovie"welcome_txt.swf" ); 
    } 

__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 28-02-2005, 22:05   #14 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Habs mal gesaugt, boah is dat viel Script
Ich glaub wenn Du statt:
PHP-Code:
linksthis._name.substr(22) ] 
das schreibst, könnte es gehen.
PHP-Code:
linkstemp 
oder das
PHP-Code:
linkstemp.substr(22) ] 
__________________
ERROR: Signature is too large

Geändert von rendner[i] (28-02-2005 um 22:10 Uhr)
rendner[i] ist offline   Mit Zitat antworten
Alt 28-02-2005, 22:15   #15 (permalink)
HollyMolly
 
Benutzerbild von thom.k
 
Registriert seit: Apr 2004
Beiträge: 291
das geht leider nicht ganz, den bei onRelease habe ich schon eine funktion:
PHP-Code:
obj.onRelease = function() {
    
_root[temp].txt.text '0'+(Number(_root[temp]._name.substring(2))+1);
    
_root[temp].bt.gotoAndStop('up');
    
_root[temp].enabled true;
    
_root[temp].bt.scala(mcWidspeed);
    
this.enabled false;
    
temp this._name;
    
this.visited._visible true
erst darunter habe ich dann:
PHP-Code:
var links[   ????    ].charCodeAt); 

if ( 
linksthis._name.substr2) ].substr0) == 'http://' 

    
getURLlinksthis._name.substr2) ], '_blank' ); 

//die Variable dann prüfen ob es eine Zahl ist 
else if( >= 48  &&  <= 59 
{     
    
gotoAndPlaylinks[ ??? ] ); 

else 

    
_root.createEmptyMovieClip'mc_container'100, { _x1_y90 } ); 
    
_root.mc_container.loadMovielinksthis._name.substr2) ] ); 
    
anfang.unloadMovie"welcome_txt.swf" ); 

__________________
gruß
thom.k
_________________________
menü tutorial; flv-player; my page
besser a bissl was wissn, als gar nix
thom.k 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:22 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele