| |||||||
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: Jun 2002 Ort: München
Beiträge: 2.904
| alle bilder aus eine ordner laden (dynamisch) / transistion
hallo hab von einer seite eine sehr schöne transition: Code: var rate = 5;
var focallength = 250;
var maxheight = 100;
var origin = new flash.geom.Point(150, 300);
var images = ["hil", "mtn", "ice"];
var blurfilter = new flash.filters.BlurFilter(0,0,1);
var shadowfilter = new flash.filters.DropShadowFilter(0,45,0x0, .20, 0,0, 1, 1, false,false,false);
var raisedepth = 0;
var imagesindex = 0;
var basepoint = new flash.geom.Point(0,0);
var transbmp = new flash.display.BitmapData(300,300);
var transclips;
click_mc.swapDepths(2);
loadTransBitmap( images[imagesindex] );
var clips = createGrid(this, 1, transbmp, 10, 10);
function onMouseDown(){
loadTransBitmap( getNextImage() );
startTransition(clips, transbmp, speed, delay);
}
function getNextImage(){
imagesindex++;
imagesindex %= images.length;
return images[imagesindex];
}
function loadTransBitmap(id){
var tempbmp = flash.display.BitmapData.loadBitmap(id);
transbmp.copyPixels(tempbmp, tempbmp.rectangle, basepoint);
tempbmp.dispose();
}
function createGrid(target, targdepth, sourcebmp, cols, rows){
target.createEmptyMovieClip("transition_mc", targdepth);
target.transition_mc.createEmptyMovieClip("reveal_mc", 0);
var grid = target.transition_mc.createEmptyMovieClip("grid_mc", 1);
var col, row;
var refRect = new flash.geom.Rectangle(0,0,0,0);
var clips = new Array();
clips.reveal = target.transition_mc.reveal_mc;
clips.reveal.bitmap = sourcebmp.clone();
clips.reveal.attachBitmap(clips.reveal.bitmap, 1);
var mc;
var depth = 0;
for (col = 0; col < cols; col++){
refRect.top = 0;
refRect.left = refRect.right;
for (row = 0; row < rows; row++){
refRect.right = Math.round(sourcebmp.width * (col+1)/cols);
refRect.bottom = Math.round(sourcebmp.height * (row+1)/rows);
mc = grid.createEmptyMovieClip("grid"+row+"_"+col, depth);
mc.depth = depth;
mc.rect = refRect.clone();
mc._x = mc.rect.left;
mc._y = mc.rect.top;
mc.x = mc.rect.left;
mc.y = mc.rect.top;
mc.elevation = 0;
mc.bitmap = new flash.display.BitmapData(mc.rect.width, mc.rect.height, true, 0);
mc.bitmap.copyPixels(sourcebmp, mc.rect, basepoint);
mc.attachBitmap(mc.bitmap, 1);
clips.push(mc);
depth++;
refRect.top = refRect.bottom;
}
}
return clips;
}
function startTransition(clips, transbmp, speed, delay){
transclips = clips.slice();
raisedepth = 2*transclips.length;
clips.reveal.bitmap.draw(transbmp);
onEnterFrame = transOnEnterFrame;
}
function transOnEnterFrame(){
var i = rate;
var rand, clip;
while(i--) {
rand = Math.floor(Math.random()*transclips.length);
clip = transclips.splice(rand,1)[0];
clip.onEnterFrame = transClipOnEnterFrame;
clip.swapDepths(raisedepth);
raisedepth--;
if (!transclips.length){
break;
delete this.onEnterFrame;
}
}
}
function transClipOnEnterFrame(){
this.elevation += speed;
if (this.elevation > maxheight){
resetClip(this);
delete this.onEnterFrame;
}else{
renderClip(this);
}
}
function resetClip(mc){
mc.elevation = 0;
mc.x = mc.rect.left;
mc.y = mc.rect.top;
mc.bitmap.copyPixels(clips.reveal.bitmap, mc.rect, basepoint);
mc.swapDepths(mc.depth);
renderClip(mc);
}
function renderClip(mc){
var scaleratio = focallength/(focallength - mc.elevation);
mc._x = origin.x + (mc.x - origin.x)*scaleratio;
mc._y = origin.y + (mc.y - origin.y)*scaleratio;
mc._xscale = 100*scaleratio;
mc._yscale = 100*scaleratio;
blurfilter.blurX = blurfilter.blurY = Math.floor(mc.elevation/10);
shadowfilter.distance = mc.elevation;
mc.filters = [shadowfilter, blurfilter];
} var images = ["hil", "mtn", "ice"]; (für img_hil.jpg usw.) wie muss ich das umändern, dass er in einen ordner schaut und alle bilder aus diesem ordner holt ???? danke grüße p.s. so sieht das übrigens aus: http://www.senocular.com/pub/flash/8...aisetransition |
| | |
| | #2 (permalink) |
| Euer Nuser Registriert seit: Apr 2004 Ort: Sand-City
Beiträge: 3.483
|
Dü könntest die Ordner in einem xml verzeichnen, das Du als XML-Object reinlädst. In Dein Array images = []; pushst Du alle childknoten, die die Beschreibung zum jeweiligen Bild enthalten, also was weiß ich fortfolgend zu "hil", "ice" ... "valley" usw... Wo setzt'n den Pfad zum Bild zusammen? (also hill.jpg)? Flash weiß ja kaum was mit "hil" anzufangen" ... --pp
__________________ Die Krinimalpolizei gibt bekannt: |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Jun 2002 Ort: München
Beiträge: 2.904
|
naja, bin nicht sooo fit, dass ich alles 100%ig verstehe. aber so mit dem "hil", "bl" usw. funktioniert das ja irgendwie. achsooo, es wurde dann wahrscheinlich in der bibliothek gesetzt, gel!? kannst du das mit dem xml nen bissle genauer beschreiben danke |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |