我正在制作一个使用鼠标导航的迷宫游戏。
我已将标签放在面板上并使用面板离开事件,以便将光标重置回到开头。
虽然有一个标签,它不应该重置,所以我想对这个标签做一个例外。它的位置为300.400
,其大小为1,10
。
如果光标相交但没有像
这样的功能,我打算制作一个if语句Cursor.IntersectsWith()
那我怎么能这样做呢?我也试过
if cursor.position.x == 300
还有y
的内容,但事实证明x
和y
的位置与标签的位置无关?如果光标与标签相交(或在标签上),我不确定如何进行if
语句。请帮忙!
我知道我没有现成的代码,但问题非常明确!
答案 0 :(得分:0)
要解决您的问题,Name
(s)有一个名为Label
的属性。
我假设您正在使用WinForms,因为您没有提及框架
不要使用Loacation
作为标识符,而是使用Name
的{{1}}属性来制作
例外。
在PanelLeave事件处理程序中添加此代码: -
Label
当您将foreach(Label labels in LabelList)
{
if(labels.Name!="exception-label-name-here")
Reset() ; // function to reset the cursor position.
// LabelList is a list containin all the `Label`(s) in your panel.
}
(s)添加到Panel时,请将Label
(s)添加到我已命名为Label
的通用列表中。
LabelList