Animation über Textverknüpfung
-
- Beiträge: 7
- Registriert: 05.03.2008, 11:54
Animation über Textverknüpfung
Hallo,
zuerst muss ich sagen, das ich dem Gebiet JavaScript bisher absoluter Anfänger bin.
Ich habe folgendes versucht:
1. Aus dem Beispiel Greifer_Anim_JS.pdf in dem 3D-Toolkit habe ich das 3D Modell mit der Animation als separate .u3D Datei abgespeichert.
2. Leere PDF Datei (eine Seite) .u3D-Datei als 3D Objekt importiert.
3. Button definiert und als Aktion JavaScript ausführen angegeben.
4. Das Originalscript des Schalters Animation An/Aus als Script verwendet
Resultat: Keine Steuerung der Animation wie im Orginaldokument.
Was fehlt ?
Michael
zuerst muss ich sagen, das ich dem Gebiet JavaScript bisher absoluter Anfänger bin.
Ich habe folgendes versucht:
1. Aus dem Beispiel Greifer_Anim_JS.pdf in dem 3D-Toolkit habe ich das 3D Modell mit der Animation als separate .u3D Datei abgespeichert.
2. Leere PDF Datei (eine Seite) .u3D-Datei als 3D Objekt importiert.
3. Button definiert und als Aktion JavaScript ausführen angegeben.
4. Das Originalscript des Schalters Animation An/Aus als Script verwendet
Resultat: Keine Steuerung der Animation wie im Orginaldokument.
Was fehlt ?
Michael
-
- Beiträge: 7
- Registriert: 05.03.2008, 11:54
Animation über Textverknüpfung
Meine Frage hat sich erledigt.
Gruß
Michael
Gruß
Michael
Animation über Textverknüpfung
dann wäre es toll, wenn du die lösung auch noch postest
Animation über Textverknüpfung
Hi Mavue,
gute Antwort
Danke,
Andi
gute Antwort

Danke,
Andi
-
- Beiträge: 7
- Registriert: 05.03.2008, 11:54
Animation über Textverknüpfung
Die Lösung ist sich gewisse Sachen ganz genau durchzulesen.
Diese "Lösung" kann ich jedem empfehlen.
(Zur Erklärung: Ich hatte beim ersten Lesen die Einbindung der Datei Animation_Controller übersehen).
Nächste Frage:
Ich habe eine PDF Datei mit verschiedenen Animationen die über Buttons aktiviert werden (hierbei werden auch unterschiedliche Teile ein- und ausgeblendet). Wenn ich während einer laufenden Animation einen Button zum Starten einer anderen Animation drücke, passiert es des öfteren das zwar wie geplant die zur Animation gehörigen Teile ein- bzw. ausgeblendet werden, jedoch die "alte" Animation weiterläuft. Der Zustand kann nur durch 3D deaktivieren und aktivieren wieder auf die Reihe bekommen werden. Wie lässt sich das für jeden Button per Java realisieren ?
Mit reset bin ich nicht richtig weitergekommen.
MfG
Michael
Diese "Lösung" kann ich jedem empfehlen.

