Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight-游戏碰撞对象_Silverlight - Fatal编程技术网

Silverlight-游戏碰撞对象

Silverlight-游戏碰撞对象,silverlight,Silverlight,我正在Silverlight中开发简单的捕捉应用程序(在Blend 4中)。你知道如何简单地解决物体从上到下碰撞到白色矩形的问题吗?图像- 谢谢 当前代码: public partial class MainPage : UserControl { int skore=0; public MainPage() { InitializeComponent(); chytac.Visibility=Visibility.Collapsed;

我正在Silverlight中开发简单的捕捉应用程序(在Blend 4中)。你知道如何简单地解决物体从上到下碰撞到白色矩形的问题吗?图像-

谢谢

当前代码:

public partial class MainPage : UserControl
{ 
    int skore=0;

    public MainPage()
    {
        InitializeComponent();
        chytac.Visibility=Visibility.Collapsed;
    }

    private void UserControl_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
    {
        String k=e.Key.ToString();
        klavesa.Content=k;
        if(e.Key.ToString().Equals("Left")){
            double x=Canvas.GetLeft(chytac);
            x=x-20;
            if(x>0){
                Canvas.SetLeft(chytac,x);
            }   

        }
        if(e.Key.ToString().Equals("Right")){
            double x=Canvas.GetLeft(chytac);
            x=x+20;
            if(x<650){
                Canvas.SetLeft(chytac,x);
            }   

        }
    }

    private void start_Click(object sender, System.Windows.RoutedEventArgs e)
    {
        chytac.Visibility=Visibility.Visible;
        start.Visibility=Visibility.Collapsed;
    }

    private void random_Click(object sender, System.Windows.RoutedEventArgs e)
    {
        Random random = new Random();
        //pocitadlo++;
        //score.Content=pocitadlo.ToString();
        telefon novy = new telefon();
        LayoutRoot.Children.Add(novy);
        Canvas.SetTop(novy, 0);
        Canvas.SetLeft(novy, random.Next(0,650));
        Canvas.SetZIndex(novy, -50);

        bomba bomba=new bomba();
        LayoutRoot.Children.Add(bomba);
        Canvas.SetTop(bomba, 0);
        Canvas.SetLeft(bomba, random.Next(0,650));
        Canvas.SetZIndex(bomba, -50);
    }
}
public部分类主页面:UserControl
{ 
int skore=0;
公共主页()
{
初始化组件();
chytac.Visibility=Visibility.Collapsed;
}
私有void UserControl_KeyDown(对象发送方,System.Windows.Input.KeyEventArgs e)
{
字符串k=e.Key.ToString();
klavesa.Content=k;
if(例如Key.ToString().Equals(“Left”)){
double x=Canvas.GetLeft(chytac);
x=x-20;
如果(x>0){
Canvas.SetLeft(chytac,x);
}   
}
if(例如Key.ToString().Equals(“Right”)){
double x=Canvas.GetLeft(chytac);
x=x+20;

如果(x如果可以将对象表示为矩形(或一组矩形),则只需检查矩形是否与白色矩形重叠。复杂形状可能需要更高级的算法。有许多sprite库可用,例如

您当前有什么代码,如果有的话?我已经添加了我的代码-telefon和bomba是在单击“随机”按钮后生成的对象,chytac是用于在底部填充对象的矩形我将移动d单击方法之外的
random
的分离和初始化。否则,如果用户频繁单击,您将得到非随机结果。在最终实现中,将有释放随机生成对象的计时器。但目前,我无法使用用于对象捕捉的矩形实现游戏碰撞下落对象ng。。。