UWP C#图像(UI元素)碰撞检测问题

问题描述 投票:0回答:1

我有两个移动的图像(UI ELEMENT),一个牧羊人和一个狼。我想如果他们在每张照片的同一区域(如果他们互相接触)会发生一些事情(牧羊人会死)。

我是菜鸟,我想到了一个for循环,但它只有在努力去死后才有效...大声笑...

private void GameOver(Image enemy, Image actualToMove)
    {
        for (int i = 0; i < 200; i++)
        {

            if (Canvas.GetLeft(actualToMove) == (Canvas.GetLeft(enemy) - i) && Canvas.GetTop(actualToMove) == (Canvas.GetTop(enemy) - i)
                || Canvas.GetLeft(actualToMove) == (Canvas.GetLeft(enemy) + i) && Canvas.GetTop(actualToMove) == (Canvas.GetTop(enemy) + i))
            {
                gameOver = true;
                break;
            }
        }
    }

我想到这个循环抓住一只绵羊它的确有效......但是绵羊是静止的。我非常肯定在这种情况下for循环是一个非常糟糕的主意......

我真的很难在UWP中进行碰撞检测......请帮忙!

c# uwp 2d collision-detection
1个回答
0
投票

您可以使用Manipulation event移动图像。例如,您可以在ManipulationDelta事件中移动图像,在ManipulationCompleted事件中,您可以进行碰撞检测。您不需要使用循环。

© www.soinside.com 2019 - 2024. All rights reserved.