(Zur Erklärung: Ich hatte beim ersten Lesen die Einbindung der Datei Animation_Controller übersehen).
Nächste Frage:
Ich habe eine PDF Datei mit verschiedenen Animationen die über Buttons aktiviert werden (hierbei werden auch unterschiedliche Teile ein- und ausgeblendet). Wenn ich während einer laufenden Animation einen Button zum Starten einer anderen Animation drücke, passiert es des öfteren das zwar wie geplant die zur Animation gehörigen Teile ein- bzw. ausgeblendet werden, jedoch die "alte" Animation weiterläuft. Der Zustand kann nur durch 3D deaktivieren und aktivieren wieder auf die Reihe bekommen werden. Wie lässt sich das für jeden Button per Java realisieren ?
Mit reset bin ich nicht richtig weitergekommen.
MfG
Michael
Animation über Textverknüpfung
Hallo alle zusammen,
ich bin neu hier und verfolge gespannt eure Konversation und probiere das hier nachzuvollziehen.
Wenn ich es anhand eurer Animationen mache funktionierts, wenn ich selbst eine Animation erstelle spielt es alles ab.
Wie kann ich
[font=arial]C3D.MyAnimation.setPlayRange(0,4)
[/font]
mit meinen Bauteilen verknüpfen. Muss ich das im Toolkit definieren?
Würde mich über ne Ino freuen
Bis denne
Hildy
ich bin neu hier und verfolge gespannt eure Konversation und probiere das hier nachzuvollziehen.
Wenn ich es anhand eurer Animationen mache funktionierts, wenn ich selbst eine Animation erstelle spielt es alles ab.
Wie kann ich
[font=arial]C3D.MyAnimation.setPlayRange(0,4)
[/font]
mit meinen Bauteilen verknüpfen. Muss ich das im Toolkit definieren?
Würde mich über ne Ino freuen
Bis denne
Hildy
Animation über Textverknüpfung
Hi,
Du kannt 2 Wege gehen:
1. Wenn Du alles in einer "Liniue" nacheinander animierst, kannst Du eben über diesen Playrange eine gewisse Sekundenanzahl aus deiner linearen Animation herausgreifen.
2. Wenn Du teile unabhängig voneinander animieren möchtest (Klassiker Auto: erst Fahrertüre, dann Beifahrertüre, dann Kofferraum öffnen, aber in ganz anderer Reihgenfolge wieder schließen, ohne die anderen geometrien davon zu beeinflussen) , solltest Du über Animationssequenzen im Toolkit arbeiten. Damit ist es möglich voneinander unabhängige Animationen zu gestalten, die aber den Animationstatus der anderen geometrien nicht beeinflussen. Diese Sequenzen müssen dann über eine Anpassung im JavaScript (Animation_Controller) angesprochen werden. Die der letzen Zeile in diesem Script:
Musst Du dann einerseits die Zahl hinter "getByIndex" austauschen um somit Deine einzelnen Sequenzen anzusprechen (diese werden einfach durchgezählt) wie aber auch den Namen der variablen "MyAnimation" natürlich ebenso entsprechend ändern. Also beispielsweise "MyAnimation01", 02, 03...
Du kannst aber auch anstatt dem "getByIndex(Zahl)" ein "getByName("Sequenzname")" verwenden.
Gruß,
Andreas Vogel
Du kannt 2 Wege gehen:
1. Wenn Du alles in einer "Liniue" nacheinander animierst, kannst Du eben über diesen Playrange eine gewisse Sekundenanzahl aus deiner linearen Animation herausgreifen.
2. Wenn Du teile unabhängig voneinander animieren möchtest (Klassiker Auto: erst Fahrertüre, dann Beifahrertüre, dann Kofferraum öffnen, aber in ganz anderer Reihgenfolge wieder schließen, ohne die anderen geometrien davon zu beeinflussen) , solltest Du über Animationssequenzen im Toolkit arbeiten. Damit ist es möglich voneinander unabhängige Animationen zu gestalten, die aber den Animationstatus der anderen geometrien nicht beeinflussen. Diese Sequenzen müssen dann über eine Anpassung im JavaScript (Animation_Controller) angesprochen werden. Die der letzen Zeile in diesem Script:
Code: Alles auswählen
var MyAnimation = new AnimationController(scene.animations.getByIndex(0));
Du kannst aber auch anstatt dem "getByIndex(Zahl)" ein "getByName("Sequenzname")" verwenden.
Gruß,
Andreas Vogel
Animation über Textverknüpfung
Hallo,
da war ich auf dem Schlauch gestanden. Wenn die Ani nur 1 Sec. hat geht halt nicht Viel.
Das mit den Sequenzen ist aber die bessere Lösung in meinen Augen. Hab hier schöne Animationen erstellt.
Also Danke für die prompte Hilfe.
Hildy
da war ich auf dem Schlauch gestanden. Wenn die Ani nur 1 Sec. hat geht halt nicht Viel.
Das mit den Sequenzen ist aber die bessere Lösung in meinen Augen. Hab hier schöne Animationen erstellt.
Also Danke für die prompte Hilfe.
Hildy
Animation über Textverknüpfung
Hi Hildy,
Du weisst hoffentlich, dass es hier auch einen Berich für Beispiel-PDFs gibt. Wenn Du also schöne hast, lass sie doch mal sehen
Gruß,
Andi Vogel
Du weisst hoffentlich, dass es hier auch einen Berich für Beispiel-PDFs gibt. Wenn Du also schöne hast, lass sie doch mal sehen

