JavaFX Pong垂直游戏问题

时间:2017-03-10 06:01:31

标签: java networking javafx collision-detection game-physics

亲爱的stackoverflow好朋友,到目前为止,我已经厌倦了尝试一切,你能不能在我正在开发的游戏中帮助我解决2个问题?

让我们开始吧,我会尽可能清楚地解释

到目前为止,这是我的代码:

WIN_H = 600
WIN_W = 450
BAT_W = 100
BAT_H = 20
BallRadius = 10

//Check against the ball if is touching the Y-0 or Y-WIN_H axis
ballUp = true //Boolean to check against the Y-axis like on the Tutorial.


//Check against the BATs on Yaxis

if(ball.getTranslateY + BallRadius = 0)
  restartGame();

if(ball.getTranslateY() + BallRadius = WIN_H - BAT_HEIGHT
&& ball.getTranslateX() + BallRadius >= bat.getTranslateX()
&& ball.getTranslateX() - BallRadius <= bat.getTranslateX() - BAT_WIDTH

&& ball.getTranslateX() + BallRadius >= bat2.getTranslateX()
&& ball.getTranslateX() - BallRadius <= bat2.getTranslateX() - BAT_WIDTH)
ballUp = true;

//Check against the Y (WIN_H) axis - bottom & 0 means top.
if(ball.getTranslateY() + BallRadius = WIN_H)
ballUp = true;

我正在使用 2 Bats 1 Ball 制作一个垂直 Ping-Pong游戏,这是迄今为止非常主流,受到启发这个教程,我的“已更改”代码是13:31 here,我的问题如下:

  • 我不知道如何让玩家2的蝙蝠顶部发生碰撞 检测球(底部工作正常)。

  • 我不知道如何在局域网上的两个播放器之间实现多人网络连接(我可以学习)。我研究了一些图书馆,但到目前为止NettyIO似乎是我的道路。在这个问题领域,我只想问你是否:

    1. 可能且可靠吗? (查看图像波纹管,球员之间的流动缓冲和球的运动)
    2. 您建议我选择哪个“路径”来获取Net部分?

如果我不够清楚,我很抱歉,我只想要那些愿意帮助我1-2想法的人指南请指导我。< / p>

enter image description here

祝你有愉快的一天!

PS:即使您认为我的问题格式不正确,请格式化,请不要将其删除,我可以放松直到我解决 之谜:(

1 个答案:

答案 0 :(得分:0)

找到第一期的解决方案!!!

我使用checkTop()创建了一个方法,并将其放在//Check against top

之后
checkTop(){
if(ball.getTranslateY() + BallRadius = 0 + BAT2_HEIGHT*2
&& ball.getTranslateX() + BallRadius >= bat2.getTranslateX()
&& ball.getTranslateX() - BallRadius <= bat2.getTranslateX() - BAT_WIDTH

}

//and I set my top Bat like this
BAT2.setTranslateX((WIN_H-WIN_H)+WIN_H/2);
BAT2.setTranslateY(0+BAT_HEIGHT*2);

我还删除了针对蝙蝠的c if statements中的Top-Bat声明。

现在与Top bat的碰撞效果非常好!

我仍然遇到网络部分的问题,我应该如何实现它?哪个图书馆可以选择“入门初级”?它可以用半屏缓冲,或者你们,伙计们有更好的主意吗?

预计谢谢!