Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-07-2004, 13:28   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 4
duplizierte MCs und eigene props

Hallo,

Ich hab folgendes Problem - ich dupliziere meinen MC zum Laden von Thumbnails. - ich gebe jeden neuen container die variable MC.testvar mit
nach dem laden (onload) wird jedes thumb mit einer Release fkt. versehen. aber ich kann von da aus die variable testvar nicht ansprechen??? wo hab ich da einen Denkfehler??? vielleicht kann mir jemand helfen - thx

for (i=0 ; i<pics_gesamt ; i++)
{
duplicateMovieClip(container,"BlaBla_mc"+i, myLevel);
this["BlaBla_mc" + i].testvar=i;
this["BlaBla_mc" + i].onLoad = function()
{

this.onRelease = function()
{
trace(this.testvar);
}
}

this["BlaBla_mc" + i].loadMovie(verz+"bs"+i+".jpg");
}
toms75 ist offline   Mit Zitat antworten
Alt 08-07-2004, 13:54   #2 (permalink)
Der Verpeiler
 
Registriert seit: Jun 2004
Beiträge: 99
Bist Du Dir sicher dass das Trace überhaupt ausgeführt wird?
duplicateMovieClip gibt Dir eine Referenz auf den Clip zurück, benutz die, dann bist Du auf der sicheren Seite.
Und immer schön var benutzen, kommt immer gut
ActionScript:
  1. for (var i=0 ; i<pics_gesamt ; i++)
  2. {
  3.     var myClip = duplicateMovieClip(container,"BlaBla_mc"+i, myLevel);
  4.     myClip.testvar=i;
  5.     myClip.onLoad = function()
  6.     {
  7.    
  8.         this.onRelease = function()
  9.         {
  10.             trace("testvar = "+this.testvar);
  11.         }
  12.     }
  13.  
  14.     myClip.loadMovie(verz+"bs"+i+".jpg");
  15. }

Auf jeden Fall sollte das TraceFenster aufgehen, wenn nicht liegts an was anderem.
__________________
Know your scope.
mnemonic ist offline   Mit Zitat antworten
Alt 08-07-2004, 15:35   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 4
geht doch nicht

danke für die rasche antwort - leider funktionierts nicht var ist "undefined" trace wird aber aufgerufen - ich hab den verdacht, dass .loadMovie irgendwie das ganze verdreht....(bzw. löscht beim laden oder so??)...
toms75 ist offline   Mit Zitat antworten
Alt 08-07-2004, 16:26   #4 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
Ich denke du hast ein Pfad problem:

die mcs, in denen die variable "testvar" liegt, sind diese:
"this["BlaBla_mc" + i]" und nicht einfach nur "this"!
daher eher so, oder? (nicht getestet)
ActionScript:
  1. for (i=0 ; i<pics_gesamt ; i++)
  2. {
  3.     duplicateMovieClip(container,"BlaBla_mc"+i, myLevel);
  4.     this["BlaBla_mc" + i].testvar=i;
  5.     this["BlaBla_mc" + i].onLoad = function()
  6.     {
  7.        
  8.         this.onRelease = function()//meinst du hier this oder this."BlaBla_mc" + i
  9.             {
  10.             trace(this["BlaBla_mc" + i].testvar);
  11.             }
  12.     }
  13.  
  14. this["BlaBla_mc" + i].loadMovie(verz+"bs"+i+".jpg");
  15. }

mfG
Robert

EDIT:
sorry... habe diese zeile irgendwie "überlesen"
this["BlaBla_mc" + i].onLoad = function()
grml

Geändert von pape (08-07-2004 um 16:28 Uhr)
pape ist offline   Mit Zitat antworten
Alt 08-07-2004, 16:31   #5 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
warum packst du das onRelease ereigniss in das onLoad Ereignis?

Probiere aber mal folgendes:
ActionScript:
  1. for (i=0 ; i<pics_gesamt ; i++) {
  2.     duplicateMovieClip(container,"BlaBla_mc"+i, myLevel);
  3.     this["BlaBla_mc" + i].testvar=i;
  4.     this["BlaBla_mc" + i].onRelease = function() {
  5.         trace(this.testvar);
  6.     }
  7. this["BlaBla_mc" + i].loadMovie(verz+"bs"+i+".jpg");
  8. }
pape ist offline   Mit Zitat antworten
Alt 08-07-2004, 17:51   #6 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 4
eh...

thx -
so hatte ich es anfangs - nur dann ist auch die OnRelease-fkt. nicht aktiv (sprich die MCs sind keine Buttons) wenn man das obige script ausführt - komisch???? - ich glaub es liegt am .loadMovie ... hab aber leider keine Idee...gibts vielleicht einen anderen ansatz dafür - mach ich was komplett falsch (vom konzept???) - dachte eigentlich nicht, daß ich bei so nem sch... so hänge.... - thx for help
toms75 ist offline   Mit Zitat antworten
Alt 08-07-2004, 18:55   #7 (permalink)
Der Verpeiler
 
Registriert seit: Jun 2004
Beiträge: 99
*kopfgegendiewandknall* is ja auch logisch...
loadMovie lädt ja ein anderes swf in den Clip rein und damit sind die alten Props futsch. So seh ich das mal. Wenn Du innerhalb von BlaBla_mc noch nen Clip anlegen würdest und BlaBla_mc die Prop und den Handler anklebst und in den verschachtelten MC den neuen Clip reinlädst wirds wohl gehen.
__________________
Know your scope.
mnemonic ist offline   Mit Zitat antworten
Alt 09-07-2004, 02:02   #8 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 4
kopfschoneinigemalegegendiewandgeknallt

da hast du wohl recht aber mit loadmovie lädt man ja nicht nur swfs sondern auch jpgs usw.... wurscht...aber ein objekt sollte doch ein objekt bleiben - und die props behalten...
toms75 ist offline   Mit Zitat antworten
Alt 09-07-2004, 12:00   #9 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
hi,

hier ist mal nen kleiner schnipsel der aus einem vorhandenem mc auf der bühne mit dem nahmen container 10 buttons macht mit welchen die bilder 1-10 in den mc bildcontainer geladen werden.

ActionScript:
  1. MovieClip.prototype.laden = function(anzahl) {
  2.     this.createEmptyMovieClip("bildcontainer", 999);
  3.     for (i=1; i<=anzahl; i++) {
  4.         duplicateMovieClip("container", "button"+i, i);
  5.         this["button"+i].id = i;
  6.         this["button"+i].onRelease = function() {
  7.             bildcontainer.loadMovie("bild"+this.id+".jpg", i);
  8.         };
  9.         this["button"+i]._x = this["button"+(i-1)]._x+(this["button"+(i-1)]._width)+5;
  10.     }
  11. };
  12. laden(10);
  13. stop();

gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!
fraggle two 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 04:54 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele