2

こんにちは友人私は次のコードを提供していますが、指定された2つの画像/オブジェクト間の衝突検出を見つける方法を教えてください。可能であれば、すぐに私を助けてください。

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        img1=(ImageView) findViewById(R.id.imgLeft);
        img2=(ImageView) findViewById(R.id.imgRight);

        tw=ObjectAnimator.ofFloat(img2,
                "translationX", 20, -550f);
        tw.setDuration(6000);
        tw.addUpdateListener(new AnimatorUpdateListener() {

            @Override
            public void onAnimationUpdate(ValueAnimator animation) {
                img_one_CurrentX=(int)img2.getY();

            }
        });
        tw.start();


        tw_One=ObjectAnimator.ofFloat(img1,
                "translationX",0, 550f);
        tw_One.setDuration(6000);
        tw_One.setTarget(img1);
        tw_One.start();
        tw_One.addUpdateListener(new AnimatorUpdateListener() {

            @Override
            public void onAnimationUpdate(ValueAnimator animation) {
                img_two_CurrentX=(int)img1.getY();

                if(img_one_CurrentX==img_two_CurrentX ){
                    Toast.makeText(getApplicationContext(), "Collision", Toast.LENGTH_LONG).show();
                }
            }
        });

    }

前もって感謝します。

4

2 に答える 2

0

すばらしい解決策です。:) 私はこれを何時間も探しました!しかし、私が解決した if 条件には単純な間違いがあります。

if (x2 >= x1 &&
    x2 <= right1 &&
    y2 >= y1 &&
    y2 <= bottom1) {
    // do something...
}

if (right" >= x1 &&
    right2 <= right1 &&
    bottom2 >= y1 &&
    bottom2 <= bottom2) {
    // do something...
} 
于 2017-01-28T14:03:53.037 に答える