首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大肠杆菌检测p5.js

大肠杆菌检测p5.js
EN

Stack Overflow用户
提问于 2017-08-12 13:10:53
回答 1查看 2K关注 0票数 0

只是想在p5.js中做一个简单的乒乓球游戏。最近,我进入了JavaScript,无法找到球与球棒之间的碰撞检测。我尝试过几种方法,但它基本上只是阻止了我的代码运行。等等。会喜欢任何帮助的!

这是我的源代码:

代码语言:javascript
复制
function setup() {     
  createCanvas(750, 750);
    } 

var x = 50;    
var y = 50;    
var direction = 5;    
var arrow = 0;    
var ball;    
var bat;

function draw() {     
  background(220);    
  fill ('white');    
  ball = ellipse (x, y, 50, 50);    
  x = x + direction;

  if (x > width - 25){    
    direction = -5;    
  }

  if (x < 25) {    
    direction = 5;    
  }

  x++;    
  y++;

  if (keyIsDown(RIGHT_ARROW)){    
    arrow += 7;    
  }

  if (keyIsDown(LEFT_ARROW)){    
    arrow += -7;    
  }

  fill ('black');    
  bat = rect(arrow, 600, 150, 15);
  }
EN

回答 1

Stack Overflow用户

发布于 2017-08-12 17:17:18

你的问题很宽泛,但基本上你想要做的是在球周围想象一个“包围矩形”,然后用矩形-矩形碰撞来检查球是否与桨碰撞。如果是的话,通过将球的水平速度乘以-1来“弹跳”球。

我编写了一个关于碰撞检测可用这里的教程,但是基本的if语句如下所示:

代码语言:javascript
复制
if(rectOneRight > rectTwoLeft && rectOneLeft < rectTwoRight && rectOneBottom > rectTwoTop && rectOneTop < rectTwoBottom){

您还可能希望阅读该教程的冲突检测与移动对象部分。它是为处理而编写的,但所有内容都适用于P5.js。

如果你有困难使它工作,那么请重新开始一个更基本的草图,只显示两个硬编码矩形。让它们在没有碰撞的时候变红。那就从那里往上爬。这是很难回答一般的“我如何做这个”类型的问题,所以如果你张贴一个具体的“我尝试了X,预期的Y,但得到Z”类型的问题,你会有更好的运气。祝好运。

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

https://stackoverflow.com/questions/45650655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档