Home

わくわくプログラミング自習室 Blogs

Box2D+DXライブラリによるマリオもどきのテスト

『C言語VS2010』のサンプルをベースに、スーパーマリオ風味のプログラムを作ってみました(実はオリジナルやったことがありません)。地形のみですし、全部四角なので言われないとわからないですが……。

WS001225

・クリックするとYoutubeで動画再生

テストなのでグラフィック周りを作り込む予定はありませんが、後日、キノコぐらいは登場するようにするつもりです。

DXライブラリ関数リファレンスの改良

動作速度や使い勝手が上がるよういじってみました。

http://i-libro.net/game/c14vc2010/dxlib_reference/

dxrefimage2

主に変えたところは……

…続きを読む

最新のBox2Dをビルドする

この記事はBox2Dのソースコードをビルドして、LIBファイルを取り出す方法を説明しています。『Visual Studio 2010編』のために書き起こしたのですが、ページ数の都合で入らなかったものです。基本的にはソースコードに含まれている英文の説明どおりにやればいいのですが、日本語名フォルダが混ざっていると「cmake-gui」が正常動作しないとか、細かいところに罠があったりします。

 

Box2D公式サイト(http://www.box2d.org/)では、ソースコードの形でBox2Dを配布しています。これをコンパイルしてVC++2010で利用する方法を説明します。

まず、公式サイトの「download」をクリックし、「code.google.com」のダウンロードページに進みます。そこで「Download」タブをクリックすると、ファイルの一覧が表示されます。「Box2D_vバージョン番号.zip」をダウンロードしましょう。

vs-omake02-01

―Box2D_v2.1.2.zipをダウンロードする
URL: http://code.google.com/p/box2d/downloads/list

…続きを読む

DXライブラリ関数リファレンスの制作

新刊の『14歳からはじめる C言語わくわくゲームプログラミング教室 Visual Studio 2010編』は、既刊書に付けていた「DXライブラリ関数リファレンス」がページ数の都合で入っていません。そこで、オンラインのWeb版リファレンスを制作することになりました。どうせなら色々ひねってみようということで、JavaScript(jQuery)を活用して自分なりに表示しやすさ、読みやすさを追求してみました。

IE9β、Firefox3.6、Safari5、iPad、iPhoneで確認済み。確認していませんがChromeでも動くはずです。Operaは不明(jQuery 1.4を使っているのでたぶん動くかも)。

dxrefipad

…続きを読む

Direct2Dは凄い

「初級編」のサンプル「宇宙戦艦ディフェンスゲーム」をDirect2Dに移植してみました。

aaaaaa-283

http://i-libro.net/game/playroom/showgame.php?gameid=84
※Windows XPでは動作しません。7かVista SP2が必要です。

速くてしかも軽いです。左画像がGDI+版、右画像がDirect2D版ですが、倍の25fpsで動かしてもCPU使用率が15~20%程度に収まってしまい、クロックダウンしてしまっています。50fpsでも使用率25%程度。ただし、GPUには負荷がかかっているらしく、ゲームの実行中はウィンドウを動かすなどのデスクトップ操作がガタつくことがありました。

d2dgdiplus d2dd2d

また、60fpsではゲームがまともに動かず、終了させるのも不安定な状態になりましたが、これはプログラムの作り方の問題か(ムリヤリ改造したので)、パソコンのスペック不足かもしれません。

テスト環境はCore 2 Duo2.0GHz、GPUはIntel 965チップセット内蔵という一昔前のビジネスノートなので、それでこれだけ動くなら大したものだと思います。Windows XPで動かないのが最大のネックですが、最近になってようやく脱XPが進み始めたようなので、Direct2Dを使ったソフトが色々出るといいですね。

…続きを読む

GDI+でどこまでできるか

4月に『13歳からはじめる ゼロからのC言語ゲームプログラミング教室 初級編』という新刊が出るのですが、そこではDXライブラリやDirect3Dを使わず、GDI+だけでゲームを作成しています。GDI+を選んだのは、単に「Windows APIの解説書だから」というのが一番の理由なのですが、「カジュアルゲームならGDI+でも大丈夫なんじゃないのか」という読みもありました。

chap6game1 chap6game2

というのは……

…続きを読む

[ActionScript3]Adobe AIRのドラッグアンドドロップのバグ?

別件でFlex Builder 3を使ってAdobe AIRアプリを作っていたのですが、あれ所々WindowsとMacで動作が違うのですよね。そのひとつでようやく動作がだいたい掴めたことがあるのでメモしておきます。

ドラッグでオブジェクトを動かすプログラムで、Winでまともに動いたものをMacで動かすと微妙に位置がずれます(逆の言い方もできますが)。どうやらドラッグドロップ時に各イベントハンドラに返されるマウス座標の値が、WinとMacで違うようです。どっちかがおかしいのかと思ったのですがどっちもマニュアルの記述と少しずつ違うような……?

…続きを読む

【告知】ゲームアップローダーをテスト公開!

前々から進めておりましたゲームアップローダーをテスト公開しました。

http://www.i-libro.net/game/gameupload/

capsta2 設定画面

capsta7 公開画面

・専用のファイル管理ウィンドウを用意しました。
・アップロードしたゲームは、iリブロの投稿ゲーム一覧で公開されます。
・Java Web Startでは、面倒なJNLPファイルを自動生成します。
・Java Appletに対応しました。

今後実装を予定している機能は以下の通りです。
・ゲームを分類するタグ機能
・ゲームを任意のブログやWebページに貼り付ける埋め込みリンク作成機能
・投稿ゲーム一覧で名前などで並べ替える機能

疑問点やご要望がありましたら、この記事にコメントをお寄せください。

【ActionScript】ゲームアップローダとFileReferenceクラス

かなり前に予告したゲームアップローダの制作を少しずつ進めています。

gameuploader

これまでのブログのプラグインを使用したものに比べて、ファイルをアップロードや設定がかなり楽になるはずです。また、アップロードしたゲームは自習室のトップで公開されるだけでなく、iframeタグを使って他のサイトやブログに貼れるようにする(Google MapやYotubeのようにする)予定です。

さてこのアップローダは、フロントエンドをAdobe Flex 3で、バックエンドをPHPで作っている――たとえば「アップロード」ボタンを押すと、ActionScirptでuploadfile.phpを呼び出して処理させる仕組み――のですが、ファイルのダウンロードの部分だけがなぜかAdobeのドキュメント通りに動かなかったため、ここにメモしておきます。

…続きを読む

[雑記]Google App Engine

  • 2009-07-20 (月)
  • Misc

管理人です。
ここ2ヶ月ほど本業のほうが殺人的に忙しく、音信不通になっておりました。

ところで、先日Google App Engine(以下GAE)関連の原稿を読む機会があったのですが、なかなか興味深いです。GAEというのはWebアプリ(高機能なWebサイト)の開発&公開環境。現状、レンタルサーバを借りてPHPやPerlで作っているシステムの代替になるわけですね。

…続きを読む

Home

Amazonリンク

Return to page top