如何用圆圈替换光标,而不是在 p5.js 中将其绘制到画布上?

2024-03-02

问题:我正在尝试使用 p5.js 创建一个简单的绘图应用程序。我想在光标位置显示一个代表画笔大小的圆圈,而不是标准光标图像。

可能的解决方案1:使用替换光标cursor()p5 的原生函数。

为什么它不起作用: The p5光标功能 https://p5js.org/reference/#/p5/cursor仅采用以下参数:

箭头、十字、手、移动、文本或等待,或图像路径

因此,没有本地方法可以使用椭圆类替换光标。

可能的解决方案2:使用noCursor()函数,然后在光标位置绘制圆圈,同时还绘制背景,如下所示:

var brushSize = 50;

function setup() {
  createCanvas(1080,720);
  noCursor();
}


function draw() {
  background(100);
  ellipse(mouseX,mouseY,brushSize);

}

为什么它不起作用:虽然此解决方案获得了所需的效果,即将光标替换为画笔大小的圆圈,但不断更新的背景使我无法在需要时使用画笔实际绘制到画布上。

有什么方法可以替换光标而不实际将椭圆绘制到画布上?有没有办法在 p5 中保存并立即重新加载画布?我在 API 文档中搜索找不到这样的方法。任何提示表示赞赏。


根据参考资料 https://p5js.org/reference/#/p5/cursor,您可以将 URL 传递到cursor()设置图像的函数。

如果您想使用您绘制的图像,则必须提前绘制它们并将它们保存到文件中,然后使用这些文件。像这样的事情:

cursor('images/ellipse-15.png');

Where ellipse-15.png是您提前生成的图像,以匹配brushSize例如,是 15。

顺便说一句,P5.js 只是设置光标 CSS 属性。您可以阅读更多相关内容here https://developer.mozilla.org/en-US/docs/Web/CSS/cursor.

