2015年9月6日日曜日

壁紙切替ますたー更新(~v1.0.18)、カスタマジカライブ壁紙(~v0.10.3)

壁紙切替ますたーをv1.0.18へ、カスタマジカライブ壁紙をv0.10.3へ更新いたしました。不具合が落ち着くまで、ずいぶん掛かってしまいました。申し訳ありません。

壁紙切替ますたーは、指定枚数が多いとき、ライブ壁紙選択画面から、「設定を開く→閉じる→プレビュー画面で壁紙に設定」を素早く行うと落ちる不具合を修正しました。
これは、プレビューのファイル一覧の読み込み処理が完了しないうちに、ライブ壁紙本体が動作するために発生していました。
ライブ壁紙がアクティブになっている状態で、そのライブ壁紙をプレビュー表示すると、インスタンスが二つ同時に起動します。その考慮が必要なのですが、それが欠けていました。
ファイル一覧読み込みにはどうしても時間が掛かりますので、バックグラウンドスレッドで読み込むように変更いたしました。

ただ、この対応に不備があり、枚数が少ないときに、読み込み完了後の処理が、本来の初期化処理が終わらないうちに動作してしまいました。また、外部ストレージがSDカードの機種では、SDカードへのアクセスは、マウントが完了するまで待つ必要があるのですが、その処理も欠けていました(以前のバージョンでは行っていました)。
これらをv1.0.18までで修正いたしました。

なお、細かいことなので更新履歴には書いてありませんが、デバイスの時計が過去時間に巻き戻されるとタイマーで壁紙が変わらなくなる事象を修正してあります。

機能追加では、画像サイズが、画面のサイズより小さく、拡大して表示する場合の補完処理を選択できるようにしました。いままでの処理、およびデフォルトは線形(linear)補完で、拡大・縮小時にはドットをぼやかすように処理します。今回の機能追加では、再近傍(nearest)補完が選択でき、こちらでは単純にドットを拡大縮小します。
ドット絵を設定するような場合は、再近傍補完の方がそれらしく見えると思いますので、お試しください。
なお、自動選択では、画像が画面の1/2よりさらに小さい場合のみ、再近傍補完を選択します。

また、カスタマジカライブ壁紙は、v0.10.1とv0.10.2で以下の機能追加を行っています。

  • 文字列のフォントを指定可能に。
    任意のフォントをレイヤーごとに指定できます。フォントデータは、メモリ内に保持されますので、異なるフォントを多数指定するとその分、メモリを消費しますのでご注意ください。
  • ループ関数(while的)を追加しました。
    変数と組み合わせると指定回数(for的な)のループも可能です。なお、アプリが停止するのを避けるために、最大繰り返し回数は100回までで、それを超えると強制的にループを終了します。100回を超えるループを処理したい場合は、入れ子にしてください。
  • 高度な設定で、文字列、画像の色を式で指定可能に。
    レイヤーの種類が文字列のときには、文字列が動的で、更新されるときのみ有効です。それ以外のタイミングでは、色は変化しません。
    レイヤーの種類が画像のときには、ブレンドする色を指定します。詳しくは、マニュアルをご覧ください。
  • タップ時にレイヤーごとに指定した効果音を再生できるように。
    音声データは、画像と異なり、設定の保存で、設定ファイルには出力されませんのでご注意ください。
    また、デフォルトの効果音以外の音を選択したい場合は、サウンドピッカー機能のあるファイルマネージャアプリをご利用ください(たいていのアプリにはついていると思います)(ファイルマネージャが選択できない場合、端末設定のアプリ→すべて→サウンドピッカーで、デフォルト起動をクリアしてください)。
  • タップ時に式を実行可能に。
    タップ時に式を実行できますので、任意の変数への代入等が可能です。また、新たに追加された関数と組み合わせて、アプリ起動やURLを開く等も可能です。
  • 新関数を追加しました。
    アプリ起動、インテント起動(URLを開く等)、音楽プレイヤー制御、効果音再生の各関数を追加しました。なお、高度な設定の効果音欄、起動アプリ欄で長押しすると、指定中の値をコピーできます。式で、これらの関数を使う場合にご利用ください。
v0.10.3では、非表示の矩形・円がタップに反応する指定の場合でも反応しない不具合、?演算子が正しく動作しない不具合(?の前の式の値が整数値の場合に動作していませんでした)を修正しております。

引き続き機能追加、不具合修正を行っていきたく思いますので、よろしくお願いいたします。

コツコツとゲームアプリを作りつつ、ネタがあるときはさっと別アプリを作ってみる、という感じで進めていきたいのですが、作業時間が限られているので、アプリを作り始めると長くかかってしまいます。もう少しやり方を考えないとならないようです。