Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-06-2007, 21:51   #1 (permalink)
img
Neuer User
 
Registriert seit: May 2007
Beiträge: 30
Punktnotation: wie mit gotoAndPlay zu anderem MC springen?

Hi Leute,

bisher hatte ich immer alle mcs in der hauptzeitleiste und keine verschachtelten MCs... da hat der code hier gereicht:

file.onRelease=function (){
_root.gotoAndPlay(1);
}


jetzt möchte ich aber das er in einen andern Clip namens "dude" springt zum beispiel...

file_sharing.onRelease=function (){
_root.dude.gotoAndPlay(1);
}

da klappt nicht

internet.onRelease=function (){
this["dude"].gotoAndPlay(1);
}

auch nicht

kann mir jemand helfen, is ne simple frage aber komme nicht dahinter
img ist offline   Mit Zitat antworten
Alt 12-06-2007, 22:07   #2 (permalink)
lernwillig
 
Benutzerbild von Bugfixer
 
Registriert seit: May 2004
Ort: Berlin
Beiträge: 221
Tach,

absolute pfadangaben (_root) sollte man generell vermeiden. Sollte es mal vorkommen, das du deine seite in einen neuen mc packen musst, funktionieren sämtliche referenzen nicht mehr.
Besser relative pfadangaben:

ActionScript:
  1. this.file_sharing.onRelease=function ()
  2. {
  3.      this._parent.dude.gotoAndPlay(1);
  4. }

Am besten du schaust dir mal die beispiele in der hilfe an.

Viel erfolg
Bugfixer ist offline   Mit Zitat antworten
Alt 12-06-2007, 22:09   #3 (permalink)
ur leiwand oida
 
Benutzerbild von l_ch
 
Registriert seit: Sep 2001
Ort: plagwitz/jumeirah lake towers
Beiträge: 1.660
du mußt den movieclip-instanzen noch mal den namen zuweisen. unten im fenster "eigenschaften" steht noch mal "name" oder sowas, dort einfach dude (oder was auch immer) reinschreiben. dann kannst du den clip damit ansprechen. war es das, was du wissen wolltest?
__________________
and now for some reklame
________________
günstige kontaktlinsen
l_ch ist offline   Mit Zitat antworten
Alt 12-06-2007, 22:21   #4 (permalink)
img
Neuer User
 
Registriert seit: May 2007
Beiträge: 30
Code:
this.internet.onRelease=function ()
{
	this._parent.2_trace.gotoAndPlay(1);
 }

da sagt er:
**Fehler** Symbol=1_windows, Ebene=Ebene 2, Bild=1:Zeile 3: Syntaxfehler.
this._parent.2_trace.gotoAndPlay(1);

Geändert von img (12-06-2007 um 22:25 Uhr)
img ist offline   Mit Zitat antworten
Alt 12-06-2007, 22:23   #5 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
-> 2_trace

Variablen (und Instanznamen sind auch sowas ähnliches) dürfen u.a. nicht mit Zahlen beginnen.

Soweit zumindest zum Grundsatz.
Ob sonst noch ein Fehler drin hängt lässt sich von hier aus schlecht sagen.
Die Syntax an sich - abgesehen von der beginnenden Zahl - passt jedenfalls. Wobei ich auf ein Leerzeichen zwischen function und () verzichten würde. Hab aber noch nicht ausprobiert, ob das Probleme macht.

Gruß
Rena
__________________
www.rena-hermann.de

The angels have the phone box

Geändert von rena (12-06-2007 um 22:27 Uhr)
rena ist offline   Mit Zitat antworten
Alt 12-06-2007, 22:27   #6 (permalink)
img
Neuer User
 
Registriert seit: May 2007
Beiträge: 30
hmm ok.. ich glaub ich hab da ein kleines logik-problem...
ich stell mal die datei zur verfügung: www.img-media.de/temp/test.fla

könntest mal reinschaun bitte?

Geändert von img (12-06-2007 um 22:29 Uhr)
img ist offline   Mit Zitat antworten
Alt 12-06-2007, 22:32   #7 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
Code:
this.internet.onRelease=function ()
{
	this._parent.trace.gotoAndPlay(1);
 }