如果你想和noCursor()自己接近并绘制椭圆,您可以将绘图绘制到缓冲区(createGraphics()函数是你的朋友),然后在每一帧的顶部绘制椭圆。我仍然可能会使用十字光标,因为如果你自己绘制它会出现一些恼人的滞后。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用圆圈替换光标,而不是在 p5.js 中将其绘制到画布上? 的相关文章

  • 在 onclick 事件上请求麦克风

    有一天 我偶然发现了这个 Javascript 录音机的例子 http webaudiodemos appspot com AudioRecorder index html http webaudiodemos appspot com Au
  • 如何检查是否存在可能的路径?

    我正在开发一个基于 javascript 的实验性游戏 玩家必须在二维平铺地图上移动才能退出 请随意检查这个小提琴并演奏 http jsfiddle net moonlife 74vLd 我只是随机放置障碍物 但有时障碍物会挡住玩家和出口之
  • Bootstrap 标签栏平滑移动导航按钮

    我有一个用于切换块的普通引导选项卡面板 在导航中切换块时 活动选项卡会突出显示 但现在 当我单击活动选项卡的背景时 它会立即发生变化 是否可以使切换选项卡时背景不会立即改变 而是根据需要哪个选项卡而平滑地左右移动 这可以用以下方法完成吗cs
  • jQuery 可以操作插入的元素吗?

    我是 jQuery 的新手 我认为 jQuery 可以操作由代码添加的元素是合理的 但我发现现在还不能 function addVideo click function publisher append div div
  • 调用类实例方法 onclick javascript

    我有一个 javascript 文件 其中包含包含方法函数的类 我想知道如何从 onClick 事件调用类实例方法 function MyClass this instanceData Display Me this DisplayData
  • jQuery UI Datepicker 奇怪的行为

    我在使用 jqueryUI 使用简单的日期选择器时遇到了一个奇怪的问题 我只想显示两个月的日历 包括上个月和当前月份 我使用了这段代码 function picker datepicker numberOfMonths 2 showCurr
  • Visual Studio 改变 Ctrl-K-D 的工作方式

    In Visual Studio I m using 2012 is there any way of editing the way that Ctrl K D combinations handles its Auto Formatti
  • Pjax动画

    我终于让 pjax 工作了 但我还有另一个问题 如何添加一些 jquery 动画 如淡出 幻灯片旧内容和淡入 幻灯片新内容 默认情况下 pjax 只是更改内容 没有任何好看的效果 任何帮助将非常感激 此致 基本上 你有一堆事件 https
  • 如何调试超时等待异步 Angular 任务?无法在角度页面上找到元素

    编辑 请注意 在 ernst zwingli 的帮助下 我找到了问题的根源 因此 如果您遇到相同的错误 他指出的修复之一可能会帮助您 我的问题是量角器本身的一个已知问题 如果您认为这可能是您 我已经扩展了我的步骤 以在我最初的问题之后查明问
  • 为什么函数声明在不同浏览器中的处理方式不同?

    虽然我在谷歌中找不到对此的引用 但我熟悉这样一个事实 在 javascript 中 全局函数声明在执行任何代码之前都会被解释 换句话说 这工作得很好 f function f 但是 我注意到 chrome 和 firefox 对全局函数声明
  • 修改 Twitter 帖子上可编辑 Div 的内容

    我正在编写一个 chrome 扩展 它可以帮助用户在 Twitter 上输入内容 当在 twitter 上写推文时 twitter 会打开一个可编辑的 div 容器 当用户输入内容时 twitter 大概正在使用某些网络框架 会生成子 di
  • 引用自身的 Javascript 对象...有问题吗?

    由于 Javascript 允许通过引用分配复合值 因此如果 Javascript 对象引用自身 它将创建无限的引用集 如控制台中所示 这看起来像是某种无限循环 但 Chrome 似乎没有问题 这样做是否存在任何内存问题或其他风险 就记忆力
  • 如何使用 GreaseMonkey 让浏览器恢复“/”键?

    Lots of web pages seem to use the key for searching I d like to disable that because 100 of the time I want to use to se
  • jQuery 中什么函数相当于 .SelectMany()?

    让我解释一下 我们知道 jQuery 中的映射函数充当 Select 如 LINQ 中 tr map function return this children first returns 20 tds 现在的问题是我们如何在 jQuery
  • 使 Bootstrap Popover 在悬停而不是单击时出现/消失

    我正在使用 Bootstrap 构建一个网站Popover http twitter github com bootstrap javascript html popovers我不知道如何使弹出窗口出现在悬停而不是单击时 我想做的就是当有人
  • 如何使用 jQuery 单击特定链接时打开引导导航选项卡的特定选项卡?

    我是 jquery 和 bootstrap 的新手 所以请考虑我的错误 我已经创建了一个用于登录和注册的 bootstrap 模式 它包含两个导航选项卡 称为登录和注册 我有两个按钮可以弹出相同的模态窗口 但在模态窗口内显示不同的选项卡 每
  • 在 Android Chrome 中隐藏 HTML5 音频/视频通知

    我的网络应用程序上有一个 HTML5 音频元素 在某些时候 我使用以下代码以编程方式停止播放 audioElement pause audioElement currentTime 0 播放音频时 我的 Android 设备 使用 Goog
  • 标记(Markdown)+ Mermaid(流程图和图表)

    努力去争取 美人鱼 https github com knsv mermaid https github com knsv mermaid跟 共事 标记 https github com chjj marked https github c
  • Keycloak-js updateToken(minValidity) 需要澄清

    我在Keycloak js中阅读了很多该方法的示例 但没有对以下方法进行明确的解释 updateToken minValidity number KeycloakPromise
  • $ 在 JQuery 中意味着什么

    在下面的 var obj one 1 two 2 three 3 four 4 five 5 each obj function i val console log val 这里是什么意思 是对象吗 是一个别名jQuery对象 函数 它充当

