| Package | away3d.cameras |
| Class | public class HoverCamera3D |
| Inheritance | HoverCamera3D TargetCamera3D Camera3D Object3D flash.events.EventDispatcher |
See also
| Property | Defined by | ||
|---|---|---|---|
![]() | alpha : Number
An optional alpha value that can be applied to the 3d object.
| Object3D | |
![]() | animationLibrary : AnimationLibrary
Reference container for all animations used in the container.
| Object3D | |
![]() | aperture : Number
Used in
DofSprite2D. | Camera3D | |
![]() | blendMode : String
An optional blend mode that can be applied to the 3d object.
| Object3D | |
![]() | boundingRadius : Number
Returns the bounding radius of the 3d object
| Object3D | |
![]() | center : Array | Object3D | |
![]() | debugbb : Boolean
Indicates whether a debug bounding box should be rendered around the 3d object.
| Object3D | |
![]() | debugBoundingBox : WireCube | Object3D | |
![]() | debugBoundingSphere : WireSphere | Object3D | |
![]() | debugbs : Boolean
Indicates whether a debug bounding sphere should be rendered around the 3d object.
| Object3D | |
| distance : Number = 800
Distance between the camera and the specified target.
| HoverCamera3D | ||
![]() | dof : Boolean
Used in
DofSprite2D. | Camera3D | |
![]() | doflevels : Number = 16
Used in
DofSprite2D. | Camera3D | |
![]() | eulers : Number3D
Defines the rotation of the 3d object as a
Number3D object containing euler angles for rotation around x, y and z axis. | Object3D | |
![]() | extra : Object
An optional untyped object that can contain used-defined properties
| Object3D | |
![]() | filters : Array
An optional array of filters that can be applied to the 3d object.
| Object3D | |
![]() | fixedZoom : Boolean | Camera3D | |
![]() | focus : Number
A divisor value for the perspective depth of the view.
| Camera3D | |
![]() | fov : Number
Defines the field of view of the camera in a vertical direction.
| Camera3D | |
![]() | geometryLibrary : GeometryLibrary
Reference container for all geometries used in the container.
| Object3D | |
![]() | id : int | Object3D | |
![]() | inverseSceneTransform : Matrix3D
Returns the inverse of sceneTransform.
| Object3D | |
![]() | invViewMatrix : Matrix3D | Camera3D | |
![]() | lens : ILens
Defines a lens object used in vertex projection
| Camera3D | |
![]() | lightarray : ILightConsumer
returns the array of lights contained inside the container.
| Object3D | |
![]() | materialLibrary : MaterialLibrary
Reference container for all materials used in the container.
| Object3D | |
![]() | maxblur : Number = 150
Used in
DofSprite2D. | Camera3D | |
| maxtiltangle : Number = 90
Maximum bounds for the
tiltangle. | HoverCamera3D | ||
![]() | maxX : Number
Returns the maximum x value of the 3d object
| Object3D | |
![]() | maxY : Number
Returns the maximum y value of the 3d object
| Object3D | |
![]() | maxZ : Number
Returns the maximum z value of the 3d object
| Object3D | |
| mintiltangle : Number = 0
Minimum bounds for the
tiltangle. | HoverCamera3D | ||
![]() | minX : Number
Returns the minimum x value of the 3d object
| Object3D | |
![]() | minY : Number
Returns the minimum y value of the 3d object
| Object3D | |
![]() | minZ : Number
Returns the minimum z value of the 3d object
| Object3D | |
![]() | mouseEnabled : Boolean = true
Defines whether mouse events are received on the 3d object
| Object3D | |
![]() | name : String
An optional name string for the 3d object.
| Object3D | |
![]() | objectDepth : Number
Boundary depth of the 3d object
return The depth of the mesh
| Object3D | |
![]() | objectHeight : Number
Boundary height of the 3d object
return The height of the mesh
| Object3D | |
![]() | objectWidth : Number
Boundary width of the 3d object
return The width of the object
| Object3D | |
![]() | ownCanvas : Boolean
Defines whether the contents of the 3d object are rendered using it's own render session
| Object3D | |
![]() | ownLights : Boolean
Defines whether the children of the container are rendered using it's own lights.
| Object3D | |
![]() | ownSession : AbstractRenderSession
Defines a unique render session for the 3d object.
| Object3D | |
| panangle : Number = 0
Rotation of the camera in degrees around the y axis.
| HoverCamera3D | ||
![]() | parent : ObjectContainer3D
Cannot parent a
TargetCamera3D object. | TargetCamera3D | |
![]() | pivotPoint : Number3D
Defines the local point around which the object rotates.
| Object3D | |
![]() | pivotZero : Boolean | Object3D | |
![]() | position : Number3D
Defines the position of the 3d object, relative to the local coordinates of the parent
ObjectContainer3D. | Object3D | |
![]() | projectorType : String | Object3D | |
![]() | pushback : Boolean
Elements use their furthest point from the camera when z-sorting
| Object3D | |
![]() | pushfront : Boolean
Elements use their nearest point to the camera when z-sorting
| Object3D | |
![]() | renderer : IPrimitiveConsumer
An optional renderer object that can be used to render the contents of the object.
| Object3D | |
![]() | rotationX : Number
Defines the euler angle of rotation of the 3d object around the x-axis, relative to the local coordinates of the parent
ObjectContainer3D. | Object3D | |
![]() | rotationY : Number
Defines the euler angle of rotation of the 3d object around the y-axis, relative to the local coordinates of the parent
ObjectContainer3D. | Object3D | |
![]() | rotationZ : Number
Defines the euler angle of rotation of the 3d object around the z-axis, relative to the local coordinates of the parent
ObjectContainer3D. | Object3D | |
![]() | scaleX : Number
Defines the scale of the 3d object along the x-axis, relative to local coordinates.
| Object3D | |
![]() | scaleY : Number
Defines the scale of the 3d object along the y-axis, relative to local coordinates.
| Object3D | |
![]() | scaleZ : Number
Defines the scale of the 3d object along the z-axis, relative to local coordinates.
| Object3D | |
![]() | scene : Scene3D
Returns the parent scene of the 3d object
| Object3D | |
![]() | scenePivotPoint : Number3D | Object3D | |
![]() | scenePosition : Number3D
Returns the position of the 3d object, relative to the global coordinates of the
Scene3D object. | Object3D | |
![]() | sceneTransform : Matrix3D
Returns the transformation of the 3d object, relative to the global coordinates of the
Scene3D object. | Object3D | |
![]() | screenXOffset : Number
Defines an additional offset to the x coordinate used on mesh elements or objects with ownCanvas set to true
| Object3D | |
![]() | screenYOffset : Number
Defines an additional offset to the y coordinate used on mesh elements or objects with ownCanvas set to true
| Object3D | |
![]() | screenZOffset : Number
Defines an additional offset to the z-sorting algorithm used on mesh elements or objects with ownCanvas set to true
| Object3D | |
![]() | session : AbstractRenderSession
The render session used by the 3d object
| Object3D | |
| steps : Number = 8
Fractional step taken each time the
hover() method is called. | HoverCamera3D | ||
![]() | target : Object3D
The 3d object targeted by the camera.
| TargetCamera3D | |
| targetpanangle : Number = 0
Target value for the
panangle. | HoverCamera3D | ||
| targettiltangle : Number = 90
Target value for the
tiltangle. | HoverCamera3D | ||
| tiltangle : Number = 90
Elevation angle of the camera in degrees.
| HoverCamera3D | ||
![]() | transform : Matrix3D
Defines the transformation of the 3d object, relative to the local coordinates of the parent
ObjectContainer3D. | Object3D | |
![]() | useHandCursor : Boolean = false
Defines whether a hand cursor is displayed when the mouse rolls over the 3d object.
| Object3D | |
![]() | view : View3D | Camera3D | |
![]() | viewMatrix : Matrix3D
Returns the transformation matrix used to resolve the scene to the view.
| TargetCamera3D | |
![]() | visible : Boolean
Defines whether the 3d object is visible in the scene
| Object3D | |
| wrappanangle : Boolean | HoverCamera3D | ||
![]() | x : Number
Defines the x coordinate of the 3d object relative to the local coordinates of the parent
ObjectContainer3D. | Object3D | |
![]() | y : Number
Defines the y coordinate of the 3d object relative to the local coordinates of the parent
ObjectContainer3D. | Object3D | |
| yfactor : Number = 2
Fractional difference in distance between the horizontal camera orientation and vertical camera orientation.
| HoverCamera3D | ||
![]() | z : Number
Defines the z coordinate of the 3d object relative to the local coordinates of the parent
ObjectContainer3D. | Object3D | |
![]() | zoom : Number
Provides an overall scale value to the view
| Camera3D | |
| Method | Defined by | ||
|---|---|---|---|
|
HoverCamera3D
(init:Object = null)
Creates a new
HoverCamera3D object. | HoverCamera3D | ||
![]() |
addOnCameraUpdate(listener:Function):void
Default method for adding a cameraUpdated event listener
| Camera3D | |
![]() |
addOnDimensionsChange(listener:Function):void
Default method for adding a dimensionschanged event listener
| Object3D | |
![]() |
addOnMouseDown(listener:Function):void
Default method for adding a mouseDown3D event listener
| Object3D | |
![]() |
addOnMouseMove(listener:Function):void
Default method for adding a mouseMove3D event listener
| Object3D | |
![]() |
addOnMouseOut(listener:Function):void
Default method for adding a mouseOut3D event listener
| Object3D | |
![]() |
addOnMouseOver(listener:Function):void
Default method for adding a mouseOver3D event listener
| Object3D | |
![]() |
addOnMouseUp(listener:Function):void
Default method for adding a mouseUp3D event listener
| Object3D | |
![]() |
addOnParentUpdate(listener:Function):void
Default method for adding a parentupdated event listener
| Object3D | |
![]() |
addOnRollOut(listener:Function):void
Default method for adding a rollOut3D event listener
| Object3D | |
![]() |
addOnRollOver(listener:Function):void
Default method for adding a rollOver3D event listener
| Object3D | |
![]() |
addOnSceneChange(listener:Function):void
Default method for adding a scenechanged event listener
| Object3D | |
![]() |
addOnSceneTransformChange(listener:Function):void
Default method for adding a scenetransformchanged event listener
| Object3D | |
![]() |
addOnSessionChange(listener:Function):void
Default method for adding a sessionchanged event listener
| Object3D | |
![]() |
addOnTransformChange(listener:Function):void
Default method for adding a transformchanged event listener
| Object3D | |
![]() |
applyPosition(dx:Number, dy:Number, dz:Number):void
Apply the given position to the object without altering the apperance of child objects
| Object3D | |
![]() |
applyRotations():void
Apply the local rotations to the object without altering the apperance of child objects
| Object3D | |
![]() |
centerPivot():void
Adjusts the pivot point of the object so that it lies at the center of it's geoemtry.
| Object3D | |
![]() |
Duplicates the camera's properties to another
Camera3D object. | Camera3D | |
![]() |
disableDof():void
Used in
DofSprite2D
| Camera3D | |
![]() |
Calulates the absolute distance between the local 3d object position and the position of the given 3d object
| Object3D | |
![]() |
enableDof():void
Used in
DofSprite2D. | Camera3D | |
|
hover():Boolean
Updates the
tiltangle and panangle values, then calls update(). | HoverCamera3D | ||
![]() |
Rotates the 3d object around to face a point defined relative to the local coordinates of the parent
ObjectContainer3D. | Object3D | |
![]() |
moveBackward(distance:Number):void
Moves the 3d object backwards along it's local z axis
| Object3D | |
|
moveCamera():Boolean
Updates the camera position.
| HoverCamera3D | ||
![]() |
moveDown(distance:Number):void
Moves the 3d object backwards along it's local y axis
| Object3D | |
![]() |
moveForward(distance:Number):void
Moves the 3d object forwards along it's local z axis
| Object3D | |
![]() |
moveLeft(distance:Number):void
Moves the 3d object backwards along it's local x axis
| Object3D | |
![]() |
movePivot(dx:Number, dy:Number, dz:Number):void
Moves the local point around which the object rotates.
| Object3D | |
![]() |
moveRight(distance:Number):void
Moves the 3d object forwards along it's local x axis
| Object3D | |
![]() |
moveTo(dx:Number, dy:Number, dz:Number):void
Moves the 3d object directly to a point in space
| Object3D | |
![]() |
moveUp(distance:Number):void
Moves the 3d object forwards along it's local y axis
| Object3D | |
![]() |
pan(angle:Number):void
Rotates the camera in its horizontal plane.
| Camera3D | |
![]() |
pitch(angle:Number):void
Rotates the 3d object around it's local x-axis
| Object3D | |
![]() |
removeOnCameraUpdate(listener:Function):void
Default method for removing a cameraUpdated event listener
| Camera3D | |
![]() |
removeOnDimensionsChange(listener:Function):void
Default method for removing a dimensionschanged event listener
| Object3D | |
![]() |
removeOnMouseDown(listener:Function):void
Default method for removing a mouseDown3D event listener
| Object3D | |
![]() |
removeOnMouseMove(listener:Function):void
Default method for removing a mouseMove3D event listener
| Object3D | |
![]() |
removeOnMouseOut(listener:Function):void
Default method for removing a mouseOut3D event listener
| Object3D | |
![]() |
removeOnMouseOver(listener:Function):void
Default method for removing a mouseOver3D event listener
| Object3D | |
![]() |
removeOnMouseUp(listener:Function):void
Default method for removing a mouseUp3D event listener
| Object3D | |
![]() |
removeOnParentUpdate(listener:Function):void
Default method for removing a parentupdated event listener
| Object3D | |
![]() |
removeOnRollOut(listener:Function):void
Default method for removing a rollOut3D event listener
| Object3D | |
![]() |
removeOnRollOver(listener:Function):void
Default method for removing a rollOver3D event listener
| Object3D | |
![]() |
removeOnSceneChange(listener:Function):void
Default method for removing a scenechanged event listener
| Object3D | |
![]() |
removeOnSceneTransformChange(listener:Function):void
Default method for removing a scenetransformchanged event listener
| Object3D | |
![]() |
removeOnSessionChange(listener:Function):void
Default method for removing a sessionchanged event listener
| Object3D | |
![]() |
removeOnTransformChange(listener:Function):void
Default method for removing a transformchanged event listener
| Object3D | |
![]() |
roll(angle:Number):void
Rotates the 3d object around it's local z-axis
| Object3D | |
![]() |
Rotates the 3d object around an axis by a defined angle
| Object3D | |
![]() |
rotateTo(ax:Number, ay:Number, az:Number):void
Rotates the 3d object directly to a euler angle
| Object3D | |
![]() |
scale(scale:Number):void
Scales the contents of the 3d object.
| Object3D | |
![]() |
Returns a
ScreenVertex object describing the resolved x and y position of the given Vertex object. | Camera3D | |
![]() |
tick(time:int):void
Called by the
TickTraverser. | Object3D | |
![]() |
tilt(angle:Number):void
Rotates the camera in its vertical plane.
| Camera3D | |
![]() |
toString():String
Used to trace the values of a 3d object.
| Object3D | |
![]() |
Moves the 3d object along a vector by a defined length
| Object3D | |
![]() |
Used when traversing the scenegraph
| Object3D | |
![]() | Camera3D | ||
![]() |
update():void
Updates the transformation matrix used to resolve the scene to the view.
| Camera3D | |
![]() |
updateObject():void
| Object3D | |
![]() |
updateSession():void
| Object3D | |
![]() |
yaw(angle:Number):void
Rotates the 3d object around it's local y-axis
| Object3D | |
| distance | property |
public var distance:Number = 800
Distance between the camera and the specified target. Defaults to 800.
| maxtiltangle | property |
public var maxtiltangle:Number = 90
Maximum bounds for the tiltangle. Defaults to 90.
See also
| mintiltangle | property |
public var mintiltangle:Number = 0
Minimum bounds for the tiltangle. Defaults to 0.
See also
| panangle | property |
public var panangle:Number = 0
Rotation of the camera in degrees around the y axis. Defaults to 0.
| steps | property |
public var steps:Number = 8
Fractional step taken each time the hover() method is called. Defaults to 8.
Affects the speed at which the tiltangle and panangle resolve to their targets.
See also
| targetpanangle | property |
public var targetpanangle:Number = 0
Target value for the panangle. Defaults to 0.
See also
| targettiltangle | property |
public var targettiltangle:Number = 90
Target value for the tiltangle. Defaults to 90.
See also
| tiltangle | property |
public var tiltangle:Number = 90
Elevation angle of the camera in degrees. Defaults to 90.
| wrappanangle | property |
public var wrappanangle:Boolean
| yfactor | property |
public var yfactor:Number = 2
Fractional difference in distance between the horizontal camera orientation and vertical camera orientation. Defaults to 2.
See also
| HoverCamera3D | () | constructor |
public function HoverCamera3D(init:Object = null)
init:Object (default = null) — [optional] An initialisation object for specifying default instance properties.
|
yfactor:Number (default = yfactor) | |
distance:Number (default = distance) | |
wrappanangle:Boolean (default = false) | |
panangle:Number (default = panangle) | |
tiltangle:Number (default = tiltangle) | |
targetpanangle:Number (default = targetpanangle) | |
targettiltangle:Number (default = targettiltangle) | |
mintiltangle:Number (default = mintiltangle) | |
maxtiltangle:Number (default = maxtiltangle) | |
steps:Number (default = steps) |
| hover | () | method |
public function hover():Boolean
Updates the tiltangle and panangle values, then calls update().
Values are calculated using the defined targettiltangle, targetpanangle and steps variables.
Boolean — True if the camera position was updated, otherwise false.
|
See also
| moveCamera | () | method |
public function moveCamera():Boolean
Updates the camera position.
Position is calculated using the current values of tiltangle, panangle, distance and yfactor.
Boolean — True if the camera position was updated, otherwise false.
|
See also
HoverCamera3d Example based on V1.9.3
//Replace the code below into the first frame of
//the lesson Lesson_Basic_03_Meshes.fla
// import core library
import away3d.core.scene.*;
// import file format loaders
import away3d.loaders.*;
//import math objects
import away3d.core.math.*;
//
import away3d.cameras.*;
// create a 3D-viewport
var camera = new HoverCamera3D({zoom:3, focus:200, distance:1000});
// create a 3D-viewport
camera.tiltangle = 40;
camera.targettiltangle = 40;
camera.mintiltangle = 20;
camera.maxtiltangle = 50;
camera.yfactor = 1;
camera.steps = 7;
var view:View3D = new View3D({camera:camera, x:300, y:200});
// add viewport to the stage
addChild(view);
// start mesh loading
var loader:Object3DLoader = Obj.load("resources/turtle.obj",
{material:"turtle_texture", name:"turtle", scaling:0.1, y:50, x:10, z:
10, loadersize:300});
// add the loader object to the scene
view.scene.addChild(loader);
//
camera.update();
loader.rotationX = -90;
//
var rotCamera:Boolean = false;
var lastMouseX:Number = mouseX;
var lastMouseY:Number = mouseY;
var firstClick:Boolean = true;
//
addEventListener(Event.ENTER_FRAME, onEnterFrame);
function onEnterFrame(event:Event):void {
//
if (rotCamera) {
if (firstClick == true) {
firstClick = false;
lastMouseX = view.mouseX;
lastMouseY = view.mouseY;
trace("frist click");
}
//
var dragX = (view.mouseX - lastMouseX);
var dragY = (view.mouseY - lastMouseY);
//
lastMouseX = view.mouseX;
lastMouseY = view.mouseY;
//
camera.targetpanangle += dragX;
camera.targettiltangle += dragY
camera.hover();
} else {
//
}
// rerender viewport on each frame
view.render();
}
var hit:MovieClip = new MovieClip();
hit.graphics.beginFill(0xFF0000);
hit.graphics.drawRect(0, 0, 500, 600);
hit.graphics.endFill();
addChild(hit);
hit.alpha = 0;
hit.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
function mouseDownHandler(evt:MouseEvent):void {
rotCamera = true;
}
hit.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
function mouseUpHandler(evt:MouseEvent):void {
rotCamera = false;
firstClick = true;
}
hit.addEventListener(MouseEvent.MOUSE_WHEEL, onMouseEvent);
function onMouseEvent(event:MouseEvent):void {
trace(camera.zoom);
var dir = (event.delta > 0) ? .5 : -.5;
camera.zoom = Math.max(2, Math.min(8, (camera.zoom+dir)));
//camera.distanceTo(-40);
}