Page 35

C#のタスクキャンセル
C#でスレッドプールからタスクを実行するとき、 タスクを途中でキャンセルしたい場面も出てくるでしょう。 スレッドプールからタスクを実行するにはTaskFactory.StartNew()を用います。 TaskFactory.StartNew()メソッドによりタスクを実行するとき、 タスクを途中でキャンセルできるようにす...
16223 PV
WordPressとTwitterの連携
ブログとTwitterを使っていると、ブログの更新情報をTwitterに反映させたい人は少なくないのではないでしょうか。 私もその一人です。 今回はWordPressとTwitterの連携方法についてです。 個人的に以下の要件を満たす方法を探りました。  ・ブログの記事を更新すると即座にTwitterに投稿内容が反映さ...
1612 PV
C#におけるタイマースレッドの生存期間
C#ではスレッドやタスクを簡単に扱えるようになっています。 また、ガベージコレクタが走っており、不要なメモリ資源の回収も簡単に行えます。 しかし、これらの便利な機能があるが故に落とし穴も存在します。 例えば、以下のコードはメソッドの中でスレッドプールからタイマーを生成して実行する例です。 class Program {...
7765 PV
Twitterアカウント設置しました
「from the void」の活動状況告知用のTwitterアカウントを設置しました。 アカウント名は@ftvoidです。 このブログやWebサイトの更新情報をはじめ、創作活動の近況報告やサーバのメンテナンス情報、その他お知らせ情報などをつぶやいていきたいと思います。 ご自由にフォロー・リムーブしていただいて構いませ...
1507 PV
C#のforeach文の展開について
C#のforeach文は配列をはじめ、列挙子やリストなどのさまざまなシーケンシャルな反復処理を簡潔に書くことができます。 foreach (ElementType element in collection) { statement; } このforeach文はコンパイル時に以下のようなコードに展開されます。 E en...
2738 PV
ゲームのタスクシステム設計あれこれ
ゲームを進行させていくにあたって重要になるのが複数タスクの管理です。 俗にタスクシステムと呼ばれているものです。 タスクシステムの明確な定義はありませんが、たとえばキャラクタを移動させたり当たり判定させたり描画させたりといった処理の進行を管理するものだと解釈して差し支えないと思います。 これらのタスクを管理するためのク...
4366 PV
C++でC#っぽいdelegateを実装してみる
プログラミングのネタ的なメモ書きです。 C#のdelegateの便利さを知ってから、これをC++でも出来ないかと思う様になりました。 特にマルチキャストは様々な場面で使える便利な機能です。 今回は、マルチキャストができるC++の簡易的なdelegateを実装してみました。 ■ソースコード #include #inclu...
3256 PV
新しいサイトデザイン考案中
私が運営しているWebサイトが1年以上も更新停止しているので、 そろそろ更新しなければと考えているこの頃です。 現状のサイトデザインが何とも残念な感じになってしまっているため、 デザインの全面的な作り直しから始めています。 作りかけのサイトデザインは以下のような感じになります。 相変わらず残念なデザインなのは自覚してお...
1338 PV
ゲームの当たり判定のクラス設計を考えてみる
アクション系やシューティングゲームを作っていく上でほぼ必ずといっていいほどぶち当たるのが当たり判定(コリジョン)です。 フィールドに複数のキャラクターが存在するときは、衝突し得るキャラクター同士すべてで当たり判定処理を行う必要があります。 しかしながら、この当たり判定処理はキャラクターの数が増えるほど重くなります。 し...
14610 PV
QNAP NASでdnsmasqを使う
自宅サーバに使っているTS-869 ProにてDNSを構築する手順のメモ書きです。 今回はdnsmasqを使います。 1.dnsmasqのインストール ipkgでdnsmasqをインストールします。 ipkg update ipkg install dnsmasq 2.設定ファイルの修正 /opt/etc/dnsmas...
6721 PV