首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用keyIsDown (p5.js)移动形状

如何使用keyIsDown (p5.js)移动形状
EN

Stack Overflow用户
提问于 2017-08-05 01:57:13
回答 2查看 827关注 0票数 1

所以我试着用p5.js在画布上做一个形状移动。然而,它所做的就是在新分配的位置重新绘制相同的形状,而不删除旧位置中的形状,留下某种轨迹,并且不像我想要的那样完全移动它。你可以在这里看到结果。

下面是我的"Player“类的代码(我想移动的形状):

代码语言:javascript
运行
AI代码解释
复制
function Player() {
    this.hp = 10;
    this.x = 230;
    this.y = 240;
    this.color = "red";
    this.r = 10;

    this.spawn = function(){
        fill(this.color);
        noStroke();
        rect(this.x, this.y, this.r*2, this.r*2);
    }
}

这是我在p5.js中设置和绘制函数中的代码:

代码语言:javascript
运行
AI代码解释
复制
var p1;

function setup() {
    createCanvas(500, 500);
    background("green");
    p1 = new Player();;
}

function draw() {
    p1.spawn();
    if (keyIsDown(LEFT_ARROW)) { 
        p1.x--;
    }
    if (keyIsDown(RIGHT_ARROW)) {
        p1.x++;
    }
    if (keyIsDown(UP_ARROW)) {
        p1.y--;
    }
    if (keyIsDown(DOWN_ARROW)) {
        p1.y++;
    }
}

任何帮助都将不胜感激。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-05 09:22:03

您需要使用background()函数清除旧帧。您通常应该从background()函数的第一行调用draw()。下面是一个例子:

代码语言:javascript
运行
AI代码解释
复制
function setup() {
  createCanvas(200, 200);
}

function draw() {
  background(64);
  ellipse(mouseX, mouseY, 25, 25);
}
代码语言:javascript
运行
AI代码解释
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.11/p5.min.js"></script>

尝试将对background()函数的调用移动到setup()函数,以了解我的意思。

票数 0
EN

Stack Overflow用户

发布于 2022-01-12 23:01:05

你只要用

代码语言:javascript
运行
AI代码解释
复制
if (keyDown(the key you want to use)) {
 
}

代码语言:javascript
运行
AI代码解释
复制
if(keyDown("the key you want to use")){


}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45520574

复制
相关文章
如何在Visual Studio中调试.NET源码
In order to configure Visual Studio 2013 do the following in the Tools -> Options -> Debugging -> General menu:
卡尔曼和玻尔兹曼谁曼
2019/01/22
2.1K0
如何在Visual Studio中调试.NET源码
如何在 Visual Studio 2019 中连接中国版 Azure
做国内项目很可能用到中国版的 Azure,即世纪互联运营的 azure.cn。然而 Visual Studio 2019 默认连接的是国际版的 Azure,如何添加中国版订阅呢?
Edi Wang
2019/12/16
3.6K0
如何在 Visual Studio 2019 中连接中国版 Azure
Visual Studio 命令提示符
Visual Studio 命令提示和 SDK 命令提示会自动设置环境变量,使您能够轻松使用 .NET Framework 工具。 在 .NET Framework 4 版 和更高版本中,应使用 Visual Studio 命令提示,它可从“Visual Studio 工具”中获取。对于 .NET Framework 的较早版本,可以使用 Visual Studio 命令提示符或 SDK 命令提示。SDK 命令提示包含在 .NET Framework version 2.0 Software Develop
hbbliyong
2018/03/05
1.4K0
如何在 Debian 10 上安装 Visual Studio Code
Visual Studio Code 是一个由微软开发的开源的,跨平台的代码编辑器。它包含内建的调试支持,嵌入的 Git 版本控制,语法高亮,代码自动完成,集成终端,代码重构以及代码片段功能。 Visual Studio Code 还可以使用扩展插件。
雪梦科技
2020/05/09
7.1K1
如何在 Debian 10 上安装 Visual Studio Code
如何在 CentOS 8 上安装 Visual Studio Code
Visual Studio Code 是一个由微软开发的开源的,跨平台的代码编辑器。它包含内建的调试支持,嵌入的 Git 版本控制,语法高亮,代码自动完成,集成终端,代码重构以及代码片段功能。
雪梦科技
2020/05/11
6.7K3
如何在 CentOS 8 上安装 Visual Studio Code
如何在 Ubuntu 20.04 上安装 Visual Studio Code
Visual Studio Code 是一个由微软开发的强大的开源代码编辑器。它包含内建的调试支持,嵌入的 Git 版本控制,语法高亮,代码自动完成,集成终端,代码重构以及代码片段功能。
雪梦科技
2020/05/11
2.4K0
如何在 Ubuntu 20.04 上安装 Visual Studio Code
如何在 Ubuntu 20.04 上安装 Visual Studio Code
https://www.itcoder.tech/posts/how-to-install-visual-studio-code-on-ubuntu-20-04/
雪梦科技
2020/05/04
3.5K0
如何在 Ubuntu 20.04 上安装 Visual Studio Code
Linux嵌入式开发——shell命令
文章目录 Shell命令 目录信息查看——ls 目录切换——cd 当前路径显示——pwd 系统信息查看——uname 清理屏幕——clear 显示文件内容——cat 切换用户身份——sudo 切换用户——su 创建文件——touch 文件拷贝——cp 删除——rm 创建文件夹——mkdir 目录删除——rmdir 移动文件——mv 显示网络配置信息——ifconfig 重启——reboot 关机——poweroff 系统帮助——man 数据同步写入磁盘——sync 查找文件——find 查找内容——grep
小点点
2022/12/12
6.9K0
Visual Studio 2010 中JS注释制作
  Visual Studio 2010中的js注释已经很强大了,但怎么才能和调用c#的方法一样容易呢?怎样才能让每个参数都有注释说明呢?底下就是想要的答案。   先上图,如图所示: 其中红色的办法
