you have a scale ratio 1, 1 passed to class

trace your x and -z when you ask the "read"
they are probably exceeded the bounds of your map.

try attach on top of your scene this map or a duplicate, and setPixel at this 
coords...
i bet you are way off.

Fabrice




On Jul 9, 2010, at 2:00 PM, le_unam wrote:

> hey fabrice okay now there are no more errors ... it was an syntax
> problem. But the collisionmap isnt still working. nothing happens when
> walking over the "red" area = (
> where can be the mistake? the y position of the cube doesnt matter
> right?
> what about the offset position of the map? ist it necessary to set it?
> 
> best regards
> 
> On 9 Jul., 11:33, le_unam <[email protected]> wrote:
>> hey fabrice thank you ... well i tried to make an easy example for
>> collision map. i created a cube, which is followed by the camera and a
>> plane with the texture of the collisionmap for easy understanding. but
>> i still get an error ... maybe you can check my code for syntax
>> problems. it would be very nice.
>> 
>> code --------------------------------------------------------------
>> 
>> package
>> {
>>         import away3d.cameras.SpringCam;
>>         import away3d.containers.*;
>>         import away3d.core.base.Object3D;
>>         import away3d.core.clip.FrustumClipping;
>>         import away3d.core.math.Number3D;
>>         import away3d.core.render.Renderer;
>>         import away3d.core.utils.Cast;
>>         import away3d.extrusions.CollisionMap;
>>         import away3d.materials.*;
>>         import away3d.primitives.*;
>> 
>>         import flash.display.DisplayObjectContainer;
>>         import flash.display.BitmapData;
>>         import flash.display.MovieClip;
>>         import flash.events.Event;
>>         import flash.events.KeyboardEvent;
>>         import flash.ui.Keyboard;
>> 
>>         [SWF(width="800", height="600", frameRate="30", quality="LOW",
>> backgroundColor="0xFFFFFF")]
>>         public class colltest extends MovieClip
>>         {
>>                         private var myScene:Scene3D;
>>                         private var myCamera:SpringCam;
>>                         private var myClipping:FrustumClipping;
>>                         private var myCube:Cube;
>>                         private var myView:View3D;
>>                         private var myCollision:BitmapData;
>>                         private var myCollisonmap:CollisionMap;
>> 
>>                         private var keyIsDown:Boolean = false;
>>                         private var keyHandler:Number = 0;
>> 
>>                         private var myBoden:Plane;
>> 
>>                         public function colltest()
>>                         {
>>                                         initEngine();
>>                                         initObjects();
>>                                         initEventListeners();
>>                         }
>> 
>>                         public function initEngine()
>>                         {
>>                                         myScene = new Scene3D;
>>                                         myCamera = new SpringCam;
>>                                         myClipping = new FrustumClipping;
>> 
>>                                         myView = new View3D( { 
>> scene:myScene, camera:myCamera,
>> clipping:myClipping, renderer:Renderer.CORRECT_Z_ORDER,
>> x:stage.stageWidth / 2, y:stage.stageHeight / 2 } );
>>                                         addChild(myView);
>> 
>>                                         myScene.addChild(myCamera);
>> 
>>                                         myCube = new Cube( { width:1, 
>> height:1, depth:1 } );
>>                                         myScene.addChild(myCube);
>> 
>>                                         myCamera.zoom = 10;
>>                                         myCamera.focus = 100;
>>                                         myCamera.mass = 10;
>>                                         myCamera.damping = 10;
>>                                         myCamera.stiffness = 10;
>>                                         myCamera.target = myCube;
>>                                         myCamera.lookAt(myCube.position);
>>                     myCamera.lookOffset = new Number3D(0, 0, 100);
>>                     myCamera.positionOffset = new Number3D(0, 0, 50);
>> 
>>                                         myCollision = new 
>> BitmapData(Cast.bitmap(cmap));
>>                                         myCollisionmap = new 
>> CollisionMap(myCollision, 1, 1);
>>                                         
>> myCollisionmap.setColorEvent(0xFF0000, "red", onCollision);
>> 
>>                                         myView.render();
>>                         }
>> 
>>                         public function initObjects()
>>                         {
>>                                         var myMaterial:BitmapMaterial = new
>> BitmapMaterial(Cast.bitmap(cmap));
>>                                         myBoden = new Plane ( { 
>> material:myMaterial, width:1000, height:
>> 1000, y: -stage.stageWidth / 2 } );
>>                                         myScene.addChild(myBoden);
>>                         }
>> 
>>                         public function onCollision()
>>                         {
>>                                         trace("berührt");
>>                         }
>> 
>>                         public function initEventListeners()
>>                         {
>>                                         addEventListener(Event.ENTER_FRAME, 
>> initEnterFrame);
>>                                         
>> stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
>>                                         
>> stage.addEventListener(KeyboardEvent.KEY_UP, keyUp);
>>                         }
>> 
>>                         public function keyDown(e:KeyboardEvent):void
>>                         {
>>                                         keyIsDown = true;
>>                                         keyHandler = e.keyCode;
>>                         }
>> 
>>                         public function keyUp(e:KeyboardEvent):void
>>                         {
>>                                         keyIsDown = false;
>>                         }
>> 
>>                         public function initEnterFrame(e:Event):void
>>                         {
>>                                         if (keyIsDown)
>>                                         {
>>                                                         switch(keyHandler)
>>                                                         {
>>                                                                         case 
>> 65:                        myCube.moveLeft(20); break;
>>                                                                         case 
>> 68:                        myCube.moveRight(20); break;
>>                                                                         case 
>> 87:                        myCube.moveForward(20); break;
>>                                                                         case 
>> 83:                        myCube.moveBackward(20); break;
>>                                                         }
>>                                         }
>> 
>>                                         myCollisionmap.read(myCube.x, 
>> -myCube.z);
>> 
>>                                         myCamera.view;
>>                                         myView.render();
>>                         }
>>         }
>> 
>> }
>> 
>> codeend -------------------------------------------------------
>> 
>> maybe i forgot something to import? i dont know .... do you see any
>> errors?
>> if i comment the lines of collisonmap out ... i can walk over the
>> plane with the collisionmap texture.
>> 
>> greetings manuel
>> 
>> On 9 Jul., 10:22, Fabrice3D <[email protected]> wrote:
>> 
>>>> i spend so much time for this now, but it doesnt work = (
>> 
>>> If you expect some guidance, you have to tell bits more.
>> 
>>> reading at your previous questions, these were as3/synthax related issues.
>>> wrong params to constructors or wrong types..
>> 
>>> Are you still stuck with the same issues?  
>> 
>>> Fabrice

Reply via email to