派筹生活圈
欢迎来到派筹生活圈,了解生活趣事来这就对了

首页 > 趣味生活 正文

processing鼠标按下触发(用Processing实现鼠标按下效果)

jk 2023-08-21 11:14:19 趣味生活325

用Processing实现鼠标按下效果

Processing是一款适用于艺术家、设计师、程序员和教育工作者的开源编程语言和集成开发环境。它具有直观的API、简单易用的语法和强大的图形能力,开发者可以通过Processing来实现创意想法。

鼠标按下的基础知识

在Processing中,鼠标按下事件可以通过mousePressed()函数来实现。这个函数是一个系统提供的回调函数,当鼠标按下时,Processing会自动调用该函数,并传递鼠标的相关信息(如鼠标的坐标、按下的键位等)。我们通过在函数中实现相应的操作,就可以实现鼠标按下事件。

下面是一个简单的鼠标按下示例代码:

```java void setup() { size(400, 400); } void draw() { background(255); } void mousePressed() { ellipse(mouseX, mouseY, 50, 50); } ```

这个代码会在屏幕上创建一个400*400的画布,并在鼠标按下时绘制一个半径为25的圆圈,圆圈的位置是鼠标的位置。

鼠标按下的样式调整

在上面的示例代码中,我们实现了鼠标按下时绘制一个圆圈的功能,但是这个圆圈的样式比较单一。我们可以通过调整圆圈的颜色、大小、边框等属性,来使它更加丰富多彩。

下面是一个添加样式调整的代码示例:

```java void setup() { size(400, 400); } void draw() { background(255); } void mousePressed() { noStroke(); // 取消边框 fill(random(255), random(255), random(255)); // 随机颜色 ellipse(mouseX, mouseY, random(20, 50), random(20, 50)); // 随机大小 } ```

在这个代码中,我们根据需求设置了以下属性:

  • 取消边框:使用noStroke()函数
  • 随机颜色:使用fill()函数,传递随机的RGB值
  • 随机大小:使用ellipse()函数,传递随机的半径值

鼠标按下的应用示例

通过基础知识和样式调整,我们可以实现一些有趣的鼠标按下效果。下面是几个应用示例:

绘制连续线条

通过记录鼠标的位置,我们可以在鼠标按下后绘制连续的线条。下面是一个连续线条示例代码:

```java void setup() { size(400, 400); } void draw() { background(255); } void mousePressed() { stroke(random(255), random(255), random(255)); // 随机颜色 strokeWeight(random(1, 5)); // 随机线条粗细 line(pmouseX, pmouseY, mouseX, mouseY); // 绘制线条 } ```

在这个代码中,我们使用stroke()函数和strokeWeight()函数设置了随机颜色和粗细,然后在mousePressed()函数中使用line()函数绘制线条。pmouseX和pmouseY表示上一个鼠标位置,mouseX和mouseY表示当前鼠标位置,通过连接这两个点,就可以实现连续线条的效果。

绘制有机形状

通过把线条的起点和终点连接起来,我们可以绘制出各种有机形状。下面是一个有机形状的示例代码:

```java float[] xPositions = new float[10]; float[] yPositions = new float[10]; void setup() { size(400, 400); } void draw() { background(255); for(int i=0; i在这个代码中,我们使用数组存储了10个点的坐标,然后随机生成了这10个点的位置。在鼠标按下时,我们将第一个点设置为鼠标的位置,并将其他点随机分布在屏幕中。在绘制过程中,我们连接每两个点之间的线条,并随机设置线条的颜色和粗细,从而绘制出了有机形状。

总结

通过上面的示例代码,我们学习了如何使用Processing实现鼠标按下效果,并了解了如何调整绘图样式和应用鼠标事件。这只是Processing的冰山一角,通过深入学习,我们可以实现更加复杂的图形创作和交互效果。

猜你喜欢