0

谁能指出任何可能有助于创建支持滑动手势的基本 Away 3d 应用程序的教程?我只想让用户通过滑动来旋转 3d 立方体。

4

2 回答 2

1

我想你会使用这样的东西:

private var _cube:ObjectContainer3D;
private var _startTouchX:Number;

public function ThreeDimensionViewer(){
    _cube = new ObjectContainer3D(INSERT CUBE HERE);
    var cam:Camera3D = new Camera3D();
    var scene:Scene3D = new Scene3D();
    scene.addChild(cam);
    scene.addChild(_cube);
    var view:View3D = new View3D(scene, cam);

    view.addEventListener(TouchEvent.TOUCH_BEGIN,startTouch);
}
private function startTouch(e:TouchEvent):void {
    _startTouchX = e.stageX;
    view.removeEventListener(TouchEvent.TOUCH_BEGIN,startTouch);
    view.addEventListener(TouchEvent.TOUCH_MOVE,moveCube);
    view.addEventListener(TouchEvent.TOUCH_END,stopTouch);
}
private function moveCube(e:TouchEvent):void {
    _cube.rotateY = _startTouchX - e.stageX;
}
private function stopTouch(e:TouchEvent):void {
    view.addEventListener(TouchEvent.TOUCH_BEGIN,startTouch);
    view.removeEventListener(TouchEvent.TOUCH_MOVE,moveCube);
    view.removeEventListener(TouchEvent.TOUCH_END,stopTouch);
}

很确定您会使用 TouchEvent (BEGIN, MOVE, END) 并像通常使用 MouseEvent 一样进行计算。我没有测试过这个。

于 2012-12-21T14:11:11.423 回答
0

Away3D 没有内置的手势支持。您将需要集成 Flash 的手势(很痛苦)或使用像Gestouch这样的库

于 2012-12-21T13:20:01.397 回答