Javascript p5.js-使用translate时的碰撞检测

Javascript p5.js-使用translate时的碰撞检测,javascript,processing,p5.js,Javascript,Processing,P5.js,在使用p5 javascript库时,我遇到了一个似乎无法解决的问题。本质上,我想在p5.js中创建一条随机的圆圈“蛇” 我的代码看起来像这样 function setup() { createCanvas(400, 400) background(220) noFill() noLoop() } function draw() { translate(200,200) strokeWeight(1) for(j=0;j<5;j++) { sna

在使用p5 javascript库时,我遇到了一个似乎无法解决的问题。本质上,我想在p5.js中创建一条随机的圆圈“蛇”

我的代码看起来像这样

function setup() {
 createCanvas(400, 400)
  background(220)
  noFill()
  noLoop()
}

function draw() {
  translate(200,200)
  strokeWeight(1)
  for(j=0;j<5;j++) {
        snake() 
  }
}

function snake() {
  rad = 10
  ellipse(0,0,rad,rad)
  push()
  for(i=0;i<100;i++) {
    a = random(0,360)
    translate(rad*sin(a),rad*cos(a))
    ellipse(0,0,rad,rad)
  }
  pop()
}
函数设置(){
createCanvas(400400)
背景(220)
noFill()
noLoop()
}
函数绘图(){
翻译(200200)
冲程重量(1)

对于(j=0;j,您需要将圆的位置和大小存储在某种数据结构中,如数组中。然后在创建新圆之前检查这些圆

您可能可以使用
translate()
函数来执行此操作,但如果我是您,我会自己执行翻译。不要使用
translate()
函数,而是跟踪圆X和圆Y,并在绘制新圆时移动该点

这将允许您在屏幕坐标中工作,这将使操作更容易