Dieses Mal (siehe PicLens in Flash mit Papervision3D 2,0 ) public-Code ( PicLens.as ), I, einige Teile des Codes überarbeitet hatte, richten Sie sie mit der neuesten Version von Papervision3D 2,0 Great White und ich machte einige Anpassungen und Ergänzungen. Ich habe in dieser Demo auch eine Reihe von Knob, Knöpfe enthalten, um bestimmte Laufzeit Parameter ändern.
Simulation der Bewegung PicLens
Um so nahe wie möglich an die horizontale Bewegung des PicLens original, habe ich ein wenig Trickserei durch Einfügen eines "nicht sichtbar" DisplayObject3D Ziel für den Raum:
1 2 3 | ; __fooTarget = new DisplayObject3D (); ... target = __fooTarget ; .. __bv cameraAsCamera3D __fooTarget = target; |
In der Praxis der Kamera immer auf die DisplayObject3D Bildergalerie hinter der Serie. Wenn die Kamera bewegt (mit einer beschleunigten Bewegung / Trägheit) auch DisplayObject3D , folgt aber mit einer leichten Verzögerung. Dies erlaubte mir, die Wirkung der Bewegung der weichen und sehr ähnlich wie auf dem Original PicLens durchgeführt zu machen:
1 2 | x + = ( ( __slider . Value - __bv . cameraAsCamera3D . x ) / 10 ) / 2.2 ; .. __bv cameraAsCamera3D x + = (.. (__slider. Value - __bv cameraAsCamera3D x) / 10) / 2.2; + = ( ( __slider . Value - __fooTarget . x ) / 5 ) / 2.2 ; __fooTarget x + = ((__slider. Value - __fooTarget x) / 5.) / 2,2.; |
Ich habe keine Tween verwendet, aber eine einfachere und leistungsfähigere Funktionen:
1 | Position + = ((posizionefinale - Position) / Beschleunigung) / Trägheit; |
In der Demo können Sie einige Parameter: Fokus, Zoom und Ziel. Dies ist die Position des DisplayObject3D als 99 Bilder! Durch die Veränderung dieser Position werden Sie feststellen, Veränderungen in der Bewegung die ganze Szene.
Fokus und Zoom sind umweltfreundlich Eigenschaften Papervision3D.
Interaktion
Versuchen Sie auf die Bilder ... ![]()












