2013-09-26 1 views
2

각 레벨 완료 후 사용자의 점수를 보여주는 결과 활동이 표시되고 그 점수에 따라 별이 부여되는 안드로이드 게임을 개발 중입니다. 이제 해당 결과 활동에 3 개의 이미지 뷰그레이 컬러 별이고 애니메이션 골든 스타으로 표시하고 싶은 사람들에게 표시됩니다. 그러나 애니메이션을 재생하면 회색의 별이 숨겨지고 금색의 별이 움직이는 것처럼 보이고 숨겨진 회색 별 위에 배치됩니다. 나는 내가 골든 스타가 온다까지 왼쪽 회색 스타를 볼 수 남아 수있는 방법을 알고 싶어하고 그것을안드로이드 게임의 결과 활동에 표시 할 스타 이미지의 애니메이션 효과

문제 앉아 : 황금 별은 오는 보이지 않는 회색 스타에 앉아 있지만, 회색 스타 황금 별이 올 때까지 볼 수 있었고 완전히에

enter image description here

문제를 해결해야 : 가장 왼쪽에있는 별은 애니메이션의 시작 동안 눈에 보이지 않는 가져옵니다.

enter image description here

자바 코드 :

Myanim1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.alpha_scale_left); 
starIv1=(ImageView)findViewById(R.id.starGrey1ImageView); 

starIv1.clearAnimation(); 
starIv1.setImageResource(R.drawable.star); 
starIv1.startAnimation(Myanim1); 

애니메이션 XML

<translate 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:fromXDelta="-300%" 
android:toXDelta="0%" 
android:fromYDelta="-700%" 
android:toYDelta="0%" 
android:duration="1200" 
android:zAdjustment="bottom" 
android:interpolator="@android:anim/bounce_interpolator"> 
</translate> 

<rotate 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="1200" 
    android:interpolator="@android:anim/linear_interpolator" 
    android:pivotX="50%" 
    android:pivotY="50%" 

    android:fromDegrees="0" 
    android:toDegrees="360"> 
    </rotate> 

+0

이 코드를 게시하시기 바랍니다 입력 –

답변

0

난 당신이, 당신은 위에 새로운 이미지 뷰를 추가 할 필요가 없습니다 수 있다고 생각합니다 현재에 대한 정보를 제공하고이를 애니메이션화합니다. 3 개의 회색 별을 하나의 ImageView로 유지하고 Golden Stars에 대한 3 개의 ImageView를 추가하여 숨기고 애니메이션으로 만들 수 있습니다.

당신이 그것을 피하려면, 그냥 두 번 애니메이션을합니다. 회색 시작처럼 사라 금 후이 같은

뭔가 나타납니다 anim1을 - 회색 사라 amim2을 - 황금

starIv1=(ImageView)findViewById(R.id.starGrey1ImageView); 

starIv1.clearAnimation(); 
anim1.setAnimationListener(new Animation.AnimationListener() { 

     @Override 
     public void onAnimationStart(Animation animation) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onAnimationRepeat(Animation animation) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onAnimationEnd(Animation animation) { 
      starIv1.setImageResource(R.drawable.star); 
          starIv1.startAnimation(anim2); 
     } 
    }) 
starIv1.startAnimation(anim1);