« 糞男くん、却下へ | Main | 原辰徳が消された »

Jul 09, 2004

【日記】とあるC#プログラマの憂鬱

 何か最近この手(プログラムか卒業研究)の話題ばかりだね。

 それ以外にほんとにネタが無くって、家から出て、学校に行って、パソコンの前でうんうんと唸り、直帰。その後、家でも再びパソコンの前で唸るか寝るか……、と言う単調な生活になっているので、もうどうしようもないですわ。

 取りあえず、相変わらずMicrosoftさんには苦しめられております。以下、またプログラム知識のある方のみにしか分らん日記をつらつらと書きなぐります。申し訳ない。


 さて。そろそろテストに入らないとまずいので、暫定でリリースした実行ファイルを、動作確認の為、友人の家のSDKの入っていないXPマシンに、Framework1.1とDirectX9.0b(以下DX)だけのサラ環境で確認するんですが、どうしてもエラーが発生し実行できない。

 デバッガを立ち上げ詳細を見てみると、DirectSound、DirectAudioVideoback、DirectDrawが無い……って通知が……うぉ!これって全部ないやん!と突っ込みたくなるほどエラーを吐き出しています。

 これはもしや、またもやVSかDX側のバグ?と色々調べたら、どうも、ちゃんとSDKではないDXの場合、キチンと参照出来て無い様なんですね。なんか、これらのAPIを同梱してやれば上手く行くんですが、と言うか、それじゃあ全くDXの意味が無いわけで。

 現在、その対処法に追われています。こちらは、私らの手にはおえず、しゃーねぇって事で、うちの科の先生達が動き出したんで、そのうち解決するかもしれません。

 で、問題がこれだけなら良いんだけど。

 ゲームなんで、ゲーム開始までにデモを流して美しく仕上げたい。ので……。これをDirectDrawで作るのは無謀と考え、Shockwave Flashコンポーネントを利用し、Flashムービーをデモ代わりに流して、クリックされたらタイトル画面に遷移するように作ろうと試みたんです。

 取りあえず、出来るという事は知っていたので、以下のページを参考に、再生までは漕ぎ付けてみました。

 <参考>sappari.org - wiki - C#の中にFlashを埋め込む

 作業時間、10分。うん、キチンと再生できてるね。

 けど、Stop()メソッドを送っても、StopPlay()メソッドを送っても映像は止まってもBGMが止まらないのよね。そりゃダメだ、ってことで、Dispose()で無理やり止めてから遷移させてるんですが。ここで第一の問題発生。

 どーも、FlashコンポーネントにはClickイベントとかMouseDownイベント。果てはEndingイベントの様なものがまるで無いらしく、そっちはFlash側のScriptによって処理を発行(fscommand)し、それをC#プログラム側でイベント(AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEvent 長っ)として受け取り、処理をさせるらしいのですが。

 受け取って、すぐにDispose()すると、ダダをこねる……詰る所、例外が発生するのですよ。

 多分、イベント終了後、Flash側に本来は何らかの通知を送ってるのでは無いでしょうか。その前に、Dispose()すると、強制終了なんで通知が送られず、Flashコンポーネントが例外になる。のではないかと踏んでおります。詳細は、確認するだけの技量を持ち合わせていないので闇の中ですが。(妄想なので責任はもてません

 対処法はあるんです。C#ではなく、Flash側でBGM停止等の処理を行って、C#側はDisposeをせず、タイトル画面のフォームを開いてイベント終了後、間を持ってデモのフォームを閉じれば良いんです。たぶん。

 ただ、Flashを作っているのは私ではなく、また、その人がプログラム出来ない人なのでちと困ってみたり……。最悪の場合、私がFlashをいじる必要があるのですが、もうちょっと、それは勘弁して欲しいですね。仕事が多すぎ。

 とまぁ、今日だけでもこれだけ重大な事件が多発する楽しい開発現場となっております。C#+DX開発者ってのが非常に少ないため、ほぼ自力での開発となってます。納期は後2週間。アルゴリズムもろくに出来てないよ、これは無茶。

 担任の先生にも散々いびられております。リーダーが責任はプログラマ、グラフィッカーにあると週一の会議で言い放ってくれるお陰で、どんどん立場が危うくなっていきます。ほんと、プロジェクトの要は結局人間、そしてそのコミュニケーションだね。

 と、弱音を吐いても仕方が無いので、今日も今日とて一喜一憂しながらもテストコートだけをガリガリプログラムするわけですな。仕様が分らんから試すしかないわけで。

 そんな中、さっき突然チャイムが鳴り、宅急便が来ました。我が家は良く宅急便が来るので、遂にク○ネコドライバーと話をする関係になりました。何か情けない(苦笑)

 大きな箱の送り主は実家。前回帰省した時忘れた印鑑とかを送るように依頼していたからなんですが……。

 ついでだからと入っていた食品の山、山、山……。例えばきゅうりが5本、メロンが1個、たまねぎ3個、トマト6個……。など等。(後カンヅメやら乾燥した食品やら)

 いや、ありがたい。ありがたいんだけどね。

 こんなにたくさん食えないから。>ママン

#気付けば、明日は某ベンダーのJAVA試験。さっきソースを見てみましたが、すっかり忘れてるから性質が悪い。試しに書いて、usingとしてしまった自分は、すっかりMSに毒されてしまったんでしょうな、ハハハ(つД`)

|

« 糞男くん、却下へ | Main | 原辰徳が消された »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/1924/935108

Listed below are links to weblogs that reference 【日記】とあるC#プログラマの憂鬱:

« 糞男くん、却下へ | Main | 原辰徳が消された »