Another relevant observation, the closer my mouse moves to 0,0, the smaller the discrepancy gets, at 0,0 there is no discrepancy, but the further away from it I get, the bigger the difference.
On Mar 24, 11:36 am, Snownova <[email protected]> wrote: > Small update, I've found that when I set the view size to 1390 by 880, > the mouse position is correct again. this of course does not help me > fix it :( > > I've tried setting the view scaleX and scaleY while the size is set to > the above values, but that simply repeats the problem of the > inaccurate mouse position. > > On Mar 23, 10:34 pm, Snownova <[email protected]> wrote: > > > I've been playing around with Broomstick over the past few days, and > > I've run into a problem when trying to set a size for my View3D > > element. here is a basic version of the example InteractionTest to > > demonstrate my problem: > > > package { > > > import away3d.containers.View3D; > > import away3d.events.MouseEvent3D; > > import away3d.materials.BitmapMaterial; > > import away3d.primitives.Plane; > > > import flash.display.Bitmap; > > import flash.display.BitmapData; > > import flash.display.BitmapDataChannel; > > import flash.display.Sprite; > > import flash.events.Event; > > import flash.geom.Rectangle; > > > [SWF(width="800", height="450", frameRate="60")] > > public class InteractionTest extends Sprite { > > private var _view:View3D; > > > private var _mesh1:Plane; > > private var _material1:BitmapMaterial; > > > public function InteractionTest() { > > > _view = new View3D; > > _view.width = 800; > > _view.height = 450; > > _view.antiAlias = 4; > > this.addChild(_view); > > > var bitmapData1:BitmapData = new BitmapData(512, > > 512, false, > > 0x000000); > > bitmapData1.perlinNoise(64, 64, 5, 0, false, true, > > BitmapDataChannel.BLUE); > > _material1 = new BitmapMaterial(bitmapData1); > > _material1.bothSides = true; > > > _mesh1 = new Plane(_material1, 500, 500, 1, 1); > > _view.scene.addChild(_mesh1); > > _mesh1.rotationY = .01; > > _mesh1.mouseEnabled = true; > > _mesh1.mouseDetails = true; > > _mesh1.addEventListener(MouseEvent3D.MOUSE_MOVE, > > onMouseMove); > > > this.addEventListener(Event.ENTER_FRAME, > > handleEnterFrame); > > } > > > private function onMouseMove(event:MouseEvent3D):void { > > var material:BitmapMaterial = event.target.material; > > var rect:Rectangle = new > > Rectangle(event.uv.x*material.bitmapData.width-4, > > event.uv.y*material.bitmapData.height-4, 9, 9); > > material.bitmapData.fillRect(rect, 0x00ff00); > > material.updateTexture(); > > } > > > private function handleEnterFrame(ev:Event):void { > > _view.render(); > > } > > } > > > } > > > When I set _view.width and _view.height, the mouse interaction appears > > to be quite a bit to the left and up from where the cursor actually > > is. When I don't set the widht and height properties for the View3D, > > it works just fine, but my view extends beyond my swf and is scaled > > and centered improperly. > > > Does anyone have any suggestions as to how to fix this? > >
