2016-12-15 60 views
0

我开始学习P5.js,但是我在touchX和touchY上遇到了一些问题,我无法在网上找到任何相关文档。touchX和touchY没有在P5.js中定义

我从this网站复制了javascript代码,其主要将用鼠标和红线与触摸画一条蓝线。

我使用了Chrome F12开发工具的触摸模拟器,该工具在该网站上运行良好。

然后我创建了一个使用latest P5.js from cdn的HTML文件,除了当我使用触摸时,一切正常,它说touchX和touchY是错误的。

这里是JavaScript在script.js

function setup() { 
    createCanvas(windowWidth, windowHeight); 
    strokeWeight(5); 
    stroke(0); 
    fill(0); 
    background(255); 
} 

function draw() { 
    // draw stuff here 
} 


function touchMoved(){ 
    stroke(255, 0, 0); 
    line(touchX, touchY, ptouchX, ptouchY); 
    return false; 
} 

function touchEnded(){ 
    stroke(0, 0, 255); 
    line(touchX, touchY, ptouchX, ptouchY); 
    return false; 
} 

function mouseDragged(){ 
    stroke(0, 255, 0); 
    line(mouseX, mouseY, pmouseX, pmouseY); 
} 

还有就是HTML:

<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>p5JS Test</title> 
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css"> 
    <style> 
     body{ 
      overflow: hidden; 
     } 
    </style> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.5/p5.min.js"></script> 
    <script src="script.js"></script> 
</head> 
<body> 
    <h1>Draw lines!</h1> 
</body> 
</html> 

Here is the CodePen.

非常感谢。

回答

0

p5.js中没有touchX或touchY。相反,你可以使用mouseX和mouseY,因为如果有的话(我相信pMouseX和pMouseY也适用于之前的位置)。

但是,您可以使用touchStarted,touchMoved和touchEnded功能。如果您在事件部分here中查看这些文档,您可以看到正在使用的mouseX和mouseY的示例。