@zz85 创建了一个优秀的Director
类,它支持如下链接模式:
director = new THREE.Director();
director
.addAction( 0, function() {
camera.position.set( 750, 850, 750 );
})
.addAction( 10, function() {
// do something
doSomething();
})
.addAction( 10, function() {
// top view
camera.position.set( 0, 1000, 0 );
})
// cross the terrain
.addTween( 18, 4, camera.position, {}, { x:300 , y: 80, z: -2000 }, 'cubicInOut' )
.addTween( 18, 4, camera, { lens: 35 }, { lens: 100 }, 'cubicInOut', function( k ) {
camera.setLens( camera.lens );
})
.addTween( 18, 4, lookAt, {}, { x:300 , y: 80, z: 2000 }, 'linear' )
})
.addAction( 80, function() {
stop();
});
演示:http: //jabtunes.com/labs/boidsnbuildings/
博文:http ://www.lab4games.net/zz85/blog/2012/11/19/making-of-boids-and-buildings/
这个演示使用了three.js。r.54dev,但我希望它可以与当前版本 three.js r.58 一起使用。
另一种选择是使用Tween.js,但根据您的要求,我希望Director
您会喜欢。
示例:http ://threejs.org/examples/canvas_interactive_cubes_tween.html
三.js r.58