| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jul 2009
Beiträge: 14
| Unload Container
Hallo Zusammen. Bin dabei eine Präsentation zu gestalten, in der zwei Seiten mit einer Bilder gallerie versehen werden, die durch ein Script erstellt wird. Es funktioniert eigentlich auch, aber sobald ich die zweite Seite aufrufe sind darstellungsfehler zu sehen und inks oben im Film wird ein weißer Cube dargestellt. Wenn ich auf Home gehe (wo keine Gallerie dargestellt werden soll) bleibt die Bilder übersicht stehen. Das bedeutet, dass die Bilder Vorschauen in einzelne Container geladen werden, diese aber auf den anderen Seiten nicht verschwinden und fehler verursachen. Mit "container.unloadMovie();" geht es nicht, da immer nur das letzte Thumbs Bild entfernt wird. Also meine Frage. Was gebe ich in Frame 2 an, wenn ich die container aus Frame 1 erst komplett rausschmeißen möchte, bevor die neue Gallerie erstellt wird? Code: imgPerRow = 7;// Bilder pro Zeile
margin = 8;//Abstand zwischen den Thumbnails
tbSize = 84;// Größe der Thumbnails
startX = 328;// Startposition X
startY = 230;// Startpostion Y
var images:Array = new Array();// Array mit den Thumbnails
images[0] = 'Bilder-Inhalte/1/thumbs/1.jpg';
images[1] = 'Bilder-Inhalte/1/thumbs/2.jpg';
images[2] = 'Bilder-Inhalte/1/thumbs/3.jpg';
images[3] = 'Bilder-Inhalte/1/thumbs/4.jpg';
images[4] = 'Bilder-Inhalte/1/thumbs/5.jpg';
images[5] = 'Bilder-Inhalte/1/thumbs/6.jpg';
images[6] = 'Bilder-Inhalte/1/thumbs/7.jpg';
images[7] = 'Bilder-Inhalte/1/thumbs/8.jpg';
var images_gr:Array = new Array();// Array mit den Hauptbildern
images_gr[0] = 'Bilder-Inhalte/1/main/1.jpg';
images_gr[1] = 'Bilder-Inhalte/1/main/2.jpg';
images_gr[2] = 'Bilder-Inhalte/1/main/3.jpg';
images_gr[3] = 'Bilder-Inhalte/1/main/4.jpg';
images_gr[4] = 'Bilder-Inhalte/1/main/5.jpg';
images_gr[5] = 'Bilder-Inhalte/1/main/6.jpg';
images_gr[6] = 'Bilder-Inhalte/1/main/7.jpg';
images_gr[7] = 'Bilder-Inhalte/1/main/8.jpg';
function imgContainer(bezeichner, border, bground, bildId) {
container = _root.createEmptyMovieClip(bezeichner, _root.getNextHighestDepth());//erstellt einen neuen leeren MovieClip
container.beginFill(bground,100);// füllt den MovieClip mit Hntergrundfarbe und Rahmen
container.lineStyle(0,border,100);
container.moveTo(0,0);
container.lineTo(tbSize,0);
container.lineTo(tbSize,tbSize);
container.lineTo(0,tbSize);
container.endFill();
container.num = bildId;// Speichert die Bild Id im MovieClip, für späteres Zugreifen auf jeweilige Id
}
function rePosition() {
for (i=0; i<=images.length; i++) {
// Thumbnails repositionieren
_root['container'+i]._x = _root['container'+i].posX;
_root['container'+i]._y = _root['container'+i].posY;
//Thumbnails einblenden und aktivieren
_root['container'+i].onEnterFrame = function() {
this._alpha += 5;
if (this._alpha>=50) {
this._alpha = 50;
delete this.onEnterFrame;
this.enabled = true;
}
};
}
}
function loadThumbs(target, image, bezeichner) {
// Erstellung eines neuen leeren MoviClips für das Thumbnail
img = target.createEmptyMovieClip(bezeichner, target.getNextHighestDepth());
img._x = 2.5;
img._y = 2.5;
img._alpha = 0;//Alpha auf 0 setzen um einfaden der Bilder zu realisieren
// Erstellung einer Instanz der MoviClipLoader-Klasse und des jeweiligen Listeners
_root[bezeichner+'mcl'] = new MovieClipLoader();
_root[bezeichner+'ll'] = new Object();
_root[bezeichner+'ll'].onLoadProgress = function(movie:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
this.geladen = bytesLoaded;
this.total = bytesTotal;
this.prozent = Math.round((100/this.total)*this.geladen);
this.ziel = movie;// enthält den Pfad und Namen des jeweiligen Thumbnails
};
_root[bezeichner+'mcl'].addListener(_root[bezeichner+'ll']);
_root[bezeichner+'mcl'].loadClip(image,img);
//Erstellt den MovieClip für die Ladeanzeige
loader_mc = target.createEmptyMovieClip(bezeichner+'loader', target.getNextHighestDepth());
loader_mc.beginFill(0x333333,100);
loader_mc.lineStyle(0);
loader_mc.moveTo(0,0);
loader_mc.lineTo(1,0);
loader_mc.lineTo(1,5);
loader_mc.lineTo(0,5);
loader_mc.endFill();
//Positioniert den "loader_mc"-MovieClip mittig im Parent-MovieClip
loader_mc._y = (target._height-loader_mc._height)/2;
loader_mc._x = (target._height-(tbSize-10))/2;
// Erstellt das onEnterFrame-Event für die Aktualisierung der Anzeige
loader_mc.onEnterFrame = function() {
this._width = ((tbSize-10)/100)*_root[bezeichner+'ll'].prozent;
if (_root[bezeichner+'ll'].prozent == 100) {
this._alpha -= 10;
_root[bezeichner+'ll'].ziel._alpha += 10;
if (_root[bezeichner+'ll'].ziel._alpha>=100) {
delete this.onEnterFrame;
hover(target);
}
}
};
}
function hover(target) {
target.onRollOver = function() {
this.onEnterFrame = function() {
this._alpha += 10;
if (this._alpha>=100) {
this._alpha = 100;
delete this.onEnterFrame;
}
};
};
target.onRollOut = function() {
this.onEnterFrame = function() {
this._alpha -= 5;
if (this._alpha<=30) {
this._alpha = 30;
delete this.onEnterFrame;
}
};
};
target.onRelease = function() {
playFadeOut();
loadImage(images_gr[target.num]);// zugreifen auf den Index des Arrays mit der entsprechenden Bild-Id
};
}
function fadeOut(clip) {
clip.onEnterFrame = function() {
this._y += 15;
this._alpha -= 10;
if (this._alpha<=0) {
delete this.onEnterFrame;
}
};
}
function playFadeOut() {
time = 800;
interval = time/images.length;
for (i=0; i<=images.length; i++) {
_root['container'+i].enabled = false;// deaktiviert die Schaltflächenfunktionen
setTimeout(fadeOut,time-(interval*i),_root['container'+i]);
}
}
function loadImage(pfad) {
// Zeichnet den Rahmen und die Hintergrundfarbe
con = _root.createEmptyMovieClip('bigImgContainer', _root.getNextHighestDepth());
con.beginFill(0xEEEEEE,100);
con.lineStyle(0,0xCCCCCCC);
con.moveTo(0,0);
con.lineTo(210,0);
con.lineTo(210,20);
con.lineTo(0,20);
con.endFill();
//Zentriert den MovieClip
con._x = (Stage.width-con._width)/2;
con._y = (Stage.height-con._height)/2;
// Erstellt den MovieClip fürs Bild, den MovieClipLoader und den Listener
imgCon = _root.createEmptyMovieClip('bigImg', _root.getNextHighestDepth());
_root.imageloader = new MovieClipLoader();
_root.imagelistener = new Object();
_root.imagelistener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
this.geladen = bytesLoaded;
this.total = bytesTotal;
this.prozent = Math.round((100/this.total)*this.geladen);
//trace(this.prozent);
};
_root.imageloader.addListener(_root.imagelistener);
_root.imageloader.loadClip(pfad,imgCon);
imgCon._alpha = 0;// Alpha des Bildes wird auf 0 gesetzt für die spätere Animation
loader_mc = con.createEmptyMovieClip(bezeichner+'loader', con.getNextHighestDepth());
loader_mc.beginFill(0x333333,100);
loader_mc.lineStyle(0);
loader_mc.moveTo(0,0);
loader_mc.lineTo(1,0);
loader_mc.lineTo(1,5);
loader_mc.lineTo(0,5);
loader_mc.endFill();
loader_mc._y = (loader_mc._parent._height-loader_mc._height)/2;
loader_mc._x = 5;
loader_mc.onEnterFrame = function() {
this._width = _root['imagelistener'].prozent*2;
if (_root['imagelistener'].prozent == 100) {
this._alpha -= 10;
if (this._alpha<=0) {
delete this.onEnterFrame;
viewImage(imgCon,con);
}
}
};
}
function acc(e, s, t) {
x = (e-s)/t;
return x;
}
function viewImage(image, container) {
container.onEnterFrame = function() {
// Zentriert das Bild in der Mitte der Bühne, "- (i)" verschiebt das Bild
image._x = (Stage.width-image._width)/2 - i;
image._y = (Stage.height-image._height)/2 - i;
// Animiert den Container mit der acc-Funktion
this._width += acc(image._width+6, this._width, 10);
this._height += acc(image._height+6, this._height, 10);
this._x = (Stage.width-this._width)/2 - i;
this._y = (Stage.height-this._height)/2 - i;
// Steuerung nach bestimmten Erfüllungen
if (this._width>=(image._width+5)) {
image._alpha += 5;
if (image._alpha>=100) {
delete this.onEnterFrame;
this.onRelease = function() {
this.enabled = false;
this.onEnterFrame = function() {
this._alpha -= 10;
image._alpha -= 10;
if (this._alpha<=0) {
delete this.onEnterFrame;
removeMovieClip(this);
removeMovieClip(image);
rePosition();
}
};
};
}
}
};
}
function rePosition() {
for (i=0; i<=images.length; i++) {
// Thumbnails repositionieren
_root['container'+i]._x = _root['container'+i].posX;
_root['container'+i]._y = _root['container'+i].posY;
//Thumbnails einblenden und aktivieren
_root['container'+i].onEnterFrame = function() {
this._alpha += 5;
if (this._alpha>=50) {
this._alpha = 50;
delete this.onEnterFrame;
this.enabled = true;
}
};
}
}
for (i=0; i<images.length; i++) {
newCon = imgContainer('container'+i, 0xCCCCCC, 0xEEEEEE, i);
_root['container'+i]._alpha = 30;
if (i>0 && i%imgPerRow == 0) {
startY += margin+tbSize;
_root['container'+i]._x = startX;
} else if (i == 0) {
_root['container'+i]._x = startX;
} else {
_root['container'+i]._x = _root['container'+(i-1)]._width+_root['container'+(i-1)]._x+margin;
}
_root['container'+i]._y = startY;
_root['container'+i].posX = _root['container'+i]._x;
_root['container'+i].posY = _root['container'+i]._y;
loadThumbs(_root['container'+i],images[i],'imgContainer'+i);
} |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Jul 2009
Beiträge: 14
| Noch ein Fehler
Ich habe auch das Problem, dass "nur" das große Bild, welches rein geladen wird, im Fullscreen Modus nicht Mittig platziert wird. Gibt es dafür auch eine Lösung? "verrutscht.jpg" zeigt dieses Problem. "richtig.jpg" zeigt die Korrekte Darstellung der Gallerie, wenn man auf das Frame kommt, wo das Script die Bilder rein läd. "Darstellungsfehler...jpg" zeigt was passiert, wenn ich auf das andere Frame springe, wo die zweite Gallerie reingeladen wird. (Sind für den Test die selben Bilder. Aber die richtigen Bilder werden geladen) |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Jul 2009
Beiträge: 14
|
Habe das mit zwei Externen swf gelößt. So sind keine Darstellungfehler zu sehen. Schade ist, gerade im dffline Betrieb, dass man nicht nur eine EXE hat, sondern auch ein paar SWFs. Sollte irgendwann mal jemand ne Idee haben, bitte schreiben. Ist aber nicht mehr dringend |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| container, gallery, unload |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Container Problem in einem Container | Marc Jech | Flash MX | 1 | 03-08-2006 08:30 |
| Containerproblem - Container-SWF hereinladen von einem anderen Container-SWF aus | lohbi | Flash Einsteiger | 6 | 20-05-2006 23:54 |
| Inhalt von Container zu Container übergeben | molog | Flash MX 2004 | 3 | 18-10-2004 22:15 |
| load movie in i++ container (und unload) | markus0007 | ActionScript 1 | 6 | 14-11-2003 18:19 |
| swf in container enthalt weiteren container funzt ned | zillatron | Flash 4 und Flash 5 | 21 | 09-02-2003 22:58 |