hey thanks for your answer ... i will try this ... the scale ratio 1,1 is because my plane is width:1000, height:1000 and my map is width: 1000, height:1000 too. maybe there is an offset problem or something like this. thanks
On 9 Jul., 15:10, Fabrice3D <[email protected]> wrote: > 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