Wo liegt ein Movieclip mit Instanznamen "trace" bei dir auf der Bühne bzw. nach deinem Script im Movieclip "1_windows" (-> auch den nicht mit 'ner Zahl beginnen), in dem auch der Movieclip mit dem Instanznamen "internet" ist und in dem dein Script liegt? Ich find keinen mit dem Instanznamen "trace" und genau der soll nach deinem Script ja was tun.
__________________
www.rena-hermann.de

The angels have the phone box

Geändert von rena (12-06-2007 um 22:37 Uhr)
rena ist offline   Mit Zitat antworten
Alt 12-06-2007, 23:08   #8 (permalink)
img
Neuer User
 
Registriert seit: May 2007
Beiträge: 30
so, habe das jetzt nochmals in dieser datei versucht: www.img-media.de/temp/test.fla

jetzt sollte ich alles richtig benannt haben, und die Clips liegen auch im Hauptfilm drin.

wo liegt da noch der fehler?
img ist offline   Mit Zitat antworten
Alt 12-06-2007, 23:17   #9 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
Ich bin mir immer noch nicht sicher, was du genau willst aber
Code:
this.internet.onRelease=function ()
{
	this._parent._parent.gotoAndStop(2); //Hauptzeitleiste springt auf Frame 2
	//das erste _parent verweist auf die "Mutterzeitleiste", 
	//also die, in der "internet" liegt, in deinem Fall "clip1"
	//noch ein _parent zurück wäre hier die Hauptzeitleiste
 }
Den Movieclip mit dem Instanznamen "test" brauchst (und kannst) du damit nicht explizit ansprechen. Der taucht ja in Frame 2 der Hauptzeitleiste automatisch auf und vorher (in Frame 1) kann man den auch gar nicht referenzieren, da dort noch gar nicht vorhanden.
__________________
www.rena-hermann.de

The angels have the phone box
rena ist offline   Mit Zitat antworten
Alt 12-06-2007, 23:21   #10 (permalink)
img
Neuer User
 
Registriert seit: May 2007
Beiträge: 30
ok das werde ich gleich nochmal versuchen...

was ich genau will: ich möchte wenn ich auf clip1 klicke via AS in den MC clip2 springen.

kurz gesagt...


// mit 2x parent hats funktioniert. Is das der übliche Weg oder gibts da noch nen "schöneren"?

Geändert von img (12-06-2007 um 23:24 Uhr)
img ist offline   Mit Zitat antworten
Alt 13-06-2007, 00:07   #11 (permalink)
lernwillig
 
Benutzerbild von Bugfixer
 
Registriert seit: May 2004
Ort: Berlin
Beiträge: 221
Man kann anweisungen und methoden in funktionen zusammenfassen, die man dann mittels button und funktionsaufrufen inkl. parameter aufruft. So kannst du code sparen und auch von anderen stellen aus aufrufen.

Hier ein beispiel:
ActionScript:
  1. this.btn.onRelease = function()
  2. {
  3.     this._parent.showNext(2);
  4. }
  5.  
  6. function showNext (pTarget)
  7. {
  8.     trace(this);   
  9.     var p = this._parent;
  10.     p.gotoAndStop(pTarget);
  11.    
  12. }

Als hilfe kannst du trace(this); verwenden um schneller verständnis für instanzen zu erlangen.
Die zeile var p = this._parent; spart tiparbeit, wenn du mehrere anweisungen in derselben zielinstanz geben willst.

Einfach mal ausprobieren..
__________________
Schon mal F1 gedrückt? ;)

Geändert von Bugfixer (13-06-2007 um 00:09 Uhr)
Bugfixer ist offline   Mit Zitat antworten
Alt 13-06-2007, 00:15   #12 (permalink)
img
Neuer User
 
Registriert seit: May 2007
Beiträge: 30
Zitat:
Zitat von Bugfixer Beitrag anzeigen
Man kann anweisungen und methoden in funktionen zusammenfassen, die man dann mittels button und funktionsaufrufen inkl. parameter aufruft. So kannst du code sparen und auch von anderen stellen aus aufrufen.

Hier ein beispiel:
ActionScript:
  1. this.btn.onRelease = function()
  2. {
  3.     this._parent.showNext(2);
  4. }
  5.  
  6. function showNext (pTarget)
  7. {
  8.     trace(this);   
  9.     var p = this._parent;
  10.     p.gotoAndStop(pTarget);
  11.    
  12. }

Als hilfe kannst du trace(this); verwenden um schneller verständnis für instanzen zu erlangen.
Die zeile var p = this._parent; spart tiparbeit, wenn du mehrere anweisungen in derselben zielinstanz geben willst.

Einfach mal ausprobieren..
mh ok danke, aber werds lieber mit den 2 parents machen, is simpler für mich, kenn mich ja nich gut aus.

ähm warum muss man gotoAndStop nehmen und kann nicht gotoAndPlay machen?
img ist offline   Mit Zitat antworten
Alt 13-06-2007, 12:09   #13 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
Zitat:
Zitat von img Beitrag anzeigen
ähm warum muss man gotoAndStop nehmen und kann nicht gotoAndPlay machen?
Kannst du schon - nur musst du dann in dem Frame zu dem du springst ein stop() setzen. Das war in deinem Beispiel nicht drin und wenn ab Sprungziel nicht auf der Zeitleiste "weitergelaufen" werden soll, ist es mit gotoAndStop() auch nicht notwendig.

Gruß
Rena
__________________
www.rena-hermann.de

The angels have the phone box
rena 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:08 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele