オブジェクトとウィンドウフォームの衝突検出のロジックが正しく機能していません。

ニーモニック

フォーム内のオブジェクトがフォーム自体よりも大きくなるタイミングを検出しようとしています。その場合、MessageBoxが「ゲームオーバー」というテキストとともに表示されます。

これは私がしたことです:

x軸の場合

  private void CollisionXForward()
    {
        int x = this.Width; //the width of the form is 493

        //if the position of x-axis of the rectangle goes over the limit of the form...
        if (rc.PositionX  >= x )
        {
           //...game over
            MessageBox.Show("Game over");

        }
        else
        {
              //move the object +5 every time i press right arrow
            rc.MoveXForward();

        }

問題は、長方形がフレーム自体よりも一歩進んだために消えてしまうことです。私は次のステートメントを使用して問題を「修正」しました。

if (rc.PositionX  >= x - (rc.Width * 2))

コードに表示される通常のものの代わりに。しかし、y軸で同じことをしたり、長方形のサイズを変更したりすると、機能しません。

γηράσκωδ'αείπολλάδιδασκόμε

試してみてください:

if (rc.PositionX + rc.Width >= ClientRectangle.Width)

そして

if (rc.PositionY + rc.Height >= ClientRectangle.Height)

編集:

private void CollisionXForward()
{
    rc.MoveXForward();

    //if the position of x-axis of the rectangle goes over the limit of the form...
    if (rc.PositionX + rc.Width >= ClientRectangle.Width )
    {
       //...game over
        MessageBox.Show("Game over");

    }
}

または

private void CollisionXForward()
{
    //if the position of x-axis of the rectangle goes over the limit of the form...
    if (rc.PositionX + step + rc.Width >= ClientRectangle.Width ) //step is 5 in your case
    {
       //...game over
        MessageBox.Show("Game over");

    }
    else
    {
        //move the object +5 every time i press right arrow
        rc.MoveXForward();

    }
}

ヴァルター

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

VS2017-フレームワーク4.6.2は、c#のクラスライブラリプロジェクトのオプションとして表示されていませんが、vbウィンドウフォーム1にあります

分類Dev

IE11オブジェクトはプロパティまたはメソッド 'indexOf'をサポートしていません(ただし、オブジェクトではなく、他のブラウザーで機能します)

分類Dev

データバインディング:カスタムオブジェクトのObservableFieldが正しく機能していません

分類Dev

Android Pie 9.0でダウンロードマネージャーが機能しないNetworkSecurityConfig:プラットフォームのデフォルトを使用して、ネットワークセキュリティ構成が指定されていません

分類Dev

フォームデータのオブジェクトが正しく処理されていません

分類Dev

「flutter」コマンドがプロジェクトのルートディレクトリで機能していません。[ウィンドウズ]

分類Dev

私のウェブサイトのホームページでリンクが機能していません

分類Dev

衝突検出が正しく機能していません

分類Dev

オブジェクトをドラッグしてスプライトキット内の別のオブジェクトと衝突しても、バウンスは発生しません。

分類Dev

Flash Pro:オブジェクトの衝突はフレーム1の場合にのみ正しく機能します

分類Dev

Djangoフォームとブートストラップ-ウィジェットの追加は機能しますが、完全には機能しません

分類Dev

衝突検出は、オブジェクトが中央に当たった場合にのみ機能します

分類Dev

ファブリックjs:オブジェクトのグループ化が正しく機能していません

分類Dev

カウントダウンクロックの日付形式が正しく機能していませんjavascript

分類Dev

グラフィックオブジェクトとしてのボールとカーブの衝突

分類Dev

多くのオブジェクトとの衝突検出

分類Dev

フォームのドロップダウンが必要なセクションとして機能していません

分類Dev

redux-form:path.lastIndexOfは、フォーム名としての「オブジェクトオブジェクト」が原因でコンポーネントのマウント解除中にスローされる関数エラーではありません

分類Dev

ImportErrorの取得:libcublas.so.9.0:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません-TFバージョンのダウングレードは機能しません

分類Dev

セマンティックUI検索フォームがオブジェクトデータをフェッチしていません

分類Dev

ラジオボタンの無効なプロパティがリアクティブフォーム内で機能していません

分類Dev

2つの物理オブジェクトを衝突させないようにしますが、Unityで衝突を検出します

分類Dev

single_textウィジェットとしてのSymfony4DateTimeTypeが正しくフォーマットされていません

分類Dev

パックマンのゲームで衝突検出が機能しない

分類Dev

Tkinter-子ウィジェットがフォーカスを取得した場合、フレームへのキーバインドは機能しません

分類Dev

LIBGDXは、どのオブジェクトがそのフィクスチャと衝突したかを検出します

分類Dev

javascriptオブジェクト式の表記が正しく機能していません

分類Dev

mongodb $ addToSet_オブジェクトの追加が正しく機能していません_mongoose

分類Dev

移動するオブジェクトと移動しないオブジェクト間の衝突検出

Related 関連記事

  1. 1

    VS2017-フレームワーク4.6.2は、c#のクラスライブラリプロジェクトのオプションとして表示されていませんが、vbウィンドウフォーム1にあります

  2. 2

    IE11オブジェクトはプロパティまたはメソッド 'indexOf'をサポートしていません(ただし、オブジェクトではなく、他のブラウザーで機能します)

  3. 3

    データバインディング:カスタムオブジェクトのObservableFieldが正しく機能していません

  4. 4

    Android Pie 9.0でダウンロードマネージャーが機能しないNetworkSecurityConfig:プラットフォームのデフォルトを使用して、ネットワークセキュリティ構成が指定されていません

  5. 5

    フォームデータのオブジェクトが正しく処理されていません

  6. 6

    「flutter」コマンドがプロジェクトのルートディレクトリで機能していません。[ウィンドウズ]

  7. 7

    私のウェブサイトのホームページでリンクが機能していません

  8. 8

    衝突検出が正しく機能していません

  9. 9

    オブジェクトをドラッグしてスプライトキット内の別のオブジェクトと衝突しても、バウンスは発生しません。

  10. 10

    Flash Pro:オブジェクトの衝突はフレーム1の場合にのみ正しく機能します

  11. 11

    Djangoフォームとブートストラップ-ウィジェットの追加は機能しますが、完全には機能しません

  12. 12

    衝突検出は、オブジェクトが中央に当たった場合にのみ機能します

  13. 13

    ファブリックjs:オブジェクトのグループ化が正しく機能していません

  14. 14

    カウントダウンクロックの日付形式が正しく機能していませんjavascript

  15. 15

    グラフィックオブジェクトとしてのボールとカーブの衝突

  16. 16

    多くのオブジェクトとの衝突検出

  17. 17

    フォームのドロップダウンが必要なセクションとして機能していません

  18. 18

    redux-form:path.lastIndexOfは、フォーム名としての「オブジェクトオブジェクト」が原因でコンポーネントのマウント解除中にスローされる関数エラーではありません

  19. 19

    ImportErrorの取得:libcublas.so.9.0:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません-TFバージョンのダウングレードは機能しません

  20. 20

    セマンティックUI検索フォームがオブジェクトデータをフェッチしていません

  21. 21

    ラジオボタンの無効なプロパティがリアクティブフォーム内で機能していません

  22. 22

    2つの物理オブジェクトを衝突させないようにしますが、Unityで衝突を検出します

  23. 23

    single_textウィジェットとしてのSymfony4DateTimeTypeが正しくフォーマットされていません

  24. 24

    パックマンのゲームで衝突検出が機能しない

  25. 25

    Tkinter-子ウィジェットがフォーカスを取得した場合、フレームへのキーバインドは機能しません

  26. 26

    LIBGDXは、どのオブジェクトがそのフィクスチャと衝突したかを検出します

  27. 27

    javascriptオブジェクト式の表記が正しく機能していません

  28. 28

    mongodb $ addToSet_オブジェクトの追加が正しく機能していません_mongoose

  29. 29

    移動するオブジェクトと移動しないオブジェクト間の衝突検出

ホットタグ

アーカイブ