2010-12-11 23 views
0

私はSilverlightで簡単なキャッチアプリケーションを開発中です(Blend 4)。オブジェクトを上から下に向かって白い四角形にオブジェクトの衝突を単純に解決する方法を知っていますか?イメージ - http://img94.imageshack.us/img94/8200/svlk.jpgSilverlight - ゲームの衝突オブジェクト

おかげ

現在のコード:

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); 
    } 
} 
+0

など、利用可能なスプライトライブラリの数はありますか? – ChrisF

+0

私のコードを追加しました - telefonとbombaはボタンをランダムにクリックした後に生成されるオブジェクトです、chytacは底部のオブジェクトを陰にするためのrectangeです – Waypoint

+0

クリックメソッドから 'random'の宣言と初期化を移動します。そうしないと、ユーザーが頻繁にクリックするとランダムでない結果が得られます。 – ChrisF

答えて

1

あなたの四角形としてオブジェクト(または長方形のセット)あなたは、単にチェックすることができますを表現することができる場合であれば、白とrectange(s)は、オーバーラップ矩形。複雑な図形にはより高度なアルゴリズムが必要な場合があります。 Silversprite

関連する問題