UP Deck | 変数の使い方、ユーザーインプット

この記事ではコマンドをより柔軟に、便利に操作ができるようになる変数とユーザーインプットについて解説していきます。

ユーザーインプット

inputコマンドを使用することでコマンドを動作させる前に、そのコマンドでどういった値を使うかを指定することができます。

今までの記事の中では全てコマンドを書く段階で数値、文字を書いていました。変数を使うことでそのコマンドにどの数値を適用するか、どのオブジェクトにそのコマンドを使用するかなどをコマンドを使用する前に決めることができます。

インプット
input
<input name>=<input type>
<input name>=<input type>
<input name>=<input type>
(複数化)
input nameはアルファベットで始まり、文字、数字、アンダーバーを使用することができます。
input typeはtextかnumberを使用することができます。
変数に値が入るとデッキとバックアップに記憶されます。そしてコマンドを作る際に$<input name>の形でその変数の値を使用することができます。
それでは実際に下の記事で紹介したコマンドを使用してコマンドを作っていきます。
関連記事

この記事ではメディア関係、オーディオ音量設定やテキストの更新などのコマンドを紹介します。 [adcode] オーディオソースのミュート muteコマンドではオーディオソースのミュート、ミュート解除ができます。 ミュートコマンド […]

numberzに数字を使用する
input
numberz=number

カウントダウンテキストを表示
show
val=1
scene=Text
Timer

カウントダウン開始
countdown
source=Timer
val=$numberz

numberz秒+10秒後にカウントダウンテキストを非表示
show
val=0
scene=Text
Timer
delay=[($numberz * 1000) + 10000]

このコマンドを使用するとまず、numberzの値を数字で入力されるように入力エリアがデッキ上に表示されます。何秒のカウントダウンにしたいかを入力し、右下のチェックボタンを押すことでカウントダウンが開始されます。

この例ではコマンド内の$numberzは15になっています。

次にテキストの更新をユーザーインプットを使用して行っていきます。

ユーザーインプット
input
textz=text

テキストソースの更新
text
source=texto
text=$textz

このコマンドでも同様にまず、テキストの入力を要求されます。

リストから値を選択する

リストの使用方法

自分で入力をして値を決める方法を紹介しましたが、あらかじめ用意しておいたリストから選択する方法を紹介します。

例えば大文字と小文字を区別するため間違えやすいシーンやソースオブジェクトなどに使用すると良いでしょう。

まず、リストを作る必要があります。
UP Deckのデスクトップアプリをダブルクリックして表示されたウェブブラウザのUPDeck SetupにあるFileをクリックします。

開いたUPDeckフォルダの”Lists“フォルダに任意のリストをテキストファイルで作成します。

今回は以下のようなリストを作成しました。
残念ながら現在、リストでは日本語が使用できません

texts.txt
Thanks for watching!
Follow me on SNS from description!
Hostiong private matches, join us!
Muting mic for eating…
Search UP Deck and kurocha.jp on Google Kappa

textposition.txt
topleft
topright
bottomleft
bottomrightsetonoff.txt
0
1
それではこれらを利用してテキストの更新を行うコマンドを作成していきます。
リストの使用にはinputコマンドを使用します。
リストの使用
input
*list=<リストの名前>
<input name>=list
<input name>=list
(複数可)
実際に作ったコマンドがこちらです。

リストからインプット
input
*list=texts
textfornoti=list
*list=textposition
textpos=list
*list=setonoff
onoff=list

$onoffがテキストを表示か非表示を選択
show
val=$onoff
scene=_current
$textpos

テキストソースの更新($textposがテキストの場所)
text
source=$textpos
text=$textfornoti

texts.txtの内容を上下左右にあるテキストソースに書き込み、それを表示させるかどうかを問うコマンドが出来ました。

 

ラベル付きリスト

リストを使用するなかでURLやファイルの絶対パスなど、長く直感的にわかりづらい値をリストにしたい場合にはラベルを利用することでモバイルアプリ側に表示される名前を任意のものに設定することができます。

ラベルを付けるにはリストを以下のように設定します。

:値:ラベル名
:値:ラベル名
:値:ラベル名
例えば、URLを値に設定する場合は
:8up.uk/:UP Deck official
:kurocha.jp:kurocha blog
:kurocha.jp/updeck-command-archive:command archive
:www.twitch.tv/kurocha:Twitch | kurocha
:www.box.com/ja-jp/home:BOX
このようにすることで
:URL:ウェブサイト名
となりコマンド内ではURLが値として利用され、モバイルアプリ上の表示はウェブサイト名の表示となります。
注意点としてはリスト内では日本語表記不可、ラベル内で:(コロン)の使用は不可となります。

おまけ(inputとMorphの組み合わせ)

関連記事

この記事ではアニメーションをより簡単に、直感的に作ることができるMorph(モーフ)について解説していきます。 今回作るのは次の動画のようなアニメーションです。 https://youtu.be/bSpJQZ-mCNQ [ad[…]

この記事では文章は画像で作っていました。
この記事で作ったアニメーションに少し手を加えたいと思います。

ユーザーインプットで5行の分を入力し、それをMorphでアニメーションさせていきます。

少し長いので畳みました(クリックで表示)
ループ
loop
start=1
end=5
step=1

文字を入力
input
text1=text
text2=text
text3=text
text4=text
text5=text

テキストソースに文字を入力
text
source=text$@
text=$text$@

テキストを中央に
animate
scene=Text
item=text$@
queue=1
morphScene=MorphObjects
morph=1440$@
steps=40
interval=20
easing=EaseOut
delay=[$@ * 500]

帯を中央に
animate
scene=Pics
item=pink$@
queue=1
morphScene=MorphObjects
morph=1440$@
steps=40
interval=20
easing=EaseOut
delay=[$@ * 500]

テキストを右に
animate
scene=Text
item=text$@
queue=1
morphScene=MorphObjects
morph=1442$@
steps=40
interval=20
easing=EaseOut
delay=2000

帯を右に
animate
scene=Pics
item=pink$@
queue=1
morphScene=MorphObjects
morph=1442$@
steps=40
interval=20
easing=EaseOut
delay=2000

まとめ

今回はコマンドの自由度を上げる変数について紹介しました。

少し難しいですができることの幅がぐいっと広がるので是非試してください!

最新情報をチェックしよう!
配信中! 質問受け付けてます
現在オフライン