【.NET Tips】インストールされている Excel のバージョンに依存せずに .NET で Excel の処理を行う

.NET で COM を経由して Excel の処理を行うときにライブラリを参照すると特定の Excel のバージョンに依存してしまいます。今回はそれを回避する方法について説明します。

【UnityTips】オブジェクト同士が衝突しているかどうかを判定する (2D)

ゲームなどでよくある弾がキャラクターにあたる、キャラクター同士があたる、などに必要な衝突判定を実装する方法について説明します。

以下 Unity の各 Tips まとめ

Windows 10 & Windows 10 Mobile 向けのゲーム作ります

※あれ? 前にも同じようなこと書いてなかったけ? と思われた方もいるかもしれませんが、書いたかどうかも忘れてしまったぐらい時間がたってしまったのでとりあえず書きます。

最近日本でも Windows 10 Mobile の端末が増えてきたので、それに乗っかる形でなんかゲームでも作ってみようかと思います。

実は Windows 10 Mobile で動くゲームは、以前 Windows 8 向けのゲーム「エイッとウォーズ」なるものを作った後、Windows Phone に移植しているので、完全に初アプリ(ゲーム)というわけではありません。

ただ、エイッとウォーズはもともと Windows 8 のアプリコンテスト向けに作っていたものだし、実質3日ぐらいで作ったものなので自信作、といえるものではありません。それに Windows タブレット向けに作ったものなので、Windows Phone での操作には若干難があります (まあ、一応普通にクリアする分にプレイはできますが)。なので今回はもう少し作りこみをしたレベルでのゲームを作ろうかと思っています。

で、ゲームの内容とかタイトルが気になる方もいるかもしれませんが、実はほとんど決まっていません。市販のゲームの告知とかだと、大抵はゲームタイトルやロゴ、場合によっては開発中イメージなんかが出てくると思いますが、今回作ろうとしているゲームは、考えている内容が本当に問題なく作れるかどうかの調査の段階から始めているので、そこをクリアしないとタイトルとか決めてもしょうがないかなー、と考えてました。

一応ふわっとした感じではイメージしているのですが、まだきちんとまとめていないので、タイトルとかイメージはおいおい紹介していきたいと思います。

現在プログラムの構築のほうは実は完全に0というわけではなく、いろいろテストしながら作りこんでたりしてます。

ブログを見ていただいている方なら知っていると思いますが、ゲーム制作の内容を動画で撮ってニコニコ動画のほうにアップしています。まあこの動画は他の人に見せるため、というよりかは備忘録的な感じで作っているので内容はぐだぐだなのですが、それでも見てみたいという方がいればご覧ください。現在25回分は上げていたかと思います。

ゲームのデモも、開発中の段階ですが、ホームページのほうに上げたりしています。こちらも段階的に上げていくつもりです。(Silverlight 版です)

もともと Windows 10 や Mobile 向けに作っていたわけではないので、タッチ向けにどうもっていくか、子画面のレイアウトとかどうするか、など課題はまだまだ多いです。

ある程度検証とかが終わり動くものができてきたら、タイトルとかコンセプトとか作りこんでいく予定です。コンセプトなんかは本来一番最初に考えるべきものなんですが、ゲーム内容を発表した後にプログラム作ってみたら実はできませんでした時間が足りませんでした、なんてことにもなりかねないので(実際なる)、そこらへんはできるものからやっていきます。個人開発だし特に周りに影響することもないですからね。

今後の方針なのですが、ゲーム制作動画のほうはあまり更新しない予定です。何個か機能ができたらそれらを簡単に紹介していくような動画になると思います。

代わりに進捗のほうをブログのほうで週一ぐらいで書いていこうかなと思っています。文章を作るのに時間がかかってゲーム制作が遅れるのもあれなので、キャプチャ1~2枚と文章をちょろっとというような感じになると思います。

Twitter のほうも動画紹介ぐらいにしか使っていなかったので、こちらでもちょくちょく書いていこうかなと思ってます。

ということで一応こんな感じでゲーム制作をやっていくつもりです。またなんか決まったらブログに書いていきます。

]]>

ファイルからバイトデータを読みとってプログラムの配列コードを生成するツール

しばらく何もなかった「β版開発室」に「バイト配列出力」のページを作りました。ダウンロードツールではなく Web ツールです。

内容は簡素なもので、題目の通りローカルにあるファイルを選択するとバイト配列の文字列として出力するのでそれをコピーしてプログラムに貼り付けられるというだけのものです。はい、ほぼ自分用のツールです。(しかももう使ったので用済み)

ファイルがサーバーにアップはされずクライアントだけで処理するようにしました。大した処理でもないのにサーバーにいちいちでかいファイルをアップされても困るのでこうしました。File API を使ってるので比較的最新の Web ブラウザじゃないと動作しないので注意してください。

β版開発室 はこんな感じでしょーもないようなもの、利用者が限定されるもの、本番向けツールの事前公開など、とりあえずなんか作ったら上げてみる用途で使っていきたいと思います。前も上げていたのですが外部サービス依存だっためいつの間にか使えなくなっていたということがありましたが、そういうのも含めてのβ版開発室にしたいと思っています。

]]>

コマンドプロンプトでプログラムを実行後に戻り値を確認する方法

コマンドプロンプトで .exe や .vbs など各種プログラムを実行した後に戻り値を確認したい場合があります。プログラム実行後は環境変数「ERRORLEVEL」に戻り値が設定されるのでこれを呼び出せば確認することができます。

  1. コマンドプロンプトでプログラムを実行する
  2. 実行完了後、「echo %ERRORLEVEL%」を実行して確認
]]>

Windows ログオン時にアプリケーションを管理者権限で実行する方法

メモです。Windows Vista, Windows 7 のお話。

アプリケーションをWindows ログオン後に実行させる場合は「スタートアップ」フォルダに入れておけば自動的に実行されますが、管理者権限で実行することはできません。(管理者権限必須アプリケーションの場合、もしかしたら昇格ダイアログが表示されるかも?)

Windows ログオン後に自動的に管理者権限でアプリケーションで起動させたい場合は「タスク スケジューラー」を使用します。

  1. 「スタートメニュー」⇒「アクセサリ」⇒「システム ツール」⇒「タスク スケジューラー」を起動
  2. タスク スケジューラーが起動したら「操作」メニューから「基本タスクの作成」を選択
  3. 名前や説明は適当に設定し、起動トリガを「ログオン時」に設定
  4. 操作は「プログラムの開始」に設定し、プログラムの起動で起動したい実行ファイルのパスを指定します。引数はアプリケーションによって任意に設定してください。
  5. 作成したタスクをダブルクリックして開き、「全般」タブから「最上位の特権で実行する」にチェックをいれます。

「基本タスクの作成」ではなく「タスクの作成」から作成を行った場合でも、最初から詳細設定が表示されるだけで設定できる内容に違いはありません。「基本タスクの作成」はウィザード形式、「タスクの作成」は詳細設定形式と考えていいです。

]]>