ERLEDIGT
NEIN
NEIN
ANTWORTEN
12
12
ZUGRIFFE
2931
2931
EMPFEHLEN
-
Hallo,
ich möchte folgendes erreichen:
-ich habe einen Flashfilm mit 100 Bildern
-am linken Rand meines Films sind Button1-10, Beim drücken eines Buttons spring der Film also je nachdem auf Bild20, Bild80 oder auch zurück usw. Und bleibt dort stehen um jeweilige Inhalte anzuzeigen.
-Ich möchte unter jedem Bild 10, 20, 30 usw jeweils drei jpg Bilder von extern laden und anzeigen lassen.
-(die 9Bilder zwischen 10 und 20 usw könnte man auch löschen)
Mit unten stehendem Script geht es aber nur ein Bild einzuladen obwohl ich mir 3 Ebenen erzeugt habe und das Script kopiert habe(mit geänderter Bildbezeichnung usw) , er läd aber nur eines.
Wie bekomme ich das hin, dass alles endlich funktioniert?
Bild 1 2 3 4 5 ... 10 .... 20
Ebene1(bild1) home1.jpg about1.jpg
Ebene2(bild2) home2.jpg about2.jpg
Ebene3(bild3) home3.jpg about2.jpg
Je nachdem ob auf home_btn oder about_btn usw gedrückt wird, sollen die jeweiligen 3 bilder erscheinen.
Oder besser gesagt ich bekomme auf jeder seite EIN gewünschtes bild die anderen 2 erscheinen nicht mehr.
PHP-Code:stop();
_root.createEmptyMovieClip("bild3", 0);
_root.bild3.loadMovie("about3.jpg", 0);
bild3._y = 110;
bild3._x = 800;
_root.bild3._alpha = 0;
this.onEnterFrame = function() {
gesamt = _root.bild3.getBytesTotal();
geladen = _root.bild3.getBytesLoaded();
preloader._visible = true;
anz._visible = true
if (geladen != gesamt) {
_root.anz.text = Math.round(100*geladen/gesamt)+"%";
//dynamisches Textfeld mit Instanznamen "anz" muss natürlich erstellt sein ^^
preloader._xscale = 100*geladen/gesamt;
} else {
//hier müsste dann dein Script für die Größenänderung hin *gähn* man is schon spät
anz._visible = false
preloader._visible = false;
if (_root.bild3._alpha<100 && geladen == gesamt) {
_root.bild3._alpha += 2; //war 10 jc
//je höher der Wert desto schneller "faded" das Bild ein, also je niedriger desto langsamer
}
}
};
Ist das Problem evtl. dass ich 3 parallele ActionScripts habe und in jedem kommt der begriff "this" und "_root" vor
Wie löse ich dieses Problem? BITTE UM HILFE. (ich hab das ganze auch in ein weiteres Forum geschrieben, aber auch noch keine Antwort erhalten).
gruß
heleneGeändert von helene1 (27.05.07 um 09:29 Uhr)
-
hallo,
ich würde eher sagen, dass das Problem darin liegt, dass du deine 3 MovieClips in die selbe Tiefenebene lädst. Und diese Ebene hat nicht mit der Ebene in Flash selbst zu tun.
Versuch mal die Levels deiner loadMovie Aktion so zu machen, dass diese nicht gleich sind.
Also ungefähr so:
dann hast du auf jeder Ebene das selbe Script und erhöst einfach deine Tiefenebene um 1.PHP-Code:_root.createEmptyMovieClip("bild3", diese Zahl erhöhen);
_root.bild3.loadMovie("about3.jpg", diese Zahl erhöhen);
Ebene 1:Ebene 2:PHP-Code:_root.createEmptyMovieClip("bild3", 0);
_root.bild3.loadMovie("about3.jpg", 0);
usw.PHP-Code:_root.createEmptyMovieClip("bild3", 1);
_root.bild3.loadMovie("about3.jpg", 1);
Deine MovieClip, den du erstellst sollte dann natürlich auch angepasst werden. Also "bildX"...
gruß inctubewww.m-e.biz
..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..
Tiere sind meine Freunde und Freunde esse ich nicht (G.B. Shaw)
-
vielen dank für die recht einfach und logisch klingende antwort, allerdings wird dennoch immer nur ein bild angezeigt ich weis wirklich nicht mehr weiter, mir erscheint das sehr unlogisch.
3Ebenen:
EbeneBildlinks
EbeneBildmitte
EbeneBildrechts
Es wird immer nur das Bild angezeigt das in der Untersten Ebene steht!
Schiebe ich zB "EbeneBildlinks" unter "EbeneBildrechts" wird Bildlinks angezeigt usw.
Wenn ich folgende Zeile:
_root.bild4._alpha = 0;
obwohl ich nur Bild1-3 habe, ins leere laufen lasse, werden alle 3 Bilder angezeigt aber gehen nimmer weg!?
Vermutlich darf man nicht alles mit _root bezeichenen.
gruß heleneGeändert von helene1 (27.05.07 um 11:18 Uhr)
-
Du erstellst einen MovieClip mit dem Namen "bildX". Wenn du jetzt diesen MovieClip ansprechen willst, dann musst du überall wo dieser Bezeichner vorkommt diesen auch durch den richtigen Namen ersetzen.
Dein ganzer Code ist für ein bestimmtes Bild ausgelegt. Mit einer For-Schleife könntest du alle Bilder ansprechen und könntest dir so deine 3 Zeitleistenebenen sparen. Du hättest einmal deinen Code.
Als Besipiel:
Dieser Code erzeugt dir einen MovieClip und attached einen MovieClip aus der Library (muss verküpft sein) auf die Bühne, und zwar bei jedem Schelifendurchlauf. D.h. wenn du als "anzahl" 3 eingibst, macht er dir 3 MovieClips.PHP-Code:for (var i:Number= 0; i<anzahl; i++) {
this.createEmptyMovieClip("cl"+i,i)
var clip:Movieclip = cl.attachMovie("bild", "bild"+i, i+1);
}
Gruß inctubewww.m-e.biz
..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..
Tiere sind meine Freunde und Freunde esse ich nicht (G.B. Shaw)
-
hi, wirklich vielen dank für deine hilfe ich dachte eigentlich das ich wüsste was du meinst, aber ich habe lange herumprobiert und krieg es leider wirklich nicht hin, könntest du BITTE ne .fla anhängen?
gruß
helene
-
hallo,
wie lade ich in deinem Bsp. die Bilder in die 3 Filme? Hab ich dann dieses "virtuelle Ebenenproblem 0, 1, 2 usw nicht mehr (da hatte es ja immer nur 1Bild angezeigt!?
Ich dachte es müsste so gehen: (wenn ich zB 3Bilder ability1.jpg - ability3.jpg anzeigen lassen möchte.? ich krieg aber ne Fehlermeldung, wie schreibe ich die Zeile richtig
PHP-Code:for (var i:Number= 0; i<3; i++) {
this.createEmptyMovieClip("cl"+i,i);
this."cl"+i.loadMovie("ability"+i+".jpg",i);
var clip:MovieClip = cl.attachMovie("bild", "bild"+i, i+1);
}
Das hier ist die Fehlermeldung:
**Fehler** Szene=Szene 1, Ebene=Ebene 32, Bild=68:Zeile 3: Nach '.'-Operator wurde ein Feld erwartet.
this.("cl"+i).loadMovie("ability"+i+".jpg",0);
Anzahl der ActionScript-Fehler: 1 Gemeldete Fehler: 1Geändert von helene1 (28.05.07 um 13:36 Uhr)
-
Also du musst das so schreiben:
Jetzt hast du deine 3 MovieClips in die jeweils ein Bild geladen wird.PHP-Code:for (var i:Number= 0; i<3; i++) {
this.createEmptyMovieClip("cl"+i,i);
this["cl"+i].loadMovie("ability"+i+".jpg",i);
var clip:MovieClip = cl.attachMovie("bild", "bild"+i, i+1);
}
Gruß inctubewww.m-e.biz
..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..
Tiere sind meine Freunde und Freunde esse ich nicht (G.B. Shaw)
-
Danke! ...habs inzwischen auch geschaft, allerdings stellt sich dann wieder das Problem: dass die Bilder nur angezeigt werden wenn man das mit dem alpha auskommentiert!
Hier mal meine Idee um das ActionScipt zudem über den gesamten Film gehen zu lassen(indem man die jeweiligen 3 Bilder in Abhängigkeit davon wo der Film gerade steht (Bildname) anzeigen lässt):
......PHP-Code://In Flash kann man doch Bildbezeichnungen geben! ich habe die Bildbezeichnungen(auch Buttons) home, about, ability usw.
var bildbez:String="about"; //initialisierung falls ich unter about meine ersten 3 bilder anzeigen möchte.
//bildbez(Bild(name)) ist die bezeichnung der "Bilder des Flashfilms" NICHT der meiner jpg Bilder!
if(frame.name == "ability"){ //was mach ich hier falsch
bildbez="ability"; //meine Bilder haben hier den namen ability0.jpg ..- ability2.jpg
}
else if .... usw
for (var i:Number=0; i<3; i++) {
_root.createEmptyMovieClip("cl"+i,i);
_root["cl" + i].loadMovie(bildbez+i+".jpg",i);
_root["cl" + i]._x = 197 + 276 * i; //anordnen der jeweiligen 3 Bilder
_root["cl" + i]._y = 118;
//_root["cl" + i]._alpha = 0;
Die Bilder werden NUR angezeigt wenn ich diese Zeile (_root["cl" + i]._alpha = 0 ; )auskommentiere! (aber um einzufaden muss es ja erst alpha 0 sein!).
wenn mans auskommentiert werden die Bilder angezeigt, gehen aber auch nicht mehr weg, egal welchen menüpunkt man klickt. Ausserdem möchte ich ja faden!?
.....weiter im Code:
Ich würde mich sehr freuen wenn ich diesen Wahnsinn heute hinter mich bringen könnte. Das alles nur um 3 Bilder anzuzeigen. Und immer wieder gehts dann doch nicht, obwohl man sich schon gefreut hat, und auch alles logisch scheint! Was mach ich jetzt noch falsch? gruß helenePHP-Code:
this.onEnterFrame = function() {
gesamt = _root["cl" + i].getBytesTotal();
geladen = _root["cl" + i].getBytesLoaded();
preloader._visible = true;
anz._visible = true
if (geladen != gesamt) {
_root.anz.text = Math.round(100*geladen/gesamt)+"%";
//dynamisches Textfeld mit Instanznamen "anz" muss natürlich erstellt sein ^^
preloader._xscale = 100*geladen/gesamt;
} else {
//hier müsste dann dein Script für die Größenänderung hin *gähn* man is schon spät
anz._visible = false
preloader._visible = false;
if (_root["cl" + i]._alpha<100 && geladen == gesamt) {
_root["cl" + i]._alpha += 2; //war 10 jc
//je höher der Wert desto schneller "faded" das Bild ein, also je niedriger desto langsamer
}
}
};
}
Geändert von helene1 (28.05.07 um 17:17 Uhr)
-
Häng doch mal bitte deine fla an...
gruß inctubewww.m-e.biz
..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..
Tiere sind meine Freunde und Freunde esse ich nicht (G.B. Shaw)
-
1. bilder home0.jpg home1.jpg und home2.jpg usw (irgendwelche so bez. jpgs einfach in den gleichen ordner wie die fla)
2.der error mit der inhalt.txt, ist egal, da steht bei mir nur irgendein text drin der als content angezeigt werden soll.
3.alpha muss wieder auskommentiert werden, sonst zeigt es wie gesagt nie ein bild an!!?
vielen Dank!Geändert von helene1 (29.05.07 um 15:19 Uhr)
-
so, ich hoffe es ist so wie du es wolltest...
gruß inctubeGeändert von inctube (29.05.07 um 19:05 Uhr) Grund: Anhang gelöscht
www.m-e.biz
..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..
Tiere sind meine Freunde und Freunde esse ich nicht (G.B. Shaw)
-
Im ersten Moment (Defaultwert der Variable bildbez) werden die 3 Bilder angezeigt (unter home).PHP-Code:
on (press) {
this.onEnterFrame = function () {
_root.clip._alpha -= 10;
if (_root.clip._alpha == 0) {
unloadMovie(_root.cl0);
unloadMovie(_root.cl1);
unloadMovie(_root.cl2);
delete this.onEnterFrame;
}
};
}
Dann wenn man auf den nächsten Button(zB about) drückt müssen erst die Alten Bilder verschwinden(ausfaden), und dafür die neuen erscheinen.
Versehe ich jeden Button mit der obenstehenden Fkt. so wird nur das letzt Bild "cl2" gelöscht. Und KEINE NEUEN Bilder werden angezeigt.
Sorry, dass ich es immer noch nicht hinbekomme!
SO WERDEN ALLE 3 BILDER "UNSICHTBAR":
Aber es ist, als wäre der gesamte MovieClip dennoch nicht gelöscht, da anscheinend kein neuer erzeugt werden kann Ich möchte unter den anderen Punkten ja wieder neue 3 Bilder anzeigen, das geht nicht?PHP-Code:on (press) {
unloadClip(clip);
unloadClip(cl1);
this.onEnterFrame = function () {
_root.cl0._alpha -= 10;
_root.cl1._alpha -= 10;
_root.cl2._alpha -= 10;
//unloadMovie(_root.clip);
//unloadClip(clip);
/*
if (_root.cl1._alpha == 0) {
unloadMovie(_root.cl2);
unloadMovie(_root.cl1);
unloadMovie(_root.cl2);
delete this.onEnterFrame;
}
*/
};
}
Geändert von helene1 (28.05.07 um 21:16 Uhr)
-
MovieClips die dynamisch erzeugt wurden, werden mit removeMovieClip gelöscht. Das steht auch in der Hilfe. Außerdem würde ich mir an deiner Stelle ein Konzept für das ganze machen. Ich weiß jetzt auch nicht genau was das Problem ist, du wolltest doch, dass die Bilder eingefaded werden, oder?
Warum machst du das ganze nicht einfach statisch mit alphaTwenning im MovieClip?
Den Aufbau hast du in deiner Zeitleiste ja schon.
gruß inctubewww.m-e.biz
..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..
Tiere sind meine Freunde und Freunde esse ich nicht (G.B. Shaw)
Ähnliche Themen
-
[Flash MX04] loadMovie <-> loadClip - PNG extern laden
Von Eisbaer im Forum Flash PlattformAntworten: 7Letzter Beitrag: 03.04.10, 16:15 -
Bilder in Flash laden
Von MrY im Forum Flash PlattformAntworten: 4Letzter Beitrag: 04.12.07, 12:45 -
Bilder extern in Container laden
Von gelaniee im Forum Flash PlattformAntworten: 15Letzter Beitrag: 25.11.07, 01:30 -
Bilder extern laden
Von Alaniak im Forum Flash PlattformAntworten: 5Letzter Beitrag: 27.07.05, 15:50 -
Bilder Laden (Flash MX)
Von BeastKing im Forum Flash PlattformAntworten: 9Letzter Beitrag: 26.07.02, 10:15





Zitieren
Login