Gruß,
Andi Vogel
Animation über Textverknüpfung
reset() funktioniert nicht!
Habe 2 Sequenzen im Toolkit angelegt und kann diese nach Änderung im Select+Animationcontroller.js (habe 2 Variablen definiert mit MyAnimation00 und MyAnimation01) auch im Acrobat per JavaSkript ansteuern.
Die Funktion play() mit den Parameter setPlayRange; setCurrentPosition; setPlaySpeed; setPlayForward funktioniert auch prima für beide Sequenzen mit diesem Script:
var C3D = getAnnots3D(0)[0].context3D;
C3D.MyAnimation01.setPlayRange(0,1.5);
C3D.MyAnimation01.setCurrentPosition(0);
C3D.MyAnimation01.setPlaySpeed(1);
C3D.MyAnimation01.setPlayForward(true);
C3D.MyAnimation01.setPingPong(false);
C3D.MyAnimation01.play();
Leider funktioniert die Funktion reset() nicht
Woran kann es liegen, dass rest() nicht funktioniert? Springe über PlayRange an unterschiedlichen Stellen mit der Play-Funktion. Kommt damit für die Reset-Funktion die "CurrentPosition" durcheinander?
So gehts jedenfalls nicht:
var C3D = getAnnots3D(0)[0].context3D;
C3D.MyAnimation01.setPlayRange(0,1.5);
C3D.MyAnimation01.setCurrentPosition(0);
C3D.MyAnimation01.setPlaySpeed(1);
C3D.MyAnimation01.setPlayForward(true);
C3D.MyAnimation01.setPingPong(false);
C3D.MyAnimation01.reset();
Habe 2 Sequenzen im Toolkit angelegt und kann diese nach Änderung im Select+Animationcontroller.js (habe 2 Variablen definiert mit MyAnimation00 und MyAnimation01) auch im Acrobat per JavaSkript ansteuern.
Die Funktion play() mit den Parameter setPlayRange; setCurrentPosition; setPlaySpeed; setPlayForward funktioniert auch prima für beide Sequenzen mit diesem Script:
var C3D = getAnnots3D(0)[0].context3D;
C3D.MyAnimation01.setPlayRange(0,1.5);
C3D.MyAnimation01.setCurrentPosition(0);
C3D.MyAnimation01.setPlaySpeed(1);
C3D.MyAnimation01.setPlayForward(true);
C3D.MyAnimation01.setPingPong(false);
C3D.MyAnimation01.play();
Leider funktioniert die Funktion reset() nicht

Woran kann es liegen, dass rest() nicht funktioniert? Springe über PlayRange an unterschiedlichen Stellen mit der Play-Funktion. Kommt damit für die Reset-Funktion die "CurrentPosition" durcheinander?
So gehts jedenfalls nicht:
var C3D = getAnnots3D(0)[0].context3D;
C3D.MyAnimation01.setPlayRange(0,1.5);
C3D.MyAnimation01.setCurrentPosition(0);
C3D.MyAnimation01.setPlaySpeed(1);
C3D.MyAnimation01.setPlayForward(true);
C3D.MyAnimation01.setPingPong(false);
C3D.MyAnimation01.reset();