Photo by
toyslab
なでしこさんで点滅にゃーん
にゃーん (大したことしてないはずなのに、クソザコナメクジすぎて疲れちゃったみたいでやる気が出ない……今週も雑になんか作ってごまかしとこ……)
やったことだにゃーん
なでしこで、「にゃーん」の各文字をランダムで点滅させるにゃーん
プログラムだにゃーん
点滅にゃーん (なでしこ3貯蔵庫)
ポイントだにゃーん
ビットを取得する準備をするにゃーん
●(NのBを)ビット取得とは
AND(SHIFT_UR(N,B),1)を戻す。
ここまで。普通にやるだけだにゃーん
文字をデカくするにゃーん
DOM親要素に{
"行揃え": "中央",
"文字サイズ": "500%",
}をDOMスタイル一括設定。文字をデカくするスタイルを設定するにゃーん
ついでに文字を中央に配置させるにゃーん
「にゃーん」を用意するにゃーん
点滅文字列は「にゃーん」。
点滅要素リストは空配列。
点滅文字列を文字列分解して反復
定数の文字ラベルは対象のラベル作成。
点滅要素リストに文字ラベルを配列追加。
文字ラベルにオフをDOM可視設定。
ここまで。「にゃーん」の各文字を、それぞれラベルにするにゃーん
ラベルは、後で使いやすいように配列に格納しておくにゃーん
次に格納する初期状態と整合性が取れるよう、全文字を非表示にしておくにゃーん
状態を用意するにゃーん
前回パターンは0。
パターン数はSHIFT_L(1,点滅要素リストの要素数)。ランダムでたまたま前と同じ状態を引いてしまうと、状態が変化するはずの時間が経っても状態が変化していないように見えてカッコ悪いので、これを防ぐために前回の状態を記録しておく変数を用意するにゃーん
ついでに、ランダム選択する際の選択肢の数を用意するにゃーん
文字を点滅させるにゃーん
0.3秒毎には
変数の新パターンは(パターン数-1)の乱数。
もし、新パターンが前回パターン以上ならば
新パターンを1増やす。
ここまで。
iで0から(点滅要素リストの要素数-1)まで繰り返す
点滅要素リスト@iに(新パターンのiをビット取得)をDOM可視設定。
ここまで
前回パターンは新パターン。
ここまで。一定間隔で、表示させる文字をランダム選択し、それに合わせて表示を更新することで、文字を点滅させるにゃーん
前と同じパターンにならないよう、パターンの番号が前のパターン以上の場合はパターン番号に1を足すことにより後ろにずらすにゃーん
おわりににゃーん
にゃーん (にゃーん)


コメント