[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
以下の感じのソースをかいたら、エラーで止まった。
// jQuery https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js var io = io || {}; io.github = io.github || {}; io.github.shunshun94 = io.github.shunshun94 || {}; io.github.shunshun94.SampleEvents = { GET: 'io-github-shunshun94-sampleevents-get' }; // 実はここが間違っている var myEvent = new $.Event(io.github.shunshun94.SampleEvents.get); $('#com-hiyoko-sweet-footer-version').trigger(myEvent) // → Uncaught TypeError: Cannot read property 'indexOf' of undefined /* Uncaught TypeError: Cannot read property 'indexOf' of undefined at Object.trigger (jquery.min.js:4) at HTMLParagraphElement.<anonymous> (jquery.min.js:4) at Function.each (jquery.min.js:2) at r.fn.init.each (jquery.min.js:2) at r.fn.init.trigger (jquery.min.js:4) at <anonymous> */
上述の通り、 io.github.shunshun94.SampleEvents.GET とするべきところを io.github.shunshun94.SampleEvents.get としてしまい、存在しないイベントタイプを付けようとしたのが原因である。エラーメッセージ的にわかり辛かった……
タイトルのわけが分からないと思うが、次のようなことをしたい。
for (キャラクター : 管理したいキャラクター) { キャラクターのキャラシートを取得して管理コンソールに追加 if (キャラクターがどどんとふに既にいる) { どどんとふから情報を取得し、管理コンソールの HP や MP 欄に反映 } else { どどんとふにキャラクターを追加 } }
ので、作ってみた。characterManager.js sample。サンプルは設定なしならまなてぃで動く想定で作っている。
最近、妻とドラクエ6をやったりしている。ドラクエを見ていてすごいな、と思う点の1つは (他の RPG でもほとんど実装されているけど) 残 HP が少なくなってくると HP がオレンジ色で表示され、警告される点。これ、すごく便利ですよ。
自前で作っている SWEET とかでもこういうのがあれば便利そうだな、と思いこれを実現するためのツールを作った。
// https://shunshun94.github.io/shared/other/io/github/shunshun94/util/colorutil.js を読み込んでおく必要あり var colorRater = new io.github.shunshun94.util.Color.RateColor(); colorRater.getColor(100); // => white colorRater.getColor(0); // => red colorRater.getColor(75); // => white 25 : 75 red 位の色 colorRater.getColor(50); // => white と red の中間位の色 colorRater.getColor(25); // => white 75 : 25 red 位の色 var colorRater = new io.github.shunshun94.util.Color.RateColor('blue', 'black'); colorRater.getColor(100); // => blue colorRater.getColor(0); // => black colorRater.getColor(75); // => blue 25 : 75 black 位の色 colorRater.getColor(50); // => blue と black の中間位の色 colorRater.getColor(25); // => blue 75 : 25 black 位の色 var colorRater = new io.github.shunshun94.util.Color.RateColor({ 100: 'black', 80: 'black', 50: 'orange' }); // => // 80までは black だが、50にかけて徐々に orangeになっていき、 // 50を下回ると徐々に red に近づいていく
作ってみて使ってみて思ったけど、オリジナルみたいに途中で唐突に変わる方が分かりやすい気もした。うまくいかないものね。唐突に変わる版もつくるかー……
前にlocalStorage の内容をすべて書き出すという記事を書いたが、実装してみた。こんな感じである。
作っているアプリ SWEET の機能要望として挙がっていたので作ってみたのだが、実用性についてはどうだろう、という感じ。エクスポートしたファイルを他の場所でインポートするって結構面倒だからなぁ……ブラウザのアカウント (Google とかの) にログインしたらそれを共有出来たりすれば便利なんだろうけど。
[Node.js] 無料で簡単にウェブアプリを公開できるサービス「Glitch」を使ってみた! - Qiita を見て「へぇ、こんなのもあるのか」と思いもう少し見てみた。Glitch が何なのかの概要は先の記事のタイトルを見れば分かると思うので省略する。
「無料」「ウェブアプリを公開」となるとちょっとやはり気になるのが制約や課金プラン。これについては Glitch – Frequently Asked Questions に記載がある。私が以下に翻訳してみた。原文は以下に引用しているとおりであり、この記事を書いている時点 (2017年11月26日) での内容に基づく。
Glitch is free to use. There are some resource restrictions and we expect to charge for premium services or capabilities in the future, but the stuff you can do now will stay free.
Glitch は無料で利用できます。ただ、いくらかのリソース制限があります。また、将来的にはプレミアムプランや追加機能への課金を提供することを考えています。しかしながら、今利用できる機能は今後も無料です。
While we want to keep Glitch as open as possible, there are a few restrictions in place. These are there to help maintain service levels for all, and to stop someone’s accidental infinite loop somehow costing us a small fortune. The restrictions include:
- Projects created by anonymous users expire after 5 days (login via GitHub or Facebook to keep your projects around).
- Projects sleep after 5 minutes if they are not used.
- Projects are limited to 4000 requests per hour, with a burst of 4000 requests (subsequent requests will return a 429 "Too Many Requests" response).
- Projects have a limit of 128MB of space on the container (though things written to '/tmp' don't count towards that, and we use compression to squeeze the most out of that space). As well as up to 512MB of assets storage.
- Projects only show up to 100 files in the file tree, the rest get hidden from view but still exist. Using `.gitignore` to temporarily remove some files from view can help work around this.
- Similarly, files above 200kb are hidden from the file tree (but still exist), and you're unable to paste data into the editor above that size too.
If you get stuck because of these limits, then let us know and we'll try and work something out for you.
我々 (運営) は可能な限り Glitch を開かれたものにし続けたいです。全ユーザのためにサービスレベルを維持し、誰かのうっかりで発生した無限ループを止めるといったことを最小限のコストで達成するために、以下のような制限をここでは課しています。
- 匿名ユーザによって作成されたプロジェクトは5日で消されます (Github や Facebook でログインすることでこれは維持できます)。
- 5分以上利用されていないプロジェクトはスリープ状態になります。
- 1時間につき、4000リクエストが上限となります (それを超えた場合、リクエストに対して 429 Too Many Requests を返します)。
- 1プロジェクトあたり、128MBのディスクスペースがコンテナ上に用意されます (ただし、 /tmp に配置したものについてはこの制限に含まれず、ディスク上のファイルは圧縮されます)。最大で512MB のストレージが利用できます。
- プロジェクトのファイルツリーに表示できるファイル数は100までです。ただし、ファイルそのものが存在できないわけではありません。 .gitignore を利用することで、一時的に隠すことができるので、それを上手く使って表示してください。
- 同様に、プロジェクトのファイルツリーには200KBを越えてファイルを表示することはできません。また、200KBを超えるデータをエディタに貼り付けることはできません。
これらの制限によって困った場合、Glitch Support で相談してもらえれば何か助けられるかもしれません。