随机推荐

  • 为什么 XHTML 中的


    不同?

    这是 HTML 页面的完整源代码 one br two br three br four 谁能解释为什么当我在 IE8 或 chrome 中查看页面时 三 和 四 之间会出现额外的空行 我认为标准应该让所有浏览器看起来都一样 据我所知 这个
  • 自动将 CSV 文件导入 SQL Server [重复]

    这个问题在这里已经有答案了 我正在尝试将许多不同的 csv 文件导入 SQL Server 2008R2 数据库 文件中的数据以逗号分隔 我对文件格式没有发言权 有些列是文本 并用双引号分隔 就像在 Excel 中一样 这些列包含的文本可能
  • 在View的背景中画一个半圆

    我正在尝试创建一个背景为半圆的 TextView 我使用 ShapeDrawable 创建一个椭圆形 我尝试使用 ScaleDrawable 将椭圆形的垂直尺寸加倍并剪辑它来创建半圆 但是 ScaleDrawable 没有任何效果 为什么不
  • 我可以使用新的 ZeroClipboard 从剪贴板获取数据吗?

    我在项目中使用这个新版本的 ZeroClipboard https github com jonrohan ZeroClipboard https github com jonrohan ZeroClipboard 创建按钮来从 HTML
  • python中的加权非负最小二乘线性回归[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道有一个加权 OLS 求解器 http statsmodels sourceforge net d
  • 是否可以自定义 Visual Studio 2017 SSRS rptproj MSBuild 文件?

    我的公司对自定义 MSBuild 目标文件库进行了大量投资 我们用它来构建完整的产品 我们在源代码管理中拥有的每个项目文件都会导入至少一个自定义目标文件 这些文件最终都会导入一个包含大量通用目标和属性的核心目标文件 最近 我们在我们的解决方
  • 给定输入生成真值表?

    是否有一种智能算法可以获取多个概率并在多维数组或容器内生成相应的真值表 Ex n 3 N 0 0 0 0 0 1 0 1 0 1 1 1 我可以使用 for 循环和 If 来完成此操作 但我知道我的方法会很慢且耗时 因此 我想问是否有一种高
  • Bootstrap 3 - 更改下拉菜单背景颜色

    我对 Bootstrap 很陌生 我设置了一个下拉菜单并尝试了颜色 我想做的是在选择下拉标题药丸后更改其颜色 它目前变为浅灰色 这是我的代码 div class row hidden xs div class col md 12 ul cl
  • 无法在 Selenium (Python) 中定位元素

    我尝试在 Chrome 中使用 Selenium 但无法在页面上找到元素 我尝试使用链接文本 XPath 和完整 XPath 但只有一个错误 并且没有单击该元素 from selenium import webdriver from sel
  • Python:使用递归算法作为生成器

    最近 我编写了一个函数来生成具有重要约束的某些序列 这个问题是通过自然递归解决方案来解决的 现在 即使对于相对较小的输入 序列也有数千个 因此我更愿意使用我的算法作为生成器 而不是使用它来填充所有序列的列表 这是一个例子 假设我们想用递归函
  • 如何将字母表中的 3 个字母前移(凯撒密码)?

    我正在尝试制作一个程序来加密用户提交的字符串 我想使用一种加密技术 其中字符串是字母表中的前 3 个字母 例子 abc会成为def 目前我有一个文本框 TextBox1 和一个按钮 Button1 到目前为止我的代码 Private Sub
  • 在Eclipse中通过项目搜索

    如何在Eclipse中通过项目搜索某个单词 当我启动 CTRL h 时 我需要选择字段 方法或 但我需要查找项目中所有出现的情况 而不是方法 字段或 如何实现这一目标 CTRL H gt File Search gt Containing
  • 如何将文件添加到应用程序沙箱中的 /Documents 目录

    这是我所在的地方 I have JSON files I need to mount into Objective C Objects I have an XCode Project I have dragged the folder of
  • Javascript 无法解析相对于当前脚本的工作路径

    我有一个脚本在http localhost js foo js需要从文件中生成一个 Web Workerhttp localhost js fooWorker js 我以为我可以做这样的事情 var worker new Worker fo
  • 文本区域编辑器 Redactor。使用 jQuery 插入值

    有字段文本区域id tr 使用 HTML 编辑器 Redactor 最新版本 尝试按照 API 文档中的描述准确设置字段的值 tr redactor insertText text or tr redactor insertHtml tex
  • “冻结”张量流中的一些变量/范围:stop_gradient 与传递变量以最小化

    我正在尝试实施对抗性神经网络 http arxiv org abs 1406 2661 这需要在交替训练小批量期间 冻结 图的一个或另一部分 IE 有两个子网 G 和 D G Z gt Xz D X gt Y 其中损失函数G依赖于取决于D
  • 抓取文本然后将该文本提交到特定路径

    我想做的是抓取文本 然后将该文本提交到接受表单输入 name mykeyword 的特定应用程序路径 并且我也希望在浏览器的新选项卡中打开它 我做了一些练习 但没有运气 任何想法 ScanTitle click function var m
  • 拦截html按钮点击

    当用户点击 html 按钮时是否有可能拦截 我有一个 webviewclient 它加载带有两个按钮的登录页面 允许和拒绝 我希望您在按下拒绝按钮时进行拦截 拒绝和允许具有相同的 basUrl 和 js 执行正确的重定向 提前致谢 您可能不
  • 在 javascript 中的对象数组中搜索深度嵌套的值

    我基本上试图实现对任何给定值的搜索应该在对象键值数组中查找 也可以是嵌套对象 这是一个例子 下面的函数将采用一个对象和一个查询来搜索数组对象键值 因此 如果找到匹配项 它应该从该数组中进行过滤 function searchObj obj
  • 如何用圆圈替换光标,而不是在 p5.js 中将其绘制到画布上?

    问题 我正在尝试使用 p5 js 创建一个简单的绘图应用程序 我想在光标位置显示一个代表画笔大小的圆圈 而不是标准光标图像 可能的解决方案1 使用替换光标cursor p5 的原生函数 为什么它不起作用 The p5光标功能 https p