I'm trying to add an EnvMapMethod onto materials parsed in Broomstick
through the Max3DS parse but can't get it to work.

I think I have the needed class imports to use the method:

import away3d.materials.utils.CubeMap;
import away3d.materials.BitmapMaterial;
import away3d.materials.methods.EnvMapMethod;
import away3d.primitives.SkyBox;

I'm using RESOURCE_COMPLETE event:

AssetLibrary.addEventListener(LoaderEvent.RESOURCE_COMPLETE,
onResourceComplete);

In the onResourceComplete function I get the mesh by the name I
assigned:

var mesh:Mesh = AssetLibrary.getAsset(meshName) as Mesh;

if I trace(mesh.material) it returns object BitmapMaterial but if I do
this:

mesh.material.addMethod(new EnvMapMethod(cubeMap, 0.5));

I get Error: Call to a possibly undefined method addMethod through a
reference with static type away3d.materials:MaterialBase.

So then I tried to cast it into a BitmapMaterial variable explicitly
with:

var material:BitmapMaterial =
AssetLibrary.getAsset(mesh.material.name) as BitmapMaterial;
material.addMethod(new EnvMapMethod(envMap, 0.5));

Error #1009: Cannot access a property or method of a null object
reference

Anyone know what is going wrong here?



Reply via email to