- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试构建一个简单的应用程序,当您在屏幕上按下/单击时它会播放一首歌曲。一旦您按下/单击,涟漪效应就会发生,同时也会产生视觉效果。
每次按下/单击时都会发生涟漪,但在我的代码中(每次单击都会重新启动),您按下并发生涟漪,但不会一直循环。我知道答案就在我嘴边,但我想不通。此外,当我的草图加载时,会出现一个紫色框,我不确定为什么。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="resources\p5.js"></script>
<script src="resources\p5.dom.js"></script>
<script src="resources\p5.sound.js"></script>
<script type="text/javascript" src="js\app.js"></script>
<link rel="stylesheet" href="css\style.css">
<title>Breathe</title>
</head>
<body>
</body>
</html>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
let outerDiam = 0;
let cnv;
let drawThings;
function centerCanvas() {
var x = (windowWidth - width) / 2;
var y = (windowHeight - height) / 2;
cnv.position(x, y);
}
function setup() {
cnv = createCanvas(600, 600);
centerCanvas();
background(255, 0, 255);
}
function windowResized() {
centerCanvas();
}
function draw() {
if (drawThings) {
background(255);
for (let i = 0; i < 5; i++){
let diam = outerDiam - 30 * i;
if (diam > 0){
let fade = map(diam, 0, width, 0, 255);
stroke(fade);
noFill();
ellipse(300, 300, diam);
}
outerDiam = outerDiam + 2;
}
}
}
function mousePressed() {
drawThings = !drawThings;
}
最佳答案
在您的 mousePressed 函数中,您从未真正重置动画,您只是切换播放。
function mousePressed() {
drawThings = !drawThings;
}
当您单击时它再次开始播放时,动画会从中断处继续播放。
不要在单击时关闭绘图,而是将 outerDiam
重置为 0。所以这个:
function draw() {
if (drawThings) {
[...]
}
function mousePressed() {
drawThings = !drawThings;
}
变成这样:
function draw() {
[...]
}
function mousePressed() {
outerDiam = 0;
}
“紫色框”也是由于背景在开始时设置为紫色而创建的:
function setup() {
[...]
background(255, 0, 255); //red is 255, green is 0 and blue is 255 so it appears purple
}
当您开始使用 draw() 中的背景函数绘制时,这会被覆盖,但是在您提供的代码中,背景会一直保持这种颜色,直到您单击,因为 drawThings
没有定义为开头和仅在您第一次单击时变为 true
。
如果您进行了我上面建议的更改,那么 setup() 中的这个背景将立即被覆盖,因此您根本不会看到紫色背景。 (我建议删除设置函数中的第一个后台函数。)
关于javascript - p5js 中 mousePressed 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58522737/
我创建这个是为了当在鼠标的 x 和 y 坐标处按下鼠标时画一条鱼。但我似乎没有调用drawfish 方法。我找不到它不起作用的原因。我将非常感谢任何帮助。 /*FishTank*/ impor
我用 Java 编写了一个简单的实用程序,可以让鼠标单击任意位置,每 X 毫秒一次: import java.awt.Robot; import java.awt.event.InputEvent;
我正在尝试做一些非常基本的事情:编写程序,在两点之间的框架上画一条线:按下鼠标的点和释放鼠标的点。 我有这些类(class): import java.awt.Graphics; public cla
我知道有很多关于 mousePressed 无法正常工作的线程,但我还没有找到问题的答案。我编写了一个程序,只是为了好玩和体验,但是我在使用 Robot 类的 mousePressed 方法时遇到了问
我正在制作有关处理的动画。然后,我有一个关于灯的问题。通常,我的代码比较长。但是,我制作了一个简单的代码,对初学者也很有用。 void setup() { size(400, 400, P3D);
当用户点击它时,我试图获取 JOGL 中像素的颜色。如果我将以下代码放入显示方法中(来自GLEventListener),它就可以正常工作。 FloatBuffer buffer = FloatBuf
所以我有一个标签,我想做下一个,默认情况下它以红色背景颜色开始,当我第一次单击(鼠标按下)时,我将背景颜色更改为绿色。 现在,我希望当我第二次按下它时,一旦我再次按下它,它就会变回红色。 就像是红色的
在 mousePressed 方法中,我无法使用任何与图形相关的方法,例如此代码将运行但不起作用 import org.newdawn.slick.GameContainer; import org.
我正在尝试在按钮 4 上使用鼠标事件。使用 时返回的值 int moused = MouseInfo.getNumberOfButtons(); 方法是5。除了右键单击按钮4之外,我不知道还有什么按钮
我有一小段原型(prototype)代码。 我试图让它在 mousePressed() 或 mouseClicked() 上单击的线条的颜色会改变。 我这辈子都无法弄清楚! 任何帮助将不胜感激! 我到
在下面的代码中,点击标签本应使其隐藏,但该方法从未被调用!我在这里错过了什么? package com.hermaryopto.lib.output.message; import java.
我正在编写一个程序,鼠标监听器 mousePressed() 似乎没有响应。我现在已经编写了一些 GUI 程序,并且比较了这些代码,我没有发现任何显着差异可以解释缺少鼠标监听的原因。以下代码不完整,其
我创建了一个 foreach 循环,它创建 ImageView 并使用 javafx 显示它们,但是找到的每个 ImageView 都必须有一个类似于 mousepressed 事件的事件,我已经编写
import java.awt.Frame; import java.awt.Graphics; import java.awt.event.MouseAdapter; import java.awt
我正在 Mac OSX 上使用 Eclipse 测试一个简单的 java 图形程序,代码如下: public void mousePressed(MouseEvent e) { System.
我已经安装了所有 p5 并且工作正常,但是每当我开始使用 mousePressed() 它就不起作用(keyPressed 也不起作用)。这是有问题的部分: //press play butt
我正在尝试构建一个简单的应用程序,当您在屏幕上按下/单击时它会播放一首歌曲。一旦您按下/单击,涟漪效应就会发生,同时也会产生视觉效果。 每次按下/单击时都会发生涟漪,但在我的代码中(每次单击都会重新启
我正在尝试访问 mousePressed ProcessingJS 片段中的属性,但得到 undefined。 这是我到目前为止尝试过的: $(document).ready(function(
为下面的函数运行println(game.gameOn) 仍然输出false。 为什么会这样模棱两可? 解决方案是什么? 也许我不能将对象作为参数传递给函数 mousePressed() void m
我创建了几个用于显示值的 JLabels(来自 MySQL),它们必须通过 mousePressed 进行切换,但每次单击后所有值都会覆盖其他值。 在显示新值时需要清除以前的文本吗?也许有比 JLab
我是一名优秀的程序员,十分优秀!