2016-12-06 3 views
1

У меня есть анимация атаки, которую я хочу повторить, всякий раз, когда кнопка для атаки нажимает все, что я могу найти, это только одно шоу анимации, когда кнопка снова нажимается, анимация не будет повторяю еще раз вот моя анимация кодПовторяйте анимацию при нажатии кнопки

imgAttack = (ImageView) findViewById(R.id.imgAttack); 
     imgAttack.setBackgroundResource(R.drawable.attack_anim); 
     attackanimation=(AnimationDrawable)imgAttack.getBackground(); 

btnAtk.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       press=+1; 
       MaxHealth-=100; 

       swordAtk.start(); 

       attackanimation.start(); 




       health.setProgress(MaxHealth); 
       if(MaxHealth==0) { 


        health.setProgress(0); 
        Gold=Gold+1; 
        txtGold.setText("Gold:"+Gold); 
        SharedPreferences prefs = RpgActivity.this.getSharedPreferences(getString(R.string.PREF_FILE),MODE_PRIVATE); 
        SharedPreferences.Editor editor = prefs.edit(); 
        editor.putInt(getString(R.string.SDR),Gold); 
        editor.apply(); 
       } 
      } 
     }); 

вот мой XML для attack_anim.xml

<?xml version="1.0" encoding="utf-8"?> 

<animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
    > 
    <item android:drawable="@drawable/attak0001" android:duration="100" /> 
    <item android:drawable="@drawable/attak0002" android:duration="100" /> 
    <item android:drawable="@drawable/attak0003" android:duration="100" /> 
    <item android:drawable="@drawable/attak0004" android:duration="100" /> 
    <item android:drawable="@drawable/attak0005" android:duration="100" /> 
    <item android:drawable="@drawable/attak0006" android:duration="100" /> 
    <item android:drawable="@drawable/attak0007" android:duration="100" /> 

</animation-list> 
+0

Что вы можете указать четко. Поскольку, как и в случае с андроидом по умолчанию, анимационная анимация должна продолжаться. –

+0

Мне нужно сбросить анимацию и воспроизвести ее снова, когда кнопка атаки нажата – abcOfJavaAndCPP

ответ

0

Вы можете сделать что-то Ли ке это до attackAnimation.start()

attackAnimation.stop(); 
attackAnimation.selectDrawable(0); 

и после этого написать attackAnimation.start().

+0

его игра неограничена. Я хочу играть только после нажатия кнопки, а затем воспроизвести ее один раз только при повторном нажатии кнопки. – abcOfJavaAndCPP

+0

Я нашел его сэр, я добавил android: oneshot = "true" int xml-файл – abcOfJavaAndCPP

+0

Да, вы правы. И не называй меня сэром. Просто позвоните другу. –

Смежные вопросы