Title: VectorVisionClock
VectorVision Demo - Simple Clock - revision 856
Actionscript:
-
/**
-
* v0.1 code by dehash.com 2008
-
* Released as open source under the BSD License
-
* http://www.opensource.org/licenses/bsd-license.php
-
*/
-
package com.dehash.pv3d.examples.vectortext {
-
import org.papervision3d.view.BasicView;
-
import org.papervision3d.materials.special.Letter3DMaterial;
-
import org.papervision3d.typography.Font3D;
-
import org.papervision3d.typography.Text3D;
-
import org.papervision3d.typography.fonts.HelveticaRoman;
-
import flash.events.Event;
-
-
[SWF(width = "800", height = "600", backgroundColor = "0xAD5E40")]
-
-
public class VectorVisionClock extends BasicView {
-
private var text3D:Text3D;
-
-
public function VectorVisionClock(viewportWidth:Number = 800, viewportHeight:Number = 600,
-
scaleToStage:Boolean=true, interactive:Boolean=false, cameraType:String="CAMERA3D"){
-
super(viewportWidth, viewportHeight, scaleToStage, interactive, cameraType);
-
-
text3D = new Text3D(buildTime(), new HelveticaRoman(), new Letter3DMaterial(0xF7EE97));
-
text3D.scale = 4;
-
camera.target = text3D;
-
scene.addChild(text3D);
-
startRendering();
-
}
-
-
protected override function onRenderTick(event:Event = null):void {
-
text3D.text = buildTime();
-
// hover
-
camera.x -= (camera.x - Math.sin(mouseX*0.01)*1000) /8;
-
camera.z -= (camera.z - Math.cos(mouseX*0.01)*1000) /8;
-
camera.y -= (camera.y - viewport.containerSprite.mouseY * 5) / 8;
-
// render
-
renderer.renderScene(scene, camera, viewport);
-
}
-
-
private function buildTime():String {
-
var d:Date = new Date();
-
var hours:String = String(d.getHours());
-
var minutes:String = String(d.getMinutes());
-
var seconds:String = String(d.getSeconds());
-
hours = (hours.length <2)? "0" + hours : hours;
-
minutes = (minutes.length <2)? "0" + minutes : minutes;
-
seconds = (seconds.length <2)? "0" + seconds : seconds;
-
return String(hours+":"+minutes+":"+seconds);
-
}
-
}
-
}