Слушатель кликов Away3D работает не со всем кубом, а только с его центром.

Я пытаюсь добавить прослушиватель кликов в куб в Away3D. Это работает... частично. Похоже, щелчок работает только с центром грани куба. Я понятия не имею, почему это так, потому что он должен брать ограничивающую рамку (которая, конечно же, является кубом). Поэтому, если я нажму где-нибудь «рядом» с краем куба, ничего не произойдет.

Код довольно прост:

cube = new Mesh(new CubeGeometry(400, 400, 400, 1, 1, 1, false));
cube.mouseEnabled = true;
cube.addEventListener(MouseEvent3D.CLICK, cubeClickHandler);
var t:Trident = new Trident();
cube.addChild(t);
scene.addChild(cube);

...

private function cubeClickHandler(event:MouseEvent3D):void {
    navigateToURL(new URLRequest("http://www.google.com"));

}

Любая идея, что я делаю неправильно и как это решить? Большое спасибо!

Пример здесь


person Fygo    schedule 22.04.2014    source источник


Ответы (1)


Вот несколько предложений:

  • ты пробовал поворачивать камеру?
  • вы пробовали без трезубца? (у него может быть большой BB и окклюзия)
  • вы пробовали с каким-то другим методом выбора?

    cube.pickingCollider = PickingColliderType.AS3_BEST_HIT
    
  • Возможно, что частота кадров в примере (1FPS) может мешать, попробуйте поставить хотя бы 10FPS

person SharpEdge    schedule 03.06.2014