読者です 読者をやめる 読者になる 読者になる

(´・ω・`)まったりいこうぜ

まったりのんびり、色々と書いています。 http://www5.synapse.ne.jp/souki/

デスクトップで「(」・ω・)」うー!(/・ω・)/にゃー!」させてみた

 いつもニコニコあなたの隣で這いよる不審者爪楊枝Pです♪

 ということで改めまして、こんにちは。今回は爪楊枝ではなく、プログラム系の動画です。と言っても解説は殆どありませんが……元ネタは「這いよれ!ニャル子さん」のOPです。
名状しがたいアニメ「這いよれ!ニャル子さん」オフィシャルサイトのようなもの http://nyaruko.com/

 フォロワーさんがよく「(」・ω・)」うー!(/・ω・)/にゃー!」とツイートをされていたので「だったら常時、デスクトップで「(」・ω・)」うー!(/・ω・)/にゃー!」させておけば楽しいんじゃね?とか考えてみたわけです。どうしてその発想に至ったのでしょうか、自分。あとGWは実家に帰っていたのですが、暇をもてあましていたので作ってみるかなーと思った次第です。どうしてそういう発想に至った。
 プログラムはVisualBasic2010Expressで。学生時代、情報教諭免許取得のためにとった講義でVB6を学んだのでそれからずっと使っています。というか、VB以外使う機会がないのですが。講義担当の教官から注意欠陥があるのでプログラムには向いていないと言われたのは今となっては良い思い出です。ということで全く向いていないらしいですが、どうにか続いています。
 動画に投稿したバージョンを作成するまでは、動画中にも書きましたが大体6時間ほどです。動画では2分で作れたというコメントも出ているので、世の中はすごい人がいるものだと感心してしまいました。凄腕のプログラマなのでしょう。ニコ動には才能の無駄遣いをされている人が多いですからね。

 以下ちょっとした作成上の話を。分からない人が多いかもしれませんが……できるだけ分かるように説明していこうと思います。
 まずはプロトタイプですが、フォーム(画面の土台になる部分)にラベルを貼り付けます。フォームはウインドウの枠が表示されないようにして、ラベルとともに背景色を透過するようにしました。あとはタイマーをセットします。この時点では時間は固定にしました。動画を見つつ、1300msぐらいがちょうど良いかなと。正確には測っていませんでしたが。またカウント用の変数を1つ用意します。タイマーが動作するごとにカウントを増やしていき、Let'sまで進んだところでリセットをするという形にしました。これでループをするようにしました。この時点では色の変更や位置の変更もできません。
 続いて位置の変更ですが、最初は数値を入力して変更するようにしましたが、面倒だったのでドラッグ方式に変えました。ただタイトルバーが無いので、移動についてはマウスボタンのダウン時とアップ時の座標を使い移動するようにしました。
・タイトルバーのないフォームを移動できるようにする: .NET Tips: C#, VB.NET http://dobon.net/vb/dotnet/form/moveform.html
 移動ができるようにしたので、位置情報の保存ができるようにしました。保存方法はXMLやINIがあったのですが、手を抜くためにMy.Settingsを使いました。簡単にできるのですが、保存している位置が分かりにくかったりするんですよね。そう色々と使うわけではないので、今回はこちらを使いました。保存も読み込みも楽ですね、これ……
 データの保存ができるようになったので、色とタイマーの時間もついでに保存するようにしました。色の設定については以前作ったプログラムから流用したので楽でした。以前作ったものがこういうところで使えるとは思っても見ませんでした。フォントのサイズですが、その場合はフォームサイズの変更も必要になりそうだったので保留です。というか、ラベルではなく、フォームに直接描画しらた良いんじゃね?とか今頃思いついたわけですが。後で試してみますか。

 とそんな感じで作ったら6時間ぐらいかかってました。別にタイムトライアルをしたいわけではありませんでしたし、勉強になったのでこれぐらいでも良いかなと。割と自分の中では順調にできた方だと思います。
 配布についてですが、動画をアップしていた時にはする予定でした。2分ぐらいでできる人がいるらしいので、こんな出来が悪いものよりもしっかりしたものを公開してくれるんじゃないかと思ったので今のところ保留です。