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

BlackBerry KEY2 レポート:物理キーボードと日本語入力の奮闘記その1
Jelly Proに続く超小型スマホ「Unihertz Atom」そのパワーアップぶりに期待しかない
KLWPでランダムなセリフをしゃべらせよう(第3弾)
超小型LTE対応スマートフォンJelly Proをついに入手!やっぱり小さいのはいいね!
Mode1 RR レビュー:普通の人の普通の使いやすさ、そしてRacing Sportsをコンセプトにデザインされたスマホ
Essential Phone PH-1 開封の儀:大人しめの高級感と、確かにそこにある前面カメラ
うっかり大量通信防止 (Wi-Fi確認通知):Wi-Fiオフでアプリを起動すると通知が出るアプリ
AMAZFIT Stratos レビュー:心拍計もGPSもしっかり「使える」スポーツ用防水スマートウォッチ
マルチペアリングで利便性はAirPods並!? AUKEYのBluetooth防水イヤホン「EP-B40」レビュー
5150mAhの大容量バッテリーを搭載した「UMIDIGI Power」4/22発売予定
Xperia 1 SO-03L 購入!開封の儀とファーストインプレッション:大きいのに持ちやすい細マッチョ
At A Glanceによく似た見た目のウィジェットをKWGTで作ろう
JOMARTO 完全ワイヤレスイヤホン レビュー:モバイルバッテリーにもなるケースとサイバーデザインがGood
dodocool 10000mAhモバイルバッテリー DP12 レビュー:Type-Cアダプタ収納式でAndroidスマホを複数持ち歩く人に便利
Pixel 3の夜景モード(Night Sight)が実装されたので試したら本当に凄かった