Copy link to clipboard
Copied
How can i change materials (any side) in MaterialsList at runtime? For example left side on a click event.
Thanks in advanced. My sample code:
import org.papervision3d.view.Viewport3D;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.cameras.Camera3D;
import org.papervision3d.render.BasicRenderEngine;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.materials.ColorMaterial;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.objects.primitives.Cube;
import flash.events.Event;
var viewport:Viewport3D = new Viewport3D();
var cena:Scene3D = new Scene3D();
var camera:Camera3D = new Camera3D();
var renderer:BasicRenderEngine = new BasicRenderEngine();
var ml:MaterialsList = new MaterialsList();
ml.addMaterial(new ColorMaterial(Math.random()*0xFFFFFF), 'front');
ml.addMaterial(new ColorMaterial(Math.random()*0xFFFFFF), 'back');
ml.addMaterial(new ColorMaterial(Math.random()*0xFFFFFF), 'right');
ml.addMaterial(new ColorMaterial(Math.random()*0xFFFFFF), 'left');
ml.addMaterial(new ColorMaterial(Math.random()*0xFFFFFF), 'top');
ml.addMaterial(new ColorMaterial(Math.random()*0xFFFFFF), 'bottom');
var cubo:Cube = new Cube(ml);
addChild(viewport);
cena.addChild(cubo);
renderer.renderScene(cena, camera, viewport);
addEventListener(Event.ENTER_FRAME, anima);
function anima(e:Event):void {
cubo.rotationY += 10;
cubo.rotationX += 10;
renderer.renderScene(cena, camera, viewport);
}
For Bitmapmaterial it works like this
Copy link to clipboard
Copied
For Bitmapmaterial it works like this
Find more inspiration, events, and resources on the new Adobe Community
Explore Now