磊哥
2018/05/08
2.6K0
Visual Studio 2010 中JS注释制作
在 Visual Studio 中配置 Eigen库
Eigen是一个开源的C++库,主要用来支持线性代数,矩阵和矢量运算,数值分析及其相关的算法。Eigen 目前(2022-04-17)最新的版本是3.4.0(发布于2021-08-18),除了C++标准库以外,不需要任何其他的依赖包。Eigen库的下载地址为:https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.zip
全栈程序员站长
2022/09/27
4.3K0
Visual Studio中配置sqlite3
把包含二进制文件的那个压缩包解压之后,打开Visual Studio Developer Command Prompt
灯珑LoGin
2022/10/31
1.4K0
Visual Studio中配置sqlite3
Visual Studio LightSwitch
LightSwitch是一个基于模板的自动化开发Silverlight和HTML5应用程序的工具,不同于一般的基于数据字典,配置生成的应用程序的工具,因为LightSwtich提供的所有模板都是可以扩展的,自定义开发的,包括页面布局,数据源,使用的控件。非常方便植入.net的代码。 LightSwitch是一个被裁剪后的VS产品,用来更容易地进行业务处理(Line of Business,LoB)应用程序的开发,有点类似Access。LightSwitch 提供最简单的方法创建面向云和桌面的商业应用程序。
张善友
2018/01/29
1.6K0
如何在 Bash shell 脚本中解析命令行选项
在 Bash 中解析选项的策略是循环遍历所有传递给 shell 脚本的参数,确定它们是否是一个选项,然后转向下一个参数。重复这个过程,直到没有选项为止。
用户8639654
2021/09/01
1.7K0
如何在 WordPress 中嵌入 iFrame
Iframe 是一种将网页嵌入到另一个页面的内容中的方法。这是通过使用 HTML 元素、外部网站的 URL 以及窗口在您的网站上的外观参数来实现的。
海拥
2022/12/11
2.4K0
如何在 WordPress 中嵌入 iFrame
【开发环境】安装 Visual Studio Code 开发环境 ( 下载 Visual Studio Code 安装器 | Visual Studio Code )
进入 Visual Studio Code 下载页面 https://code.visualstudio.com/ ;
韩曙亮
2023/03/30
1.9K0
【开发环境】安装 Visual Studio Code 开发环境 ( 下载 Visual Studio Code 安装器 | Visual Studio Code )
如何在 Visual Studio 编译调试 Windows 版本的 Nginx 源码?
在我们的《C/C++ 网络编程实战训练营》第二课,我们给大家布置了两个作业,其中之一是为 Nginx 源码制作一个 Visual Studio 工程文件,可以在 Visual Studio 中调试 Windows 版本的 Nginx,这个作业的目的是:
范蠡
2023/01/04
2.1K0
如何在 Visual Studio 编译调试 Windows 版本的 Nginx 源码?
[Setting]Visual Studio中的ipch和*.sdf文件
用VS做开发的时候,VS会在项目文件夹下自动的生成一个ipch的文件夹和(项目名).sdf的文件,这两个文件都是奇大无比。这些文件是Visual Studio 2010用来保存预编译的头文件 和Intellisense 用的,删除这些文件对于工程的开发完全没有影响。
祥知道
2020/03/10
2.8K0
在 Visual Studio Code (VS Code) 中设置
在 Visual Studio Code (VS Code) 中设置代理服务器的详细教程如下:
用户614136809
2023/10/25
1.3K0
git命令中带有特殊符号如@
使用带用户密码clone的方式: git clone https://username:password@remote 当username和password中含有特殊符号会导致出错, 因为为http的请求,所以需要将特殊符号encode成url格式的 java使用: String c = java.net.URLEncoder.encode(".","utf-8"); System.out.println(c); 源文档 <http://blog.csdn.net/qq1142003960/article/
千往
2018/01/24
2.1K0
点击加载更多

相似问题

如何在visual studio代码中集成git bash

22

将Git Bash与Visual Studio集成

80

Visual Studio代码中git集成的困惑

16

Visual Studio代码、PowerShell和Git Bash

253

在窗口上设置Git Bash中的火花壳

35
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文