Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript paper.js removeOnDown();在node.js和socket.io中_Javascript_Node.js_Canvas_Socket.io_Paperjs - Fatal编程技术网

Javascript paper.js removeOnDown();在node.js和socket.io中

Javascript paper.js removeOnDown();在node.js和socket.io中,javascript,node.js,canvas,socket.io,paperjs,Javascript,Node.js,Canvas,Socket.io,Paperjs,我使用Paper.js 0.9.18和node socket.io 1.0.6构建了一个协作板。 鼠标按下时,.png图像将在画布中绘制,并且对所有连接的用户可见。 第二次鼠标点击,一个新的png图像将被绘制到画布上对所有用户可见的任何新位置,第一个图像将被同时删除,但仅限于本地 path.removeOnDown 这只适用于活动用户自己的画布。但不会删除所有其他用户的.png图像。我的问题是,Paper.js的.removeOnDown是如何实现的;是否在node&socket.io中工作?有

我使用Paper.js 0.9.18和node socket.io 1.0.6构建了一个协作板。 鼠标按下时,.png图像将在画布中绘制,并且对所有连接的用户可见。 第二次鼠标点击,一个新的png图像将被绘制到画布上对所有用户可见的任何新位置,第一个图像将被同时删除,但仅限于本地

path.removeOnDown

这只适用于活动用户自己的画布。但不会删除所有其他用户的.png图像。我的问题是,Paper.js的.removeOnDown是如何实现的;是否在node&socket.io中工作?有什么想法吗?也许还有其他方法可以实现这一点

我使用的纸质脚本

assets/js/script.js:

function onMouseDown(event) {
    var x = event.point.x;
    var y = event.point.y;
    var rotate = ff;
    drawAircraft( x, y, rotate);
    // Pass the data for this position and rotate of the png image
    // to a special function for later
    emitAircraft( x, y, rotate);
} 

function drawAircraft( x, y, rotate ) {
    // Render the circle with Paper.js:
    var raster = new Raster('./assets/img/Black-Aircraft-Icon.png');
    raster.position = [x,y];
    raster.scale(0.2);
    raster.rotate(rotate);
    // Refresh the view, so we always get an update:
    view.draw();
html:

提前感谢大家

太阳

// Remove the path (raster), next time the mouse is pressed:
raster.removeOnDown();
}

// An object to describe the aircraft draw data
function emitAircraft( x, y, rotate ) {
    var data = {
        x: x,
        y: y,
        rotate: rotate
    };
    // send a 'drawAircraft' event with data to the server
    socket.emit( 'drawAircraft', data)
    console.log( data )
}

socket.on( 'drawAircraft', function( data ) {
    console.log( data );
    // Draw the circle using the data sent from another user
    drawAircraft( data.x, data.y, data.rotate );
})
<canvas id="draw" resize="true" keepalive="true"></canvas>
<script src="assets/js/paper-full.js"></script>
<script type="text/paperscript" src="assets/js/script.js" canvas="draw"></script>