Hello :)

Having some issues swapping bitmap materials in away3dlite. Got the
general syntax/calls from the Basic LoadModel.as example. Below is how
I am trying to swap materials (I just cut and paste the more relavent
snippets). I verified the key presses are working fine, etc. I see the
model in the scene and it has the mainship100BM material applied but
doesn't change to the 2nd material upon key press.

Any ideas why I am not seeing the material change?

Thanks!

Joseph



[Embed (source="../mainmodel-rev4a_diff_mod1-100-512.gif")]public var
mainbody100:Class;
[Embed (source="../mainmodel-rev4a_diff_mod1-70-512.gif")]public var
mainbody70:Class;

private var max3dsMain:Max3DS;
private var loaderMain:Loader3D;
private var modelMain:ObjectContainer3D;

private function init():void
{
        initEngine();
        initMaterials();
        initObjects();
        initListeners();
}

private function initMaterials():void
{       mainship100BM= new BitmapMaterial(Cast.bitmap(mainbody100));
        mainship70BM= new BitmapMaterial(Cast.bitmap(mainbody70));
        materialArray = [enemy100BM, enemy70BM];
}

private function initObjects():void
{
        max3dsMain = new Max3DS();
        max3dsMain.scaling = 0.4;
        max3dsMain.centerMeshes = true;
        max3dsMain.material = mainship100BM;
        //max3dsMain.material = new WireColorMaterial();
        loaderMain = new Loader3D();
        loaderMain.loadGeometry("../main_model_2.3DS", max3dsMain)
        loaderMain.addEventListener(Loader3DEvent.LOAD_SUCCESS,
onSuccessMainObj);
        scene.addChild(loaderMain);
}

function onSuccessMainObj(event:Event):void
{
        modelMain = loaderMain.handle as ObjectContainer3D;
        modelMain.rotationZ = 180;
        modelMain.rotationY = 180;
        modelMain.y = 0;
        modelMain.x = 0;
}



private function onEnterFrame(event:Event):void

{

if(whatkey.isDown(39)) {
        modelMain .material = materialArray[0];
}

if(whatkey.isDown(37)) {
        modelMain .material = materialArray[1];
}
view.render();
}

Reply via email to