图片框昆虫

发布于 2024-11-03 12:34:23 字数 585 浏览 1 评论 0原文

我正在开发一个带有图片框的简单 2d 游戏,但我在碰撞检测方面遇到了困难。

我环顾四周并想出了这个:

     public bool ObstacleHit()
    {
        if (pbPlayer.Bounds.IntersectsWith(pbObstacle1.Bounds))
        {
            return false;
        }
        else
        {
            return true;
        }
    }

此处称为:

            if (e.KeyChar == 'w')
            {
                    ObstacleHit();
                    if(ObstacleHit() == true)
                    {
                        moveUp();     
                    } 
            }

但这不起作用。

I'm working on a simple 2d game with pictureboxes but I´m struggling with collision detection.

I've been looking around and came up with this:

     public bool ObstacleHit()
    {
        if (pbPlayer.Bounds.IntersectsWith(pbObstacle1.Bounds))
        {
            return false;
        }
        else
        {
            return true;
        }
    }

which is called here:

            if (e.KeyChar == 'w')
            {
                    ObstacleHit();
                    if(ObstacleHit() == true)
                    {
                        moveUp();     
                    } 
            }

but this ain't working.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

甜妞爱困 2024-11-10 12:34:23

嗯,看看这是否有效。对于各种按键选择而不是if语句,您还可以使用switch-case语句来实现。

if (e.KeyCode == Keys.W)
        {
                bool hit = ObstacleHit();

                if(hit == true)
                {
                    moveUp();     
                } 
        }

Hm, see if this works. For various key selection rather than the if-statement, you may as well implement the use of a switch-case statement.

if (e.KeyCode == Keys.W)
        {
                bool hit = ObstacleHit();

                if(hit == true)
                {
                    moveUp();     
                } 
        }
酒中人 2024-11-10 12:34:23

使用下面的代码检查KeyChar

if (e.KeyChar == (char)Keys.W)  
{
     ObstacleHit();      // unnecessary call of method here        
     if(ObstacleHit())   // need not to compare a bool value  
      {
           moveUp();     
      } 

}   

Use below code to check KeyChar

if (e.KeyChar == (char)Keys.W)  
{
     ObstacleHit();      // unnecessary call of method here        
     if(ObstacleHit())   // need not to compare a bool value  
      {
           moveUp();     
      } 

}   
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文