| MafiaBoy |
17.01.2009 11:35 |
Как сделать клик во флеш?
Вообщем привожу код простого зд объекта. Это простой куб с шестью грнаями. Вопрос как изменить этот код чтобы по каждой из шести граней можно было бы кликнуть и увидеть текст "Грань номер n работает!" ???
Код AS3:
package
{
import flash.display.Bitmap;
import flash.events.Event;
import org.papervision3d.core.proto.MaterialObject3D;
import org.papervision3d.lights.PointLight3D;
import org.papervision3d.materials.BitmapMaterial;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.objects.primitives.Cube;
import org.papervision3d.view.BasicView;
[SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")]
public class InsideFacesOfACube extends BasicView
{
[Embed(source='../assets/back.jpg')]
private var backAsset:Class;
[Embed(source='../assets/bottom.jpg')]
private var bottomAsset:Class;
[Embed(source='../assets/front.jpg')]
private var frontAsset:Class;
[Embed(source='../assets/left.jpg')]
private var leftAsset:Class;
[Embed(source='../assets/right.jpg')]
private var rightAsset:Class;
[Embed(source='../assets/top.jpg')]
private var topAsset:Class;
[Embed(source='../assets/287.jpg')]
private var environmentAsset:Class;
private var light:PointLight3D;
private var cube:Cube;
public function InsideFacesOfACube()
{
light = new PointLight3D();
var materialsList:MaterialsList = new MaterialsList();
materialsList.addMaterial(createShadedMaterial( new backAsset() ), "back");
materialsList.addMaterial(createShadedMaterial( new bottomAsset() ), "bottom");
materialsList.addMaterial(createShadedMaterial( new frontAsset() ), "front");
materialsList.addMaterial(createShadedMaterial( new leftAsset() ), "left");
materialsList.addMaterial(createShadedMaterial( new rightAsset() ), "right");
materialsList.addMaterial(createShadedMaterial( new topAsset() ), "top");
cube = new Cube(materialsList, 500, 500, 500, 5, 5, 5);
scene.addChild(cube);
startRendering();
}
private function createShadedMaterial(bitmap:Bitmap):BitmapMaterial
{
return new BitmapMaterial(bitmap.bitmapData, true);
}
override protected function onRenderTick(event:Event=null):void
{
cube.rotationY += (viewport.containerSprite.mouseX - cube.rotationY) * .1;
cube.rotationX += (viewport.containerSprite.mouseY - cube.rotationX) * .1;
renderer.renderScene(scene, camera, viewport);
}
}
}
|