ehm okay, now there is another small problem ... the collisionmap is
at the wrong position. Is there a way to change it? i tried offset but
i dont know how offset works. i placed a plane with the texture off my
collisionmap withouth setting any x and z values. so its equal to the
collisionmap and works fine, but if i set the plane.x = 150 and
collisionmap.offsetX = 150 its not the same ... why? can anybody
explain what offset does? thank you = )

On 12 Jul., 11:02, le_unam <[email protected]> wrote:
> hey fabrice ... thank you sooo much. The getcolor information did
> help. the problem was that my "red" in the picture was compressed from
> #ff0000 to #fe0000. Dont know why but its okay ... now it works
> great .... big big thanks :-*
>
> On 9 Jul., 17:54, Fabrice3D <[email protected]> wrote:
>
> > because uv's are 1 where in flash they'll be 0
> > and one where you would expect a height value
>
> > then, this is important make sure the color you test on IS the color you 
> > think it is...
>
> > make a test at a position on the map you know its say "yellow"
> > check the reading value and the one you entered for the event.
> > due to compression algo's if you use a bitmap color might change
>
> > fix is to draw with vector movieclips, and draw this movieclip into bitmap 
> > runtime.
>
> > again, to test addchild your map above, and plot the readings and trace the 
> > colors to see if correct
> > the class as a special test call for this purpose --> doc
>
> > Fabrice
>
> > On Jul 9, 2010, at 4:46 PM, le_unam wrote:
>
> > > okay ehm the x and z values seem to be correct. on startup it is 0, 0
> > > when i move forward it counts ... -20 -40 -60 -80 -100 .... and so on.
> > > but why should is use -z? whats the matter with the -? can u please
> > > explain it to me?
> > > what about the offset position of the map? where is the startpoint?
> > > lower left corner = 0, 0 ?
>
> > > On 9 Jul., 16:06, le_unam <[email protected]> wrote:
> > >> 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
> > >>>>walkingover 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
>
> ...
>
> Erfahren Sie mehr »

Reply via email to