ゲーム作りをしています。
ConstraintLayoutでImageViewを移動アニメーション(左から右へ)させて、別のImageView1と左上が同じところまで(Yはもともと同じにセットしておく)きたらストップさせたいです。
そして、その移動アニメーションを、いろいろな地点にあらかじめセットされているImageView2,3,4,5,6・・(全部で10くらい)にも使いたいです。
ImageViewとImageView1,2,3,4,5,6・・は、
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.711"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.228"
のように、制約をつけています。
「同じところまできたら(Yはもともと同じにセットしておく)」というのは、セットされているImageView1のlayout_constraintHorizontal_bias="0.711"を取得して、移動させるImageViewのlayout_constraintHorizontal_biasが同じになるところまでアニメーションさせる、ということです。
ImageView2・・・でも同じ速度でアニメーションさせたいためandroid:durationは使えないので、ビューアニメーションやプロパティアニメーションではできないのでしょうか?
いろんなスマホに対応させるためConstraintLayoutを使って行いたいです。
xmlは、以下のようなImageViewがあらかじめセットしてあります。
java
1 <ImageView 2 android:id="@+id/kaki2" 3 android:layout_width="wrap_content" 4 android:layout_height="wrap_content" 5 app:layout_constraintBottom_toBottomOf="parent" 6 app:layout_constraintEnd_toEndOf="parent" 7 app:layout_constraintHorizontal_bias="0.711" 8 app:layout_constraintStart_toStartOf="parent" 9 app:layout_constraintTop_toTopOf="parent" 10 app:layout_constraintVertical_bias="0.228" 11 app:srcCompat="@drawable/kaki" /> 12 13 <ImageView 14 android:id="@+id/kaki1" 15 android:layout_width="wrap_content" 16 android:layout_height="wrap_content" 17 app:layout_constraintBottom_toBottomOf="parent" 18 app:layout_constraintEnd_toEndOf="parent" 19 app:layout_constraintHorizontal_bias="0.291" 20 app:layout_constraintStart_toStartOf="parent" 21 app:layout_constraintTop_toTopOf="parent" 22 app:layout_constraintVertical_bias="0.341" 23 app:srcCompat="@drawable/kaki" />
また、いろんなスマホの画面に対応できる別のやり方があれば、その方法でも構いません。
ご教授よろしくお願いします。
左から右への移動アニメーションは左端から右端まで移動するものを作りました。それを途中で止めたいです。
考え方を変えて、とりあえず左端から右端まで移動するアニメーションを作り、それを途中で止めるというやり方にしてみました。
アニメーションまでできましたが、途中で止めるやり方で、一時停止なら調べると書いてありますが、完全に停止させ、また移動アニメーションを左端から行いたいです。
アニメーションは、このようです。
左端は動かす画像のwidth分のマージンを設定して、動かす画像が見えない位置に設定してあります。
java
1<?xml version="1.0" encoding="utf-8"?> 2<set xmlns:android="http://schemas.android.com/apk/res/android"> 3 <translate 4 android:fromXDelta="0%p" 5 android:toXDelta="130%p" 6 android:duration="6000"> 7 </translate> 8</set>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/02 06:38