*   >> Læs Uddannelse artikler >> science >> programming

Papervision 3D Programmering Tutorial - Tweener

SE DEMODOWNLOAD KODEN

Hvor ofte vil du flytte et objekt af nogle foruddefinerede beløb over en vis periode? Ligesom "flytte til dette punkt i 2 sekunder". Denne form for bevægelse over en tidsskala er hjørnestenen i animation og scripting. Desværre at gennemføre dette i koden er ganske kedelig. Du først nødt til at finde ud af, hvor hurtigt du skal flytte, og derefter holde styr på, hvor lang tid du rent faktisk har flyttet. Det er ikke svært, men det kræver at skrive en masse kedelig kode.

Der er heldigvis en meget elegant løsning til denne form for animation.

Den Tweener Biblioteket giver mulighed for at ændre egenskaberne for et objekt over en vis periode med en eller to linjer kode. Lad os tage et simpelt eksempel på en model, som du ønsker at flytte til det punkt (100, -98, 25) i 3D-rum, og du vil have det til at tage 2 sekunder. Med Tweener du gør dette med én linje kode som Tweener.addTween (model, {x: 100, y: -98, z: 25, tid: 2}) ;. Det er værd at bemærke, at tweener Biblioteket har ingen begrebet 3D rummet - det simpelthen ændrer egenskaberne af en medfølgende objekt over en tidsperiode.

Ved at modificere x, y og z egenskaber en 3D-model vi effektivt får bevægelse. Du kunne lige så let modificere rotation, gennemsigtighed eller omfanget af et objekt ved hjælp af den samme kode.

I demo program jeg har brugt den Tweener bibliotek til at oprette 4 kuber, der flytter til tilfældige punkter rundt på skærmen. Terningerne selv styres af en klasse kaldet TweenedMeshObject.

Du vil bemærke, at TweenedMeshObject ikke har nogen kode, der rent faktisk flytter terninger rundt - det simpelthen venter indtil Tweener har færdig med at flytte terningen for det, og så giver Tweener klassen en ny destination. Det er meget simpelt at kode, men mulighederne for denne form for instrukser objekt modifikation er uendelige.


Tilbage til Papervision Tutorials



Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.