Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将p5js草图转换为处理的问题

将p5js草图转换为处理的问题
EN

Stack Overflow用户
提问于 2016-08-19 20:35:47
回答 1查看 209关注 0票数 2

我将p5js scetch转换为processing,因为我想生成mov文件。scetch是基于daniel shiffman在kadenze上的一个教程,但我现在遇到了一个布尔输出的问题。如何在processing中编写这段p5js代码?

代码语言:javascript
运行
AI代码解释
复制
function draw() {
  for( var i = 0; i < particles.length; i++) {
    if(particles[i].isDead()) {
     //code
    }
  }
}

function Particles() {
  this.isDead = function() {
    var distance = p5.Vector.sub(attractor.pos, this.pos);
    var d = distance.mag();

    if(d < 5) {
      return true;
    } else {
      return false;
    }
  }
}

首先我尝试了void,但是void没有输出。然后我试着用boolean做一些类似的事情,但同样不起作用。

代码语言:javascript
运行
AI代码解释
复制
void setup() {
  //code
}

void draw () {
  for (int i = 0; i < particles.length; i++) {
    if(particles[i].isDead()) {
      //code
    }
  }
}

Class Particle {
  Particle() {
    //code
  }

  boolean isDead() {
    PVector distance = PVector.sub(a.location, location);
    float d = distance.mag();

    if(d < 5) {
      return true;
    } else {
      return false;
    }
  }
}

如果有人能帮我,那就太好了。

关于mattias

EN

回答 1

Stack Overflow用户

发布于 2016-08-21 16:29:39

第一个问题是,如果isDead()返回true,那么您实际上并没有做任何事情。实际上,您需要将代码放在该if语句中,或者将该if语句移动到有逻辑意义的地方。

例如,您可以修改Mover类中的display()函数,使其在Mover失效时显示为绿色:

代码语言:javascript
运行
AI代码解释
复制
  void display() {
    if (isDead()) {
      fill(0, 255, 0);
    } else {
      fill(255, 0, 0);
    }
    stroke(0);
    strokeWeight(2);

    ellipse(location.x, location.y, 10, 10);
  }

这只是一个例子,您实际做什么取决于您希望在Mover死掉时发生什么。

但是,即使您进行了更改,您也会注意到,只有当Mover到达灰色圆圈的中间时,它才会消失。这是因为您的isDead()函数中包含以下if语句:

代码语言:javascript
运行
AI代码解释
复制
PVector distance = PVector.sub(a.location, location);
float d = distance.mag();
if (d < 5) {
  return true;
} else {
  return false;
}

您正在测量灰色圆圈的中心和每个红色小圆圈的中心之间的距离。但仅当d < 5为。问题是灰色圆圈的直径是50,所以如果你想让红色的小圆圈在进入灰色圆圈时消亡,你必须在计算中考虑这个直径。请尝试使用if(d < 30)。我将直径50除以2,然后为小圆大小添加5,得到30。你可能不得不使用它来获得你想要的效果。

顺便说一下,您可能会对dist()函数感兴趣,该函数返回两点之间的距离。更多信息可以在the reference上找到。

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

https://stackoverflow.com/questions/39047288

