Away3D学习笔记(2)

怎么给场景加光源呢?

首先,在场景中增加一个球体:

var sphere:Sphere = new Sphere();

sphere.segmentsW = 32;

sphere.segmentsH = 32;

sphere.material = new BitmapMaterial(bmp);

sphere.x = 200;

_view.scene.addChild(sphere);

下面来添加光源,制造一些高光和阴影。在Away3D中,不是所有材质对光源都有感觉。比如,BitmapMaterial材质会直接无视光源。WhiteShadingBitmapMaterial是能显示阴影的材质之一。比如:

sphere.material = new WhiteShadingBitmapMaterial(bmp);

场景中增加光源,需要通过Scene3D的addLight()方法。比如,要在场景中增加一个点光源(PointLight3D):

var light:PointLight3D = new PointLight3D();

light.y = 500;

_view.scene.addLight(light);

动起来

物体的动作有很多种,自转是最简单的运动方式之一。通过改变物体的rotationY属性,就可以得到这个效果:

private function onEnterFrame(e:Event):void

{

  _sphere.rotationY += 5;

  _view.render();

}

交互

与鼠标交互是最常见的交互方式之一。Away3D将所有与之相关的事件定义在MouseEvent3D里面。除此之外,away3d.events包中,还定义了很多其他的事件类型。

在Away3D里增加交互也是使用侦听函数:

  cube.addEventListener(MouseEvent3D.MOUSE_UP, onClickCube);

原文地址:https://www.cnblogs.com/mzbdadou/p/2410016.html