- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我不确定为什么,但每当我处理碰撞时,似乎控件的顶部和左侧属性一切正常,但右侧和底部属性却不太顺利。我不确定是不是因为它们是只读属性,但请有人帮忙。
代码如下
Playground (面板)类
namespace final_pong_game_phase_3
{
class PlayGround
{
public Panel Panel;
Size PlayGroundSize;
public int Top;
public int Bottom;
public int Right;
public int Left;
public PlayGround(Panel panel,Size size, Point location)
{
this.Panel = panel;
this.PlayGroundSize = size;
this.Panel.Size = this.PlayGroundSize;
this.Panel.BackColor = Color.Black;
this.Panel.Location = location;
this.Panel.SendToBack();
this.Top = panel.Top;
this.Bottom = panel.Bottom;
this.Right = panel.Right;
this.Left= panel.Left;
}
}
}
球(图片框)类
namespace final_pong_game_phase_3
{
class Ball
{
Size BallSize;
Point Location;
int TopSpeedInterval;
int LeftSpeedInterval;
PictureBox BallGraphic;
public int Top;
public int Left;
public int Bottom;
public int Right;
public Ball(Point location, int topspeedinterval,int leftspeedinterval, Size ballsize, PictureBox ballgraphic)
{
this.Location = location;
this.TopSpeedInterval = topspeedinterval;
this.LeftSpeedInterval = leftspeedinterval;
this.BallSize = ballsize;
this.BallGraphic = ballgraphic;
this.BallGraphic.Location = this.Location;
this.BallGraphic.BackColor = Color.White;
this.BallGraphic.Size = this.BallSize;
this.BallGraphic.BringToFront();
this.Top = BallGraphic.Top;
this.Left = BallGraphic.Left;
this.Bottom = ballgraphic.Bottom;
}
public void start()
{
Top -= TopSpeedInterval;
Left -= LeftSpeedInterval;
BallGraphic.Top = Top;
BallGraphic.Left = Left;
Bottom = BallGraphic.Bottom;
Right = BallGraphic.Right;
}
public void SwitchTopDirection()
{
TopSpeedInterval *=-1;
}
public void SwitchLeftDirection()
{
LeftSpeedInterval *= -1;
}
public void Hit()
{
TopSpeedInterval+= 5;
LeftSpeedInterval+= 5;
}
}
}
GameWorld(控制和监视游戏类方法中的所有内容,每次计时器滴答时都会发生)类
//ball to wall collision
if (playground.Top == ball.Top)
{
ball.SwitchTopDirection();
Console.Beep(1000, 100);
}
if (playground.Left == ball.Left)
{
Console.Beep(1500, 700);
MessageBox.Show("Player 2 Wins!!!");
}
if (playground.Right == ball.Right)
{
MessageBox.Show("Player 2 Wins!!!");
}
if (ball.Bottom >= playground.Bottom)
{
ball.SwitchTopDirection();
Console.Beep(1000, 100);
}
最佳答案
这可能对你有用
if (Math.Abs(playground.Right - ball.Right)<=7)
{
MessageBox.Show("Player 2 Wins!!!");
}
我们在这段代码中所做的是检查 Playground 和它碰撞的 Ball 的 +-7 范围。
关于c# - 如果(picturebox.Right == panel.Right)不工作但如果(picturebox.Left == panel.Left)工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34301040/
这似乎是一个基本问题,但我已经尝试了一段时间并没有找到 Pyviz Panel 的解决方案: 我试图通过单击按钮来触发函数,捕捉函数的输出并将它们打印在屏幕上所需的位置。 with output ip
我正在尝试在销售订单屏幕上创建一个智能面板,它将显示与 SOLine 库存项目相关的项目。 我在库存项目页面上添加了一个选项卡和网格,并使用 CFBSUPSale 的 DAC 创建了一个表来创建此关系
需要这个: 但是得到这个: 我需要自定义绘制矩形来执行上述操作吗?另外我需要在面板内显示一个数字。有什么想法可以解决这个问题吗? 最佳答案 不要将第三个面板(水平面板)放在其他面板之一内。一旦所有三个
我正在使用 Ext JS 4.1.1 为网页创建 GUI。我尝试创建一个组件(下面的“GeneSearchComponent”),我可以在更复杂的布局中使用它。但出于某种原因,我无法将“GeneSea
我有这个面板。它按以下顺序显示工具图标:齿轮、关闭、折叠。我想得到的图标是这样的顺序:齿轮、折叠、关闭。我想不通。当我把 collapseFirst: true 放在第一位时,collapse 就在第
我正在使用 ExtJS 4.1.1a,我正在尝试为“tabbedPane”和带有“Accordion”布局的普通面板创建一个新主题。我无法更改每个标题的颜色。也就是说选项卡和选项卡的背景以及 Acco
根据MSDN - Panel.InternalChildren Property : Classes that are derived from Panel should use this prope
我有一个 Ext.Tab,Panel,我在其中动态创建了多个选项卡。 每个选项卡都包含一个 Ext.panel.panel。我需要做的是在选项卡中添加工具提示。我试图做这样的事情: Ext.defin
我有一个带有面板标题和面板主体的 Bootstrap v3 面板。我希望用户能够单击面板标题,它将折叠/展开面板主体。我正在使用 Bootstrap 的 Collapse javascript 来执行
我正在尝试在 ExtJS 中创建一个布局,它在顶部和底部的左右部分都有一个网格,一个基本的父/子、主/详细布局: wrapper_panel panel_top [grid] panel_bott
我正在使用 Extjs 6.0 开发网络 gis和 OpenLayers 3.6.0在 MVVM 架构中。我想把 ol.map到 Ext.panel.Panel .元素主视图如下: Ext.defin
我需要在 Python 中创建一个散布矩阵。我尝试使用 scatter_matrix 来实现此目的,但我只想保留对角线上方的散点图。 我正处于真正的开始阶段(没有走得太远),当列有名称(不是默认数字)
如果您在表单上创建一个面板并将其设置为 Dock=Top,然后放下另一个面板并设置其 Dock=Fill,它可能会填满整个表单,而忽略第一个面板。更改 Tab 键顺序没有任何作用。 最佳答案 停靠布局
我正在设计一个屏幕,其中标题有一个具有某些功能的按钮。为了实现这一点,我使用了 Ext.panel.Panel 现在我想在此屏幕中的标题下方添加列。这是我的代码: var screen = Ext.c
我有一个在 Ext.panel.Panel 上扩展的类。 简化代码: Ext.define("some.namespace.MyOwnPanel", { extends: "Ext.panel
在 Bootstrap 中,如何在单击另一个面板时使面板自动折叠,以便一次只打开一个面板?我不太擅长 JavaScript。 这里是一些示例代码: Information
我有一个主 JPanel,它实现了 Scrollable 并使用了 BorderLayout。它包含一个 NORTH 只读 JEditorPane、一个带有 FlowLayout 的 CENTER J
我正在用 wxPython 开发一个 GUI。我在另一个代表 CD 容器对象的正方形(也有 wxPanel 类)内绘制一个代表 CD 对象的正方形。我想在 CDWindow 的右键菜单中有“删除这张
我在第一个 div 中有两个字段集,然后我使用面板,但我的面板从 div 上方覆盖,请看下面的屏幕截图 1.) 带有文件集和详细信息2.) 添加面板后,Panel-heading to page 覆盖
我有一个 wx.Frame,其中有一个主 wx.Panel,里面有几个小部件。我想要那里的一个按钮导致出现“帮助面板”。这个帮助面板可能是一个 wx.Panel,我希望它覆盖整个主 wx.Panel(
我是一名优秀的程序员,十分优秀!