复制
相关文章
Raspberry PI Nginx 安装
Raspberry PI Nginx 安装 1.      查看系统版本信息 root@raspberrypi:/tmp# cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 7.0 (wheezy)" NAME="Debian GNU/Linux" VERSION_ID="7.0" VERSION="7.0 (wheezy)" ID=debian ANSI_COLOR="1;31" HOME_URL="http://www.debian.org
囚兔
2018/02/08
1.1K0
Hello, Raspberry Pi.
最近在研究自动升级开源项目的时候偶然想到IoT领域的自动升级,突然想起2016年买的树莓派(Raspberry Pi)。那就分享一下如何入门树莓派的教程,我当时一共买了两块一款是Raspberry Pi 3b(2016年价格259元去年以抽奖送给社区小伙伴)另一块Raspberry Pi 3 Model b+(2018年价格221元)。在今年买了一块Raspberry Pico(24元)这些统称为开发板具体的型号如下:
JusterZhu
2022/12/07
3K0
Hello, Raspberry Pi.
Raspberry Pi(树莓派)
作者:matrix 被围观: 2,372 次 发布时间:2013-07-15 分类:兼容并蓄 零零星星 | 2 条评论 »
HHTjim 部落格
2022/09/26
6960
Raspberry Pi(树莓派)
Raspberry Pi开发实战
sudo apt-get autoremove xxxxxxxx同时移除必备软件包
云深无际
2020/08/12
9390
Raspberry Pi开发实战
Raspberry Pi 推出 Zero W
Raspberry Pi 基金会 推出了 Pi Zero W。作为 Pi Zero 的一个新型号,Pi Zero W 在主板上新集成了 WiFi 和蓝牙,其 10 美元的售价要比 Pi Zero 贵上一倍,但是与五年前发布的 Raspberry Pi Model B 的 35 美元售价相比依然便宜不少。具备主板联网功能的 Pi Zero W 将开启物联网项目的更好前景。
Debian中国
2018/12/20
1.1K0
SSH通过SSH代理连接到内网机器
操作步骤: 1.实现本地机器到代理机器的SSH连接。 ssh ftpuser@proxyip
旺财的城堡
2018/11/20
2K0
树莓派3(Raspberry Pi 3)
2、下载noobs lite即可(https://www.raspberrypi.org/downloads/noobs/),解压到SD卡中,启动Raspberry Pi 3
py3study
2020/01/07
1.1K0
树莓派 Raspberry Pi 连接 WiFi
在有显示器和鼠标键盘的情况下,而你安装的系统又是包含桌面图形界面的,那么直接开机,进入系统后,可以看到桌面如下图。
全栈程序员站长
2022/08/30
3K0
树莓派 Raspberry Pi 连接 WiFi
处理Raspberry Pi的RAW文件
树莓派的应用一般保存的文件都是jpg的,但是这种文件是有损的,有时候我们想要RAW文件来进行更加个性化的处理。
云深无际
2022/02/09
1K0
处理Raspberry Pi的RAW文件
树莓派Raspberry Pi 4安装Vulkan
树莓派Raspberry Pi 3B+安装OpenCL:树莓派Raspberry Pi 3B+安装OpenCL_小锋学长生活大爆炸-CSDN博客
小锋学长生活大爆炸
2021/12/04
1.4K0
树莓派Raspberry Pi 4安装Vulkan
如何在 Raspberry Pi 上安装 Ubuntu
Raspberry Pi 一直都是最流行的单板电脑。它可以被用作各种目的,例如:桌面PC,家庭影音中心,智能 WI-FI路由器,自动化操作系统和游戏服务器。用户场景数不胜数。
雪梦科技
2020/05/11
1.9K0
Raspberry Pi 即将迎来 Vulkan 的支持
Raspberry Pi 基金会表示,他们正在致力于为 Raspberry Pi 提供开源 Vulkan 驱动程序的支持。
Debian中国
2020/02/17
1.3K0
使用QEMU模拟树莓派Raspberry Pi
被誉为 “世界上最流行最便宜的小型电脑” 的「树莓派」Raspberry Pi 是一款性价比超高的迷你电脑主机 (仅有信用卡大小), 深受全球开发者、极客、技术爱好者们的追捧和喜爱
yuanfan2012
2020/08/25
9.4K1
使用QEMU模拟树莓派Raspberry Pi
外网登录访问树莓派Raspberry Pi
本地的树莓派 Raspberry Pi,只能在局域网内访问,怎样从公网也能登录访问树莓派 Raspberry Pi?
码路
2018/11/27
1.9K0
Raspberry Pi 支持开源脑机接口
有许多不同的方法可以用来检测和解释人脑中的电活动,以便它可以用来控制其他外部设备,比如计算机。
脑机接口社区
2022/08/25
5210
Raspberry Pi 支持开源脑机接口
在Raspberry Pi上重温Amiga 【Gaming】
我对复古游戏和让我们有今天的生活的电脑历史的保存十分着迷。我认为大多数程序员都有一台帮助他们培养对编程热爱的机器;对我来说,那就是Commodore Amiga。我现在正在恢复几个Amiga,让他们重新工作。这将需要一些时间,但我想要一些可以迅速运行起来的东西,以便使我可以使用操作系统,并完成一些我从来没有完成过的孩子一样的游戏。
五月Rambo
2019/11/11
1.5K0
在Raspberry Pi上重温Amiga 【Gaming】
基于CodeSys和Raspberry Pi制作简单PLC
目前常见的PLC厂家有:SIEMENS、Rockwell、Schneider、Mitsubishi、Beckhoff、GE、Omron、台达……但常用的PLC编程语言都是相似的,比如LD、ST、FBD、CFC、IL、GRAPH等,CoDeSys支持LD、ST、IL、FBD、CFC等,用CoDeSys可以学习多种PLC编程语言,也可以向其他PLC编程软件切换,比如TwinCAT2和SoMachine就是基于CoDeSys开发的。用Raspberry Pi代替工业现场使用的PLC便于学习和各类研究等。
剑指工控
2021/11/09
2.6K0
基于CodeSys和Raspberry Pi制作简单PLC
实现在外网SSH远程访问内网树莓派的详细教程
在使用树莓派 (Raspberry Pi) 可以做的所有事情中,将其用作为家庭网络中的服务器非常流行。微小的占地面积和低功耗使其成为运行轻量级服务器的完美设备。
iOS Magician
2023/10/11
1.3K0
实现在外网SSH远程访问内网树莓派的详细教程
Raspberry Pi (树莓派) 3代A+版发布
近日Raspberry Pi(树莓派)基金会宣布发布树莓派3代A+版(Raspberry Pi 3 MODEL A+)。尺寸是标准的树莓派A+尺寸,继承了3代的双频2.4GHz和5GHz无线网络、蓝牙4.2/BLE,以及经过改进的散热管理。拥有64位四核1.4 GHz处理器,并且价格低至25美元。
Debian中国
2018/12/21
1.1K0
如何在局域网外SSH远程访问连接到家里的树莓派?
在使用树莓派 (Raspberry Pi) 可以做的所有事情中,将其用作为家庭网络中的服务器非常流行。微小的占地面积和低功耗使其成为运行轻量级服务器的完美设备。
iOS Magician
2023/10/11
7331
如何在局域网外SSH远程访问连接到家里的树莓派?

相似问题

有没有Android工具可以找到正在运行的应用的布局名称?

638

检查远程进程是否正在运行(linux)

20

Android检查应用程序中正在运行的服务

22

有没有工具可以检查正在运行的进程中的.NET对象?

41

Android穿戴检查手机应用程序是否正在运行

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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