| |||||||
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: Feb 2002
Beiträge: 33
| Bilder laden+skalieren manchmal falsch
Hallo allerseits, in der Flash-Entwicklungsumgebung funktioniert alles perfekt, online normalerweise auch - aber eben nicht immer, und ich kann nicht nachvollziehen, woran es hängt... Manchmal werden einzelne Bilder nicht skaliert, während die restlichen Bilder ganz normal angezeigt werden. Manchmal werden auch einzelne Bilder als rote Fläche dargestellt - dann aber in der Skalierung, die das Bild haben sollte. Ich habe keinen Schimmer, wo das herkommt, da jedes Bild in einen leeren MC geladen wird. Wann diese Effekte auftreten, kann ich einfach nicht verlässlich nachvollziehen - wenn ich die Seite im Browser neu lade stimmt wieder alles. Dachte daher erst an Caching-Probleme - taucht aber manchmal auch direkt nach dem Cache-Leeren auf. Irgendwelche Hinweise, woran sowas liegen kann? Gibt's irgendwelche bekannten Flash-Probleme beim Laden großer Bildmengen? Es sind etwa 20MB, die hier nachgeladen werden. (ich weiß, ich weiß... aber der Kunde will sie nicht stärker komprimieren...) Die Seite: www.lichtpixel.com/ueoe/ Zur Technik: Alle Bild-URLs stehen in einem Array, erst wenn ein Bild geladen ist, wird das Laden des nächsten Bildes angestoßen. Stark gekürzt: Code: function loadPic(loadPicAct) {
ref.loadMovie(images[loadPicAct]);
this.onEnterFrame = function() {
var gesamt:Number = ref.getBytesTotal();
var geladen:Number = ref.getBytesLoaded();
var prozent:Number = Math.ceil((geladen/gesamt)*100);
if (prozent == 100 && geladen>4) {
//hier kommt dann einiges an Skalierungsfunktionen je nach Bild...
loadPic(nextpic);
}
}
} Code: images = new Array("img/11.jpg","img/111.jpg","img/112.jpg","img/113.jpg","img/12.jpg","img/121.jpg","img/122.jpg","img/13.jpg","img/131.jpg",
"img/132.png","img/21.jpg","img/211.jpg","img/212.jpg","img/213.jpg","img/22.jpg","img/221.jpg","img/222.jpg","img/23.png","img/231.jpg","img/31.jpg",
"img/311.jpg","img/312.jpg","img/313.jpg","img/32.jpg","img/321.jpg","img/322.jpg","img/33.jpg","img/331.jpg","img/332.jpg","img/41.jpg","img/42.jpg","img/223.swf");
vollbild = new Array("img/13.jpg","img/131.jpg","img/222.jpg","img/41.jpg","img/42.jpg");
vollflaeche = new Array("img/23.png","img/33.jpg","img/331.jpg","img/332.jpg");
scrollbar = new Array("img/211.jpg","img/223.swf");
images_loaded = new Array();
function loadPic(loadPicAct) {
if (loadPicAct<images.length && images_loaded.indexOf(images[loadPicAct]) == -1) {
var id = images[loadPicAct].substring(images[loadPicAct].indexOf("/")+1,images[loadPicAct].indexOf("."));
if (scrollbar.indexOf(images[loadPicAct]) != -1) var ref = eval("page"+id).imgscroll.scrollfield;
else var ref = eval("page"+id).img;
refheight = pagemcheight["page"+id];
refwidth = ref._parent._width;
ref._alpha = 0;
var timestamp = new Date().getTime();
ref.loadMovie(images[loadPicAct]+"?reload="+timestamp);
//ref.loadMovie(images[loadPicAct]);
this.onEnterFrame = function() {
var gesamt:Number = ref.getBytesTotal();
var geladen:Number = ref.getBytesLoaded();
var prozent:Number = Math.ceil((geladen/gesamt)*100);
if (prozent == 100 && geladen>4) {
//trace("geladen "+loadPicAct+" "+ref+" "+images[loadPicAct]);
tracing += id+" ";
images_loaded.push(images[loadPicAct]);
if (vollbild.indexOf(images[loadPicAct]) != -1) {
var scalefactor = pwidth / (ref._width*pagescalefactor);
if (ref._height * scalefactor < Stage.height) {
scalefactor = refheight / (ref._height*pagescalefactor);
}
ref._height *= scalefactor;
ref._width *= scalefactor;
if (id==41 || id==42) {
//if (id == 41) tracing = " "+ref._x+" "+ref._width+" "+pagescalefactor+" "+refwidth+" "+ref._parent._width+" "+pwidth;
ref._x -= (ref._parent._width - pwidth) / pagescalefactor;
//if (id ==41) tracing += " "+ref._x;
}
} else if (vollflaeche.indexOf(images[loadPicAct]) != -1 && images[loadPicAct] != "img/23.png") {
var scalefactor = (pwidth / ref._width) / pagescalefactor;
ref._height *= scalefactor;
ref._width *= scalefactor;
ref._y = ((Stage.height / pagescalefactor) * 1.01 - ref._height);
} else {
if (images[loadPicAct] == "img/211.jpg") { //scrollbar vertical
var scalefactor = 534 / ref._width;
} else if (images[loadPicAct] == "img/223.swf") { //scrollbar horizontal
var scalefactor = 382 / ref._height;
} else if (images[loadPicAct] == "img/132.png") {
var scalefactor = ((refwidth / ref._width) / pagescalefactor) * 1.02;
audio = new Sound(this);
page132.b_pp.onRelease = function() {
if (page132.b_play._visible == true) {
page132.b_play._visible = false;
page132.b_pause._visible = true;
audio.loadSound("dom.mp3", true);
} else {
page132.b_play._visible = true;
page132.b_pause._visible = false;
audio.stop();
}
}
} else if (images[loadPicAct] == "img/21.jpg") {
var scalefactor = (ref._parent.nav._height / ref._height) * 1.06;
} else if (images[loadPicAct] == "img/212.jpg") {
var scalefactor = ((refwidth * 0.93) / ref._width) / pagescalefactor;
} else if (images[loadPicAct] == "img/213.jpg") {
var scalefactor = ((refheight * 0.69) / ref._height) / pagescalefactor;
} else if (images[loadPicAct] == "img/221.jpg") {
var scalefactor = ((refwidth * 0.8) / ref._width) / pagescalefactor;
} else if (images[loadPicAct] == "img/23.png") {
var scalefactor = ((refheight * 0.46) / ref._height) / pagescalefactor;
} else if (images[loadPicAct] == "img/231.jpg") {
var scalefactor = ((refwidth * 0.88) / ref._width) / pagescalefactor;
} else if (images[loadPicAct] == "img/31.jpg" || images[loadPicAct] == "img/311.jpg" || images[loadPicAct] == "img/312.jpg" || images[loadPicAct] == "img/313.jpg") {
var scalefactor = ((refheight * 0.595) / ref._height) / pagescalefactor;
} else if (images[loadPicAct] == "img/32.jpg" || images[loadPicAct] == "img/321.jpg" || images[loadPicAct] == "img/322.jpg") {
var scalefactor = ((refheight * 1) / ref._height) / pagescalefactor;
} else if (images[loadPicAct] == "img/12.jpg" || images[loadPicAct] == "img/121.jpg" || images[loadPicAct] == "img/122.jpg") {
var scalefactor = ((refheight * 0.775) / ref._height) / pagescalefactor;
} else {
var scalefactor = ((refheight * 0.81) / ref._height) / pagescalefactor;
}
ref._height *= scalefactor;
ref._width *= scalefactor;
if (scrollbar.indexOf(images[loadPicAct]) == -1 && images[loadPicAct] != "img/32.jpg" && images[loadPicAct] != "img/321.jpg" && images[loadPicAct] != "img/322.jpg") {
ref._x -= ref._width / 2;
}
if (images[loadPicAct] == "img/231.jpg") {
ref._x -= ref._width / 17;
}
}
ref.forceSmoothing = true;
ref._alpha = 0;
new Tween(ref, "_alpha", Strong.easeOut, ref._alpha, 100, 1, true);
new Tween(ref._parent.imgpreloader, "_alpha", Strong.easeOut, ref._parent.imgpreloader._alpha, 0, 1, true);
var t = eval("timer_preloader"+loadPicAct);
t = setTimeout(setval, 1000, ref._parent+".imgpreloader._visible", false);
if (images_loaded.indexOf("img/"+page+".jpg") == -1 && images_loaded.indexOf("img/"+page+".png") == -1 && images_loaded.indexOf("img/"+page+".swf") == -1) {
var nextpic = images.indexOf("img/"+page+".jpg");
if (nextpic == -1) nextpic = images.indexOf("img/"+page+".png");
if (nextpic == -1) nextpic = images.indexOf("img/"+page+".swf");
if (nextpic == -1) nextpic = (loadPicAct*1)+1;
} else {
nextpic = (loadPicAct*1)+1;
}
loadPic(nextpic);
}
};
} else if (loadPicAct<images.length) { // load next pic if current is already loaded
loadPic((loadPicAct*1)+1);
} else if (images.length > images_loaded.length) { // restart at beginning if not all pics loaded yet
loadPic(0);
} else { // done
trace("alle geladen");
preloader._visible = false;
delete this.onEnterFrame;
}
}
loadPic(0); Geändert von curiosity (12-05-2010 um 11:57 Uhr) |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Feb 2002
Beiträge: 33
|
Hat sich erledigt... Hab zwar keine Ahnung, was das Problem ist, aber da bei fehlerhaftem Laden seltsame Werte rauskommen, kann ich das abragen, das Bild per unloadMovie() rausschmeißen und nochmal laden... teilweise mehrfach hintereinander, irgendwann klappt's dann... |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Bilder laden und skalieren | eichhoff | Flash CS3 Professional | 2 | 08-02-2009 14:51 |
| Bilder dynamisch laden und skalieren | framic | Flash Einsteiger | 7 | 15-01-2007 10:22 |
| viele bilder dyn. laden und skalieren | ToKo | Softwarearchitektur und Entwurfsmuster | 2 | 18-12-2004 14:21 |
| Bilder laden mit loadMovie und skalieren | FoV | Flash MX 2004 | 2 | 14-10-2004 06:55 |
| bilder laden und skalieren | nky | Flash MX | 9 | 07-07-2002 14:45 |