Leap Motion API類庫:InteractionBox

1.InteractionBoxcanvas

    interactionbox類表示一個可視的,徹底在Leap Motion控制器內的,盒子形狀的區域框架

    這個交互的盒子是一個軸對齊的矩形棱鏡,在這個盒子中,提供了標準化的手,手指和工具,及他們的座標。函數

    可使它更容易在二維或三維座標系中應用繪圖。工具

    interactionbox區域由一箇中心沿X,Y和Z軸的定義。spa

    下面的例子演示瞭如何使用InteractionBox將一個手指的座標映射到繪圖畫布的區域中:code

<canvas id="displayArea" width="200" height="100" style="background:#dddddd;"></canvas>
<script>
var canvasElement = document.getElementById("displayArea");
var displayArea = canvasElement.getContext("2d");

var controller = new Leap.Controller();
controller.on("frame", function(frame){
    if(frame.pointables.length > 0)
    {
        canvasElement.width = canvasElement.width; //clear
        
        //Get a pointable and normalize the tip position
        var pointable = frame.pointables[0];
        var interactionBox = frame.interactionBox;
        var normalizedPosition = interactionBox.normalizePoint(pointable.tipPosition, true);
        
        // Convert the normalized coordinates to span the canvas
        var canvasX = canvasElement.width * normalizedPosition[0];
        var canvasY = canvasElement.height * (1 - normalizedPosition[1]);
        //we can ignore z for a 2D context
        
        displayArea.strokeText("(" + canvasX.toFixed(1) + ", " + canvasY.toFixed(1) + ")", canvasX, canvasY);
    }
});
controller.connect();
</script>

    (1)構造器    InteractionBox()orm

    能夠不建立本身的interactionbox對象。從框架獲得了有效的interactionbox。interactionbox()。對象

    此構造函數建立無效interactionbox的對象。ip

相關文章
相關標籤/搜索