[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
D.Crescent でユーザに文字色を与える機能が欲しくなり、作った。同じキャラクターなら常に同じ色にしたい。
<script src="https://shunshun94.github.io/shared/other/io/github/shunshun94/util/colorutil.js"></script> <script> const str = 'ベースとなる文字列'; $('body').css('background-color', io.github.shunshun94.util.Color.getColorFromSeed(str).code); </script>
io.github.shunshun94.util.Color.getColorFromSeed は 3 つの引数を取る。
js-yaml とencoding.js ( と jQuery) を使って yaml ファイルをドラッグアンドドロップするだけで json にしてくれるものを書いた。
http://shunshun94.web.fc2.com/util/yamlToJson.html
これ単体だとさほど便利ではないと思うが、これをちょちょっといじれば「大量の設定項目を yaml ファイルをドラッグアンドドロップするだけで入力してくれる何か」とか簡単に作れそうだなぁ、と思う。今私が勤めている職場では yaml ファイルを頻繁に使うので、何かに利用できそう。
TRPG の GM が結構大変だなぁ、と思ったので書いてみた。https://shunshun94.github.io/shared/jquery/io/github/shunshun94/trpg/ResponseChat/
テキセにおける PL への返答速度向上や NPC の発言をスムーズにするために色々と機能を着けた。早速 SWEET にも機能を組み込んでみている。
(雛´-`).。oO(DMなりKPなりGMなり向けのテキセ向けチャットツールのサンプル。
— しゅんしゅんひよこ (@Shunshun94) 2018年6月8日
・PLの問いかけやダイスロール承認に素早く返答する
・NPCを素早く切り替え、スムーズに発言させる
を目標に書いてみた
)https://t.co/dSk5d7SZo0
(雛´-`).。oO(素早くPLに返答するための機能として以下を入れた
— しゅんしゅんひよこ (@Shunshun94) 2018年6月8日
・誰のどの発言への返答か分かりやすくするため、PLの発言を1クリックで引用する機能
・どれに返信したか分かりやすくするため、返信した発言に色がつく機能
・ダイス承認等を円滑にするためよく使う発言を2クリックで送信する機能)
(雛´-`).。oO(NPCのスムーズな発言のために以下の機能を入れた
— しゅんしゅんひよこ (@Shunshun94) 2018年6月8日
・名前の素早い切り替えのために一度使ったNPC名を1クリックで呼び出し再利用できる機能
・発言の素早い入力のために特定フォーマットの文字列をペーストすると整形して入力してくれる機能
特定フォーマットについては次の発言で。)
(雛´-`).。oO(以下フォーマットの文字列を張り付けると名前と本文に分割して入力してくれる。
— しゅんしゅんひよこ (@Shunshun94) 2018年6月8日
ひよこ「ひよひよ
ひよよ。」
ひよこ:ひよひよ
ひよよ。
ひよこ:「ひよひよ
ひよよ。」
いずれも名前は 'ひよこ' に、発言内容は '「ひよひよ
ひよよ。」'となる。)
後輩がキーボード入力を受けてアクションを起こさせようとしていた。その際に KeyPress イベントの which プロパティを使って押されたキーを判定していた。しかし、JavaScript の KeyboardEvent (MDN) は charCode, keyCode, which が deprecated になっていたのである。ウェブで検索するとどうしても古い情報に当たることもあるので、出てきた情報が現代でも妥当か否かは気にかけた方がよさそうである。毎回毎回それをやるのも大変なので、使い慣れていないものや古い記事の情報を使う場合はより信頼できる情報源がないか探してみた方がよいかもしれない。
関数・変数は単一の機能だけを持たせるのが好ましい。すると、命名に and が入っているというのは危険な香りがする。何かそれ以上の話があるわけではないのだが、命名に and を入れたくなったら構造が間違えている可能性を疑った方がよい。
最近の JavaScript では配列に対して forEach や filter といった便利な関数を利用できる。これがとてつもなく便利なので、これらを理解して、使える場面ではどんどん使おう。配列の添え字がなくなるのはいろいろと気楽だ。
JavaScript 以外の言語でもこういう機能がある場合はどんどん使いたいし、なかったころは自前で実装していた or そういう機能のあるライブラリを使っていたくらい便利。
'点数は' + myPoint + '点でした'
みたいな方法で文字列を連結するのではなく `点数は${myPoint}点でした`
みたいな方法で文字列の連結を行おう。前者はシングルクオート (日本語キーボードなら Shift + 7 で出る) で囲っているが、後者はバッククオート (日本語キーボードなら Shift + @ で出る) で囲っている。直すときに考える部分がグッと減って混乱したり変な表示をさせちゃったりすることがなくなる。