问题标签 [breakout]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C# XNA - 突破式球物理
我正在为大学作业创建一个项目,但遇到了一些障碍。这个问题很小,很可能会被忽视,但它仍然困扰着我,作为一个完成工作的程序性人,在解决之前我不能继续其他任何事情。
我的桨和球代码工作正常,以及基于球撞击桨的位置的简单角速度,但我的问题是球何时撞击砖块。该代码大部分都有效,并且看起来完美无瑕,但是当球执行以下两件事之一时,情况会发生变化:
- 击中砖块的一个角可能会错误地反转球速度的错误轴
- 同时击中两块砖(在它们的角落)会使球穿过它们并将它们移开;即使他们完全健康。
我使用的代码在这里(Ball.cs):
编辑(更新代码):
这些方法是从 Level.cs 的 Update 方法中调用的:
球的碰撞方法决定了球的新速度值。如您所见,它完全取决于球的位置,而不是球的位置。此外,我对球正在碰撞的最近的砖块运行碰撞检查,但我降低了球接触的所有砖块的生命值(因此,速度只会根据最近的砖块更新,而不是所有碰撞的砖块)。
我理解为什么它会给我带来问题,这可能是因为球同时击中两侧(当它击中角落时)。
就像我说的,这是一个小问题,但仍然会影响游戏体验,尤其是当您期望球在逻辑上朝一个方向移动时,它只会朝相反的方向移动。
java - 突围游戏java
我正在创建突破游戏,它不只是显示砖块、桨和球。我认为它在我在breakin类中的for语句中。我在paddles.getW中添加了paddles。获取 Y +paddles.getH 并在下一个 for 语句中添加了 balls.getD。
桨.java:
球.java:
砖.java:
python - 如何从两者的交点制作矩形?
我正在研究一个突破克隆,我一直在试图弄清楚如何获得两个碰撞矩形的相交矩形,这样我就可以测量球在 x 和 y 轴上进入块的深度并决定哪个组件速度我会反转。
我想我可以像这样计算每种情况的深度:
但是,如果我有交叉点,那么我就不必担心球是否从左/右或上/下击中了块(因为我只会分别反转 x 和 y 轴),从而为我节省了很多的打字。
我查看了Pygame 的文档,但似乎没有相应的功能。我将如何解决这个问题?
c# - 关键功能不起作用c#
如我所见,我的代码没有问题,这是一款突破性游戏,但出于测试目的,我需要能够使用键http://pastebin.com/fJWk1ifH手动上下左右
java - Move a ball on mouse click in Java
I'm trying to create the classic Breakout game as part of my programming assignment. I have to start moving the ball on a mouse click from the user. So I'm using a mouselistener to achieve that. The code below is just a smaller, simpler version of what I'm trying to do. But it does not move the ball in gradual steps. It just displays the ball at it's final position after the while loop is done executing.
However this alternate code works wonderfully well, but does not allow the user to click to start the movement of the ball.
Could someone point out what I'm doing wrong here and more importantly, why the first code block not work as intended?
PS: This is my first question, and I'm a novice at programming. Go easy on me if you can. :)
java - 砖碰撞 Java
我一直在开发一个 Breakout 游戏,除了砖块碰撞之外,几乎所有事情都完成了。球在墙上反弹并划得很好,但是当它碰到砖块时,它会直接穿过它们。我很确定问题出在主类的 checkBrick() 部分,但不知道该怎么做。
主类:
球类:
桨类:
砖类:
java - 优化 Breakout(游戏)块命中检查
我制作了 Breakout,它运行良好,但由于对命中进行了大量检查,所以它有点滞后。有谁知道我如何重做命中检查以提高速度/效率?(仅供参考,didCollide[Direction] 方法检查它是否击中那一侧 - didCollideTop() 检查它是否击中块的顶部)
java - 如何使我的碰撞检查与矩形之间的相交起作用?
编辑:这里是完整的代码:https ://dl.dropboxusercontent.com/u/65678182/assignment1.rar非常感谢任何可能的帮助!
我正在尝试制作突围游戏的副本,但在检查两个对象(球和桨)是否相交时遇到问题。
我现在有这种碰撞检测方法:
我很确定 getBounds 可以正常工作,因为我从 println 获得了这些输出: java.awt.Rectangle[x=393,y=788,width=14,height=14] java.awt.Rectangle[x= 350,y=350,宽度=100,高度=10]
我可以看到它们在重叠的一点上移动,但该方法从未检测到它。
我对此很陌生,所以希望它只是某个地方的一些愚蠢的错误,感谢您的帮助。如有必要,我可以发布更多代码,但不希望。
c# - C# XNA - 球和砖连续碰撞检测
当我的球击中我的 Breakout 克隆中的砖块时,我在对球应用正确的速度变化时遇到了一些麻烦。在上一个问题中,我被建议使用连续碰撞检测,以及其他方法,例如在球撞到角落时找到球和砖块之间的交点,以确定球应该反射的方向。我已将此应用于下面的代码,但在某些情况下球会完全穿过一堆砖块。当它碰到移动的砖块时,这一点更加明显。
在 Level.cs 更新方法中:
在 Ball.cs 中:
这有点乱,但这是我最接近体面的碰撞。如果有一种快速的方法可以找出碰撞点并应用正确的速度变化,那将会容易得多。