首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在p5.js中使用箭头键移动Matter.js主体?

如何在p5.js中使用箭头键移动Matter.js主体?
EN

Stack Overflow用户
提问于 2020-08-06 11:20:25
回答 1查看 1.9K关注 0票数 2

目前,我正试图在JavaScript中为一个学校项目制作一个2d坦克游戏,并处理我正在使用的物理库matter.js和p5.js进行渲染的物理问题。

到目前为止,我有一个基本的画布,在墙壁和地板上有边界,这样物体就不能脱离屏幕,然而,下一个任务是能够用箭头键左右移动一个盒子(后来会变成一个坦克)。我以前在纯JS中做过类似的事情,只需使用事件侦听器来判断左右箭头键何时被按下,然后将对象重绘到左侧或右侧5个像素。然而,这种方法在Matter.js中不起作用,这让我非常困惑。

下面是Here()函数,我目前正在尝试用不同的方法来解决这个问题:

代码语言:javascript
运行
复制
function draw() {
    background(51);
    Engine.update(engine);
    for (var i = 0; i < boxes.length; i++) {
        boxes[i].show();
    }
     if(rightPressed) {
         box1.position.x += 7
     }
    if(leftPressed) {
        Body.applyForce(box1, {x: box1.position.x, y: box1.position.y}, {x: 0.05, y: 0});
    }
    for (var i = 0; i < boundaries.length; i++) {
      boundaries[i].show();
    }
    for (var i = 0; i < circles.length; i++) {
        circles[i].show();
        if (circles[i].isOffScreen()) {
            circles[i].removeFromWorld();
            circles.splice(i, 1)
            i--;
        }
    }
}

setInterval(draw, 10)

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-06 19:48:23

使用keyIsDown()函数检查特定的键输入。一个例子是:

代码语言:javascript
运行
复制
draw(){

   if(keyIsDown(LEFT_ARROW)){
      //code xyz
     }

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

https://stackoverflow.com/questions/63282469

复制
相关文章

相似问题

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