maybe BitmapMaterial(mesh.material).addMethod(new EnvMapMethod(cubeMap, 0.5))
On 31 May 2011 20:58, Choons <[email protected]> wrote: > 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? > > > >
