VER A DEMODOWNLOAD O CÓDIGO
Com que freqüência você deseja mover um objeto por alguns montante predefinido ao longo de um determinado período de tempo? Como "mover para este ponto em 2 segundos". Este tipo de movimento através de uma escala de tempo é a pedra angular de animação e scripting. Infelizmente para implementar isso no código é bastante tedioso. Você primeiro precisa descobrir o quão rápido você deve estar se movendo, e, em seguida, manter o controle de quanto tempo você tem realmente mudou. Não é difícil, mas requer escrever um monte de código chato.
Felizmente, existe uma solução muito elegante para este tipo de animação. A biblioteca Tweener permite que você modifique as propriedades de um objeto ao longo de um determinado período de tempo com uma ou duas linhas de código. Vamos dar um exemplo simples de um modelo que você deseja mover para o ponto (100, -98, 25) no espaço 3D, e você quer que ele tomar 2 segundos. Com Tweener você fazer isso com uma linha de código como Tweener.addTween (modelo, {x: 100, y: -98, z: 25, tempo: 2}) ;.
É importante notar que a biblioteca Tweener não tem noção de espaço 3D - ele simplesmente muda as propriedades de um objeto fornecido durante um período de tempo. Ao modificar as propriedades x, yez de um modelo 3D que efetivamente obter movimento. Você poderia facilmente modificar a rotação, transparência ou escala de um objeto usando o mesmo código.
No aplicativo de demonstração Eu tenho usado a biblioteca Tweener para criar 4 cubos que se deslocam para pontos aleatórios ao redor da tela. Os próprios cubos são controladas por uma classe chamada TweenedMeshObject.
Você notará que TweenedMeshObject não tem qualquer código que realmente move os cubos ao redor - ele simplesmente espera até que o Tweener tenha terminado movendo o cubo para ele e, em seguida, dá à classe Tweener um novo destino. É muito simples de código, mas as possibilidades para este tipo de modificação objeto programável são infinitas.
De volta para Tutoriais Papervision