Projekt: Het Groente en Obst-Labor ...
Louis Bonduelle-Stiftung wurde für sterben Ein auf der Basis von kindgerechtes Informationsportal Adobe Flash Produziert. Aufgabe Krieg es, Den kindern vorteile und sterben Geheimen Superkräfte fruchten von und zu bringen Gemüse spielerisch Naher. Zusamme ...
Hallo ich dein Beispiel für den Stil Galerie PicLens getestet und ich muss sagen, ich liebte es, sind Ihre Werte noch nicht, aber ich studiere mehrere Tage und ich slam meinem Kopf, wie man einen Filter auf ein einzelnes img passieren.
Sie legen ein Stück von meinem Code, um besser zu erklären,
DELI IN CYCLE, wo Sie das Gitter mit INSERT IMG:
und dann erstelle ich die folgende Funktion
2
3
4
e . displayObject3D , 'z' , Strong . easeOut , e . displayObject3D . z , - 10 , 1 , true ) ; neue Tween (and. displayObject3D, 'z', Strong easeOut und displayObject3D z, - 10, 1, true...);
filters = [ new GlowFilter ( 0xffffff , 0.60 , 10 , 10 , 2 , 1 ) ] ; .. und Sprites Filter = [new GlowFilter (0xffffff, 0,60, 10, 10, 2, 1)];
}
Auf diese Weise würde ich Rollover die Lichter ... einzigen IMG möchten.
nur so wird der Filter auf alle zugewiesenen, aber wenn ich so sagen img
e.displayObject3Dmir Fehlerein Beispiel umzusehen fand ich, dass Papervision verwendet
InteractiveSceneManagereinen Filter auf ein Ereignis würden Sie wissen, zuweisen ... Über mich beraten, wie Sie es in Ihrem Beispiel vorangehen?wie es mir der Fehler weiterhin?
Vielen Dank
@ MairoN001: Sie hat alles richtig gemacht! Fügen Sie einfach eine Zeile bei der Erstellung von Objekten. aggiungi: In der Praxis, wenn das temporäre Objekt initialisiert
photo1, in der Schleife der Schöpfung, voraddEventLister()hinzu:photo1.useOwnContainer = true;Im Falle
fnc_ObjRlOverso etwas wie:e.displayObject3D.filters = [new GlowFilter (0xffffff, 0,6, 10,10,2,1)];und alles wird funktionieren!
Vielen Dank für die Antwort, die perfekt funktioniert nur mit "useOwnContainer"
Klicken Sie auf deaktiviert.
Ich habe rund um die Werke auf r577 aber nicht auf die 578 zu sehen +
Die Freisetzung ich benutze, ist das Great White 9. September 9, 2008.
Ich werde sehen, ob ich eine Lösung in der Zwischenzeit Dokument kann finde ich wäre dankbar, wenn Sie könnten Sie mir mehr darüber.
Jedenfalls vielen Dank für die Antwort.
Ok ich eine Lösung gefunden, funktioniert jetzt die Hälfte der klicken, aber nicht das Double Click =)
Ort meine temporäre Lösung also, wenn es sein sollte nützlich qualkun'altro sicher lesen.
Von dem, was ich habe um in Papervision Filter auf die Grundelemente gelten gesehen müssen Viewport Ebenen. Vielleicht haben Sie den Code leichter zu verstehen
DAS PAKET:
org.papervision3d.view.layer.ViewportLayer Einfuhren;Im Unterricht:
private var layer: ViewportLayer;DIE FUNKTION:
initObjects2
3
4
addChild ( photo1 ) ; . __BasicVw Szenen AddChild (photo1).;
getChildLayer ( photo1 , true ) ; .. layer = __BasicVw Ansichtsfenster getChildLayer (photo1, true);
( InteractiveScene3DEvent . OBJECT_OVER , fnc_ObjRlOver ) photo1. addEventListener (InteractiveScene3DEvent. OBJECT_OVER, fnc_ObjRlOver)
DIE FUNKTION:
fnc_ObjRlOverIch hoffe, dieser Code kann nützlich sein, andere munter den Ort, den ich verloren 3 Tage, um herauszufinden, wie man einen Filter auf eine Ebene stellen in PVS3D mit dieser Lösung funktioniert, aber nicht die auf das Doppelte zu verstehen versuchen, warum und wenn ich entdecken den Ort ... immer und immer wieder Dank für die Ratschläge, ohne dass Anreiz, die, wie lange ich wieder verloren XD weiß
@ MairoN001: ausgezeichnete Berichterstattung! Wir werden sehen, was dabei heraus kommt
Sie haben noch die neueste Version von Papervision3D? Warum haben offiziell die Version 2.0 herausgegeben, der Entnahme aus dem Beta-Zweig.
Tortoise und jeden Tag benutzen ganzen riuppo
@ MairoN001: perfekt! Es war genau das, was ich wissen wollte! Ich benutze auch Tortoise SVN
und bevor ich anfangen die Entwicklung einer guten "Update" 
Ich muss sagen, dass Schildkröte ist eine Software, sehr nützlich und ich weiß, dass ein paar Tagen werde ich Ihnen bei Fragen im Zusammenhang mit der Galerie = Folter)
Weiterbildung zur Galerie ich nicht helfen konnte, aber feststellen, dass in den Zyklus der Img 4 beginnen zu analysieren .. Ich denke, es liegt an inneren Schleife qualke zu Papervision3D nicht wahr? könnten Sie mir sagen warum?
thk u
@ MairoN001: wo genau Sie sah diese Klicken Sie auf Senden
forvon 4?Funktion:
initObjectZyklus:
for (var i = 0; i <__thnumber; i + +)der Zyklus bewegt sich regelmäßig, aber Pläne beginnen mit "ID4" anstelle von "0"
Ich bemerkte dabei das für eine Spur
trace ("FLUGZEUG ID =" + __bv.scene.getChildByName (String (i)))Nach dem Foto zugeordnet Pläne
Die ersten 4 sind null Spur o_0 "
Noch ein Tipp für diejenigen, die wollten schon immer auf der Galerie nach dem Vorbild der PicLens Arbeit:
an der Zeit, wenn Sie auf ein Foto clik vergrößert die img, aber wenn es vorher angeklickt worden anderen nicht ausgewählten sollten in ihre ursprüngliche Position zurückkehren, um zu sehen, mehr und größere nur eine ausgewählte, von hier aus ich ein Problem hatte qualke so I geprüft und untersucht, wie zu ihrer Ebene zu schaffen und zur Verfügung gestellt, um die Fotos hin und her neu gioketto musste ich einen Listener klickt auf den Anhang zu erstellen, wie folgt:
FUNCTION
initObject:FUNKTION:
fnc_ObjClk2
3
4
5
6
7
8
9
10
11
12
Number = 0 ; var k: Anzahl = 0;
4 ; // HACK PER PLANE SU PV3D CHE PARTONO DA 4 allThb THUMBNAIL_NUMBER var = + 4 / / HACK FOR Flugzeug auf PV3D ab 4
k= 4 ; k & lt ; allThb ; k ++ ) // IN QUESTO MODO I PRIMI 4 VUOTI LI SALTA for (k = 4, k & lt; allThb k + +) / / auf diese Weise in den ersten 4 EMPTY sie überspringen
{
obj_select ! = k ) if (obj_select! = k)
{
Plane = __bv . scene . getChildByName ( String ( k ) ) as Plane ; . Jede var: = Ebene __bv Szenen getChildByName (. String (k)) als Ebene;
Any , 'z' , Strong . easeOut , Any . z , 0 , 1 , true ) ; neue Tween (Any, 'z', Strong easeOut, Any z, 0, 1, true..);
}
}
Ich hoffe, es kann hilfreich sein =)
@ MairoN001: Im Hinblick auf den Zyklus beruht auf tiefen Niveaus mit Papervision assoziiert, was relevant für die Beendigung der Operation des Codes
PicLens [...] in Flash mit Papervision3D 2.0: Part II http://www.undolog.com/2008/06/17/piclens-in-flash-con-papervision3d-20-parte-ii/ [... ]