チュートリアル

KLWPで曲名が長いときだけテキストをスクロールさせる

KLWPでは再生中の音楽のタイトルを表示できますが、そのタイトルは短いもの長いもの様々にあります。スペースの都合上、限られた範囲しか表示できないけど、その中でスクロールして全文表示したい、でも短い曲名のときはスクロールしないようにしたい、というのを実現してみます。

完成例

最初の曲はスクロールしていて、その後いくつかの曲を切り替えていますが短い曲名のときはスクロールしていません。

zooper-iconscroll-title
制作:orefolder
価格:無料

サイズ:67KB
ダウンロード

使えるのはKLWPのPro Key購入者のみになりますが、上のリンクからダウンロードできる「scroll-title.klwp」を端末のKUSTOMwallpaperフォルダ内に置けば、KLWPからプリセットの読み込みで使うことができるようになります。あくまでサンプルです。

簡単な解説

主に4つの要素で作られています。

  1. 吹き出しの背景
  2. はみ出たテキストを切り取るための図形
  3. スクロールするテキスト
  4. スクロールしないテキスト

つまり、「曲名が短いときはスクロールせずに、曲名が長いときだけスクロールするテキスト」とは言いますが、実際にはスクロールするものとしないものを2つ作って、曲名の長さで表示/非表示を切り替えています。

吹き出しからはみ出る部分をカットする

曲名を表示する範囲を「図形」で吹き出しのように作っています。そのままではこの範囲に収まらないテキストはそのままはみ出るので、それをカットします。

「図形」で作った吹き出しをコピーし、FXタブで「マスク」を「下位のモジュールを切り取る」を設定します。これをつけると、1つ下に配置されたモジュールを、その図形の形で切り取ることができます。つまり吹き出しの外のものはカットされて表示されません。

スクロールしないテキストを表示

「曲名が短いときは表示され、曲名が長い(x文字以上)のときは表示されない」というテキストを作ります。具体的には以下のようになります。

$if(tc(len, mi(title))<=12, mi(title))$

この例だと曲名が12文字以下のときはその曲名が表示され、そうでない時(13文字以上の時)は何も表示されない、となります。何文字以上というところは自分のホーム画面に合わせてください。

スクロールするテキストを表示

逆に、曲名が長い(13文字以上)の時に表示されてスクロールするテキストを作ります。

まずは単純に先程の逆にします。

$if(tc(len, mi(title))>12, mi(title))$

これで13文字以上のときだけ曲名が表示されます。

次にスクロールするためのアニメを設定します。

アニメタブで実行を「ループ」として以下のように設定しました。

実行 ループ
アクション スクロール(逆方向)
緩急 直線的
時間 90
速度 演算子
遅延 10

速度部分の演算子は以下です。

$tc(len, mi(title))*1.9$

曲名の長さによって「速度」の値が変わるようにしました。このあたりの値はとりあえずで作ったものなので、実際に自分のホーム画面で作るときはうまく合うように調整したほうがいいでしょう。

問題点

スクロールする量や、スクロールするかどうかの判断をテキストの横幅ではなく文字数で決めています。なので半角英数字と全角文字などでは幅がかなり違ってきます。なのでかなり余裕あるように見えてもスクロールしてしまったりします。
全文表示されてすぐにループするものもあれば、途中でループしてしまう場合もあります。

とりあえずでここまで作ってみましたが、より良くしようとすると難しそうですね。


KLWPの使い方についてはこちらのページにてまとめています。使い方に困ったときなど、こちらのページも参考にしてください。

Random Posts

au、AQUOS R compact SHV41にAndroid 10へのOSアップデートを配信開始
SwitchBotカーテンがAmazonにて再び20%オフクーポン配布!10月8日までは7,184円!
GeekbuyingでTWSイヤホンのセール!30ドル以上で3ドルオフ、50ドル以上で5ドルオフのクーポンあり
au、Xperia XZ3 SOV39にAndroid 10へのOSアップデートを4月6日より配信開始
ワイモバイル、Android Oneスマホ「S6」「S7」を12月19日発売
ワイモバイル、スマホベーシックプランSの高速データ通信容量超過時の通信速度を128kbps→300kbpsに変更
AUKEY EP-T16S レビュー:ケースまで小さい、IPX5防水の完全ワイヤレスイヤホン
ドコモ、AQUOS sense SH-01KにAndroid 9 PieへのOSアップデートを配信開始
nova lite 3が一括100円!IIJmio、2年連続シェアNo.1記念 第二弾 人気スマホ100円セールを開催!
ファーウェイの全額返金保証/キャッシュバックキャンペーンが早期終了-本来の目的とは異なる大量購入のために
ファーウェイ、HUAWEI MediaPad M5 liteのRAM 4GB版と新カラーを投入!
スマホ決済、キャンペーン目的で利用し始めた人も日常利用する人が増加【MMD研究所調査】
Googleフォトに「○年前の写真」を表示する「思い出(memories)」機能が追加
OPPO Reno3 Aの価格比較:goo Simsellerの発売記念特価、ひかりTVショッピングのキャンペーンなど
YouTube Premium開始!3ヶ月無料その後月額1180円で広告なし・オフライン再生・Play Musicも含まれます