当前位置: 首页 > 知识库问答 >
问题:

突破游戏Java-划桨离开屏幕右侧

李疏珂
2023-03-14

我的java突破游戏有问题。一切都很好,除了我的球拍在右侧离开屏幕,我的球也会这样,但现在不用担心。

//防止挡板移出屏幕

Public void update(){x=xVelocity;

if (x <= 0) {
setX(0);
xVelocity = -1;

}
if (x >= 
(Settings.WINDOW_WIDTH 
- Settings.PADDLE_WIDTH) {
setX(Settings.WINDOW_HEIGHT 
- Settings.PADDLE_HEIGHT); 
xVelocity = 1;
}

//根据向左或向右按设定速度

按下Public void键(KeyEvent e)

if (e.getKeyCode() == 
KeyEvent.VK_LEFT) {

paddle.setXVelocity(-1);

} else if (e.getKeyCode() == 
KeyEvent.VK_RIGHT) {

paddle.setXVelocity(1);
}
}

//释放关键帧后设置速度

如果(e.getKeyCode()==KeyEvent.VK_LEFT){

paddle.setXVelocity(0);

} else if (e.getKeyCode() == 
KeyEvent.VK_RIGHT) {

paddle.setXVelocity(0); 
}
}

How do i get the paddle to 
stay on screen on the right 
side? 

Any help appreciated

共有1个答案

乐正浩言
2023-03-14

更改此

if (x <= 0) {
    setX(0);
    xVelocity = -1;
}
if (x >= 
(Settings.WINDOW_WIDTH 
- Settings.PADDLE_WIDTH) {
setX(Settings.WINDOW_HEIGHT 
- Settings.PADDLE_HEIGHT); 
xVelocity = 1;
}

到这个

if (x <= 0) {
    setX(0);
    xVelocity = -1;
}
if (x >= (Settings.WINDOW_WIDTH - Settings.PADDLE_WIDTH) {
    setX(Settings.WINDOW_WIDTH - Settings.PADDLE_WIDTH); 
    xVelocity = 1;
}

当您检查x的值是否在窗口宽度和桨宽的差异范围内时,x的新值应设置为窗口宽度和桨宽的差异,而不是窗口高度和桨高之间的差异。

 类似资料:
  • 我目前正在编写一个游戏,你必须避免小行星。我不得不处理一些混乱的坐标,我不得不猜测精灵的坐标。我现在有了描述我的世界的任意单位。不幸的是,我的游戏屏幕不能完全工作。当我想渲染我的小行星时,游戏屏幕会显示一个黑屏。 上面显示的代码工作正常,并向我展示了以下内容: 当我在GameScreen类中添加小行星的渲染方法时,GameScreen只是黑色的: 小行星等级: 小行星等级:

  • 当用户按下左右键时,我希望我的矩形停止。我研究了多个密钥处理,但无法找到任何东西。 谢谢你的帮助

  • 您好,我正在中制作一个游戏,我想知道如何以及最好的方式是在屏幕上添加游戏。以下是玩家健康状况小于或等于0的代码: 我不确定该怎么做,因为我试图使用另一个py呼叫游戏,但玩家死亡的时间被重置为0并返回,所以玩家死亡的地方可能发生任何事情吗?

  • 我正在创建一个突破游戏来熟悉Java。目前我已经把一切都做好了,但我注意到球似乎是朝着同一个方向飞的。 我已经对它进行了编程,当球碰到球拍时,Y速度是相反的。这是可行的,但球似乎遵循相同的路线。。。 如何让碰撞看起来更真实? 当球击中桨的左侧时,我想将其重新定向到左侧,但我不确定在哪个角度反射它。有人能提供一个公式来帮助我计算出当球接触桨的左侧或右侧时需要引导的角度吗?

  • 所以我正在android studio中制作一款突破性游戏。 在做了一个游戏循环和与桨和桨的基本碰撞后,我注意到我的球在提高速度后开始穿过我的桨和桨。 问题在于它在一帧中碰撞了两次,所以我的基本碰撞还不够。 我读过关于使用向量数学求解的书。但这对我来说太过分了,我的头也被它缠住了。我指的是这个问题的答案:

  • 我正在尝试使用图像创建。网格有3列。 但我有一些问题: 正在离开屏幕,如下图所示。未正确设置s的宽度以适应。 这是我当前的代码。我应该改变什么来解决我的两个问题? 根据这个答案,我尝试使用以下布局: 但它看起来像下图。每个图像视图占据整个屏幕的宽度: http://i.imgur.com/p8AXcKN.png