- 1 名前:名前は開発中のものです。 [2008/06/09(月) 14:36:53 ID:yieVRZfd]
- C#でゲームを作ろうと思う人が情報を交換するためのスレです。
テーマはアクション、パズル、RPG等なんでもOK
- 390 名前:名前は開発中のものです。 mailto:sage [2009/11/30(月) 18:39:04 ID:xbKzBVcH]
- サンプルのHeightmapCollisionて地面のテクスチャ1種類しか使えないのか…
- 391 名前:名前は開発中のものです。 [2009/12/30(水) 00:49:00 ID:lgs1Sc5s]
- XNAのOS対応状況についての質問です。
現在XP上でVS2008C#とXNA3.0を使用して開発しております。 サンプルを知人渡したところ動作しないとの事でした。 あいての環境はwindows7らしいのですが、 XNA3.0は7にて動作は確認されているのでしょうか?
- 392 名前:名前は開発中のものです。 mailto:sage [2009/12/30(水) 01:04:27 ID:1FBrcKVL]
- >>391
creators.xna.com/ja-jp/XNAGS3.1readme OSが原因じゃないような気がするんですけどね・・・
- 393 名前:名前は開発中のものです。 [2009/12/30(水) 09:23:02 ID:lgs1Sc5s]
- >>392
お返事ありがとうございます。 よくよくきいてみたところ、XNAのラインタイムが、そもそもちゃんと インストール出来ていないような事をいっていました。 ってことは、.Ver3系統のnet Framework のランタイムが、 インストールできていないのかも・・・とか思っています。 XNAランタイムのインストール必須条件が、どちらに書いてあるのか 今のところ探せてないのでどうしたものやら・・・。
- 394 名前:名前は開発中のものです。 mailto:sage [2009/12/30(水) 10:00:26 ID:1FBrcKVL]
- >>393
>XNAランタイムのインストール必須条件が、どちらに書いてあるのか msdn.microsoft.com/ja-jp/library/bb464156.aspx まずXNAは最新バージョンの3.1を使いましょう。 配布はランタイム不足を解消するためにClickOnceを使うのがお勧めです。 それでも解決できないならハードウェアかプログラムのどちらかの問題だと思います。 めんどくさいですけどログを出力するなどして原因を特定するしかないですね。
- 395 名前:名前は開発中のものです。 [2009/12/30(水) 10:05:54 ID:lgs1Sc5s]
- >>394
いろいろとご丁寧にありがとうございます。 URLを参考に解決してみたいと思います。 ClickOnceにつきましては前から興味がありましたので、 この機会に学んで見たいと思います。
- 396 名前:名前は開発中のものです。 [2010/02/09(火) 06:13:39 ID:aS6DEZHg]
- C#でゲームを作ろうとしてるんだけれども、よければアドバイスもらえないだろうか?
我流でいろいろと試行錯誤してはいるんだけれども前に進めなくて困ってる。 『ゲームプログラマになる前に〜』『C#ゲームプログラミング』あたりは既読なんだが、どうも完成図がイメージできない。 ゲームループだのシーケンス遷移だのと概念的なことはなんとなく分かってきたつもりだけれども、 それを具体的にどう実装すればいいのか、実装したものをどう連結させてひとつのゲームにするのかが分からない。 作りたいものの方向性はどちらかというと古典的で、RPGでいえばWizやDQのようなもので構わない。あるいは大戦略とか。 アクション性などは複雑ならば切り捨てることに未練はないし、3Dは興味ないしXNAは動くかどうかも分からない。 自分の技術としては、C#3.0までをさわり程度は理解しているつもり。少なくともラムダ式やLINQなどと言われても動じることはない。 ゲームプログラムというかGUIプログラムの経験が浅いので、正直フォームアプリケーションも基本的なことしかできない。 DirectXはまだ理解度が全然足りないと思う。WPFは入門書を読んだ程度なので多分物の役にも立たない。 フォームデザイナを利用しろとかするなとか、WPFがいいだの向いてないだの、人によって意見が違うからかなり混乱している。 とりあえずいろんな技術をつまみぐいしてる最中だけれども、やっぱり少なからず形にしてみたいという欲はあるので、 参考になる資料やらソースやらを知ってたら教えてもらえればありがたい。深い内容でなくてもいいからとっかかりが欲しい。 わがままで申し訳ないが、勉強も兼ねているので過度にライブラリ依存はしたくないというのも本音。
- 397 名前:名前は開発中のものです。 mailto:sage [2010/02/09(火) 07:15:37 ID:gxmzJN9a]
- >>396
ゲームの内容は「じゃんけんゲーム」くらいシンプルなもので良いので、とにかく一つのゲームを完成させることをお勧めしたい。 「ゲームプログラマになる前に〜」を読んでいるなら「倉庫番」は作れるようになっているハズ。 ManagedDirectXでも良いと思うけどXNAの方がゲーム向きなのでこっちも検討してみて。 というかManagedDirectXはすでに開発が中止されてXNAに移行してしまっているので・・・ >フォームデザイナを利用しろとかするなとか、WPFがいいだの向いてないだの、人によって意見が違うからかなり混乱している。 市販のゲームを見れば分かると思うけどほとんど使われてないよ。 ゲーム中のメッセージを表示するのにウィンドウズのダイアログが出てきたらダサいでしょ? >参考になる資料やらソースやらを知ってたら教えてもらえればありがたい。 「ゲームプログラマになる前に〜」が一番分かり易いと思うんだけどなあ。
- 398 名前:名前は開発中のものです。 mailto:sage [2010/02/09(火) 08:40:56 ID:mPUMM0XY]
- WPFならダサくないダイアログも出せると思うんだが。
XNAはWPFのサブセットぐらい使えるようにしといて欲しいと思ったことは多々ある・・・
- 399 名前:名前は開発中のものです。 mailto:sage [2010/02/09(火) 10:02:04 ID:0heFhkEx]
- >>396
構造的なことを知りたいなら xnaのサンプルがわかりやすい (xnaを使わなくても) シーン タスクシステム(最近は必要かどうか微妙だが) 等ゲーム固有の構造を知るのがスタートライン あとは適当にググればなんとかなる
- 400 名前:名前は開発中のものです。 mailto:sage [2010/02/09(火) 10:17:44 ID:00QyPKRr]
- XNA動かない環境ならSlimDXとかどうか
- 401 名前:名前は開発中のものです。 mailto:sage [2010/02/09(火) 13:21:54 ID:XGTRyn01]
- そういう時はとにかく強引に何か作る
調べてても先に進まないから
- 402 名前:名前は開発中のものです。 mailto:sage [2010/02/09(火) 13:55:03 ID:mPUMM0XY]
- それはあるある
適当に動くの出来ると愛着沸いて勉強も進んだりするよね。
- 403 名前:名前は開発中のものです。 mailto:sage [2010/02/09(火) 14:47:49 ID:gxmzJN9a]
- 勉強ばっかりしてると途中で他のことが気になってすぐ脱線しちゃうんだけど・・・自分だけ?
やっぱりスピード感は大事だよ。 >>396は最低限の知識はあるようなので1週間くらいで一つゲームを作ってみて、分からなかったところを質問するようにした方が良いと思う。
- 404 名前:名前は開発中のものです。 mailto:sage [2010/02/09(火) 14:49:25 ID:6WfgJ8q7]
- 簡単なものでも実際作ってみたほうがいいってのは同意。
調査だけしてると、調査終わった時点で満足してしまってやる気が無くなるw
- 405 名前:名前は開発中のものです。 mailto:sage [2010/02/09(火) 17:26:03 ID:aS6DEZHg]
- レスありがとうございます。
こんなに素早く大量にレスもらえるとは思わなかった……。 スルーされても文句は言えないような類の質問だと思っていたので、本当感謝です。 >>397 言葉足らずで申し訳ない。リバーシや将棋程度なら朝飯前とはいかないけど作れます。 ただ画面や状態が激しく遷移するようになるのが少し分からないというか、幾つか試作品を作ってみたけど微妙。 少し理論というか理屈に走りすぎてドツボにはまってる気がすごく。そういう性格なんで。 先述の通り派手さとかはまったく要求していないんだけど、XNAはそれでも価値があるのでしょうか? いきなり大作を作りたいわけじゃないから、簡単なものでいいから仕組みをきちんと理解したいって感が強いかも。 >>399 XNAのサンプルって XNA Creators Club Online で公開されているものでいいのかしら? 適当に落としてみて軽く逃げたくなったけど、有用なら簡単そうなとこから挑んでみます。 >>403 確かにその方が皆さんにも余計な迷惑かけないでいい気がするけれども、 スタート地点で「あのやり方でもできる」「このやり方でもできる」「でも本当にそれでいいのか?」って捕らわれてる感じで、 上述の通り試作品は幾つかあるけど、申し訳ないけどそこから具体的な質問は見いだせなかったです。 楽観的かもしれないけど、ここさえ抜け出したら結構なところまでは自力で進めそうな気はするんですが……。
- 406 名前:名前は開発中のものです。 mailto:sage [2010/02/09(火) 17:46:41 ID:00QyPKRr]
- XNAのサンプルは、、CCのは規模が大きいのはほんとに大きいからなあ。
ひにけにとかソーサリーフォースのサイトにあるやつあたりからこつこつやってみては
- 407 名前:名前は開発中のものです。 mailto:sage [2010/02/09(火) 17:47:59 ID:00QyPKRr]
- あーでもそこに書いたのはほんとに基本的なパーツでしかないから、、
移植が鍛えられるよ。適当にC/C++やjavaから題材持ってきて移植してみる。
- 408 名前:名前は開発中のものです。 mailto:sage [2010/02/09(火) 18:04:14 ID:gxmzJN9a]
- >>405
>先述の通り派手さとかはまったく要求していないんだけど、XNAはそれでも価値があるのでしょうか? このサイトでManagedDirectX 、XNA、SlimDXを比較してるので読んでみて。 mainori-se.sakura.ne.jp/slimdxwiki/wiki.cgi?page=SlimDX+%A4%C8%A4%CF XNAは小規模なゲームを作るんだったら機能的にManagedDirectXとほとんど変わらないんじゃないかな。 プログラムに絶対正しい方法なんて無いし、あんまり気にしなくて良いと思うけどな・・・ どうしても気になるなら「こんな風にしたんですけど、もっと良い方法ありませんか?」みたいな感じで質問したらいいよ。 「具体的な質問は無いけどアドバイスをお願いします」と言われても困るのでw
- 409 名前:名前は開発中のものです。 mailto:sage [2010/02/09(火) 18:23:33 ID:aS6DEZHg]
- >>406
やっぱり規模大きいですか。少し安心した……。 ひにけになども確認してみます。XNAのサイトだからって無条件に弾かない方がよさそうですね。 >>408 まだ抽象性が高いかもしれませんが、シーンが切り替わるごとにインターフェイスが全然異なっちゃうのが一番悩みかもしれないです。 たとえばフィールドマップを歩いているときは、キー入力やマウスクリックなんかはキャラの移動に割り当てられるけど、 メニューを開いたらコマンドウィンドウにフォーカスが移って、更にそこから世界地図の表示を選択したら…… みたいに処理系統がずれるとき、それが複雑になると、どのような設計をすればうまく収まるのかさっぱりな気分になりますね。 行き当たりばったりでやってると広域変数がわらわらわいてきて怖気がします。 DirectXの方は後でじっくり読んでみます。 参考資料ありがとうございます。
- 410 名前:名前は開発中のものです。 mailto:sage [2010/02/09(火) 18:53:05 ID:RyMhwSFs]
- フィルードはフィルードのクラス
メニューはメニューのクラス マップはマップのクラス 描画は描画のクラス
- 411 名前:名前は開発中のものです。 mailto:sage [2010/02/09(火) 20:12:09 ID:vTYD+iVB]
- >>409
このサンプルなんかまさにそういう問題の答えかもしれん creators.xna.com/ja-JP/samples/gamestatemanagement
- 412 名前:名前は開発中のものです。 mailto:sage [2010/02/09(火) 21:36:23 ID:EQQCG2AZ]
- 普段ピクリともしないこのスレを
これだけヲチしてる仲間がいることに感動したw xnaを使うかどうかはともかく フレームワークの構造は参考になると思う とにかく作ってみるっていうのはおれも同意 つまづいてから習得した技術は納得度が違うw 仕事ならそうも言ってられないがw
- 413 名前:名前は開発中のものです。 mailto:sage [2010/02/09(火) 22:01:17 ID:mPUMM0XY]
- 個人のゲーム作成って結構勢いが重要だったりするもんな。
- 414 名前:名前は開発中のものです。 mailto:sage [2010/02/09(火) 22:53:02 ID:sxFgmY7p]
- >>411
ソースまで見てないけど>>409の習熟度から想像すると 丁度よさげな内容ぽいね
- 415 名前:名前は開発中のものです。 mailto:sage [2010/02/10(水) 00:28:48 ID:jpAfFYdL]
- >>411
解説みた限りだとだいぶ参考になりそうな気がします。ありがとうございます。 XNA関連を何も入れてないからかプロジェクトが開いてくれないんで、明日必要そうなもの導入してみようと思います。 ソースだけなら見れますけど、やっぱり動いている様子を見た方が早いですしね。 >>412 質問しておいてなんですが、自分もびっくりしました(汗)。 自分はPGではないのですが、趣味であるアドバンテージは生かしたいですね。
- 416 名前:名前は開発中のものです。 mailto:sage [2010/02/10(水) 03:52:12 ID:iylMgeyn]
- しかし潜在的にはちゃんと人いるんだなこのスレ。
>>415 >>411のGameScreenやゲームプログラマになる前に〜のシーケンス周りを理解して、 Move()とDraw()などを持った抽象クラスを作れば、それだけで単純なSTGは組める。
- 417 名前:名前は開発中のものです。 [2010/02/10(水) 10:03:03 ID:Jfy7clKG]
- CCのサンプルは規模の大きいものでもわりと分かりやすいと思う
再利用できるものはきっちり分離して、そうでないものは割り切って ゲームの世界にべったり依存してて余計な抽象化などによる無駄な複雑さが少ない
- 418 名前:名前は開発中のものです。 mailto:sage [2010/02/10(水) 10:08:38 ID:ChsIJfxb]
- >>415
XNA入れてなくてサンプル見ようとしてたのか。 最低でもプロジェクト作ってできるスケルトンくらいは先に見ようぜ。
- 419 名前:名前は開発中のものです。 mailto:sage [2010/02/10(水) 20:02:38 ID:jpAfFYdL]
- >>418
失礼。XNA=XBOX向けみたいなイメージが強かったので、その時点で動作確認もしていなかったので。 開けるソースをざっと見てみて、有用そうだと思ったので取り急ぎレスさせていただいた次第です。 そしてXNA Game Studioを入れたのですが、重い……。 フリーズしたかと思いました(汗)。
- 420 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 03:07:41 ID:rY96i8HJ]
- 話をへし折るが、やはりみんなはC#で作るならXNA派なん?
- 421 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 07:23:00 ID:BEEGi6EL]
- 俺はDxLib+MOIS
- 422 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 08:34:12 ID:S5tbEoCa]
- Managed DirectX=開発が終了しているので将来性はゼロ。
SlimDX=実績が無い。日本語の情報がほとんど無い。 Windows API Code Pack=WindowsXPで使えない。 XNA=XBox互換のため機能制限あり。 OpenTK、Orge.net、Irrlicht .NET、SDL.NET、DXライブラリも候補に入れても良いかもしれない。 どれも一長一短のような気もするけど今はXNAを使ってるよ。
- 423 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 13:29:25 ID:d0XFdMVL]
- XNAおもしれーとうはうはしてたけど、文字列表示させようとして鼻水吹いた。
- 424 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 13:46:21 ID:cSNnQmS/]
- XNA(Win限定)で結局GetGlyphOutline使うフォントクラス作った
- 425 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 15:26:38 ID:d0XFdMVL]
- 面倒だから平仮名・片仮名・英数字だけにしたら、進化しそこなったドラクエみたいだ……
1Byte文字文化圏はいいよな……
- 426 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 19:39:07 ID:uwXGwrNr]
- XNAは標準で簡単なWidgetが付いてたら最高だったんだけどなぁ。
- 427 名前:名前は開発中のものです。 mailto:sage [2010/02/20(土) 01:17:06 ID:j7v2k0Qb]
- >>422
MDX先が無いことはわかってるんだけど、2Dオンリーなら不満が無いからなぁ・・・ MDXに限界が来たらライブラリをSlimDX用に書き直す感じ。それまではMDXで。
- 428 名前:名前は開発中のものです。 mailto:sage [2010/02/20(土) 02:55:10 ID:usJ1VsOB]
- SlimDXも.Net、DX9、SlimDX、VC++2008Runtimeと必要なものが多すぎる...
- 429 名前:名前は開発中のものです。 mailto:sage [2010/02/20(土) 10:03:56 ID:U8OIvjqs]
- 俺もそれは思った
せめて未インストール時に 「○○をインストールしてください ○○をインストールしてください」 っていう風にインストールが必要なものを警告表示できればいいんだが チェック方法がわからんorz
- 430 名前:名前は開発中のものです。 mailto:sage [2010/02/20(土) 13:10:41 ID:29F92df1]
- >SlimDXは数MBのファイルひとつだけで必要なSDKランタイム/エンドユーザーランタイムすべてをインストールしてくれる
>>224にこう書かれてるけど?
- 431 名前:名前は開発中のものです。 mailto:sage [2010/02/20(土) 14:52:39 ID:R/OX6DXK]
- ちょっとした2DゲームならSilverlightで十分な気がする
なんといっても.NET Framework不要、プラグインのインストールは一瞬
- 432 名前:名前は開発中のものです。 mailto:sage [2010/02/20(土) 16:30:54 ID:usJ1VsOB]
- >>430
俺はDirectXの1部だけの配布はできないと思ってたけど、今ランタイム落として内容確認したら D3D_nn.DLLとか更新が必要なやつだけ梱包されているみたいだね。 別途.Net 2.0、DirectXはインスコしてないとあかんけど、XP以降なら最初から問題ないだろうし。 つうことは、17MBほどのランタイムだけ入れさせれば、使用できるということか。 一度VPCで環境作って確認はしとかないといかんけど。
- 433 名前:名前は開発中のものです。 mailto:sage [2010/02/20(土) 16:32:27 ID:usJ1VsOB]
- >>429
.Net自体は.Netのバージョンを調べる方法が確かあったはずだし、DirectXもバージョン調べられるはず。 あとはDLLがあるかどうか確認すれば、いけると思うけど。
- 434 名前:名前は開発中のものです。 [2010/02/24(水) 20:12:53 ID:lWszCn7P]
- >>425
これマジ同意すぎて><
- 435 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 21:36:28 ID:v0pMbtQH]
- 全部英語にしちゃいなYO
- 436 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 02:43:25 ID:E4vRbEqX]
- 情報系大学とか、そっちの専門学校とかは、
基礎をちょっと教えたら残りは全部英語の授業でもいいよなってくらい、最近英語に悩まされてる。 せめてエラーメッセージくらいは自力で読んでくれよ…… それはさておき、XNAの漢字問題にはどう対処するのが賢そう? 使った漢字を自動抽出するのが主流って噂を聞いたけど、使用率によっては元テキストをなおした方がいい場合もあるし、 最初に「使用していい漢字のガイドライン(どうしても追加で必要な場合は応相談)」みたいなのがあった方が テキストを書く人物が別人の場合は楽かな?
- 437 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 07:50:14 ID:dfNjmA1V]
- Box2DXってWindows7の64bitでは
使えないのね・・・
- 438 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 09:59:29 ID:8oJeVww7]
- >>436
状況によるけど、XNAはだいたいコンテントパイプライン使って コンパイル時にテキストファイルから文字を拾うようにしてる。 そのテキストファイルがソースだったりシナリオファイルだったり 設定用のテキストファイルだったりするけど。
- 439 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 10:12:07 ID:I2iVSb1z]
- XNAではまだ日本語つかったの作ってないけど
チャットみたいなユーザが何入力するかわからんようなの実装しようとするとキツそうだね。
- 440 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 10:35:19 ID:8oJeVww7]
- そうなんだよね。日本語限定ならまあ全部作っとけばいいけど
ZUNEで曲名とか表示させたいときに、各国語の可能性あるから そうそう用意できないんだわ、、、こういうケースはシステムフォント使わせてほしい
- 441 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 11:31:08 ID:I2iVSb1z]
- ジャストインタイムコンテントパイプライン、みたいなのがあればいいんだろうか
- 442 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 12:55:16 ID:Ar+UEgOz]
- xna用ででまわってる個人製作のGUIライブラリなんかは
dxライブラリと同様の方法でリアルタイムにフォントスプライト生成してるな チャットとかならあの手のやり方が現実的かも
- 443 名前:名前は開発中のものです。 mailto:sage [2010/02/26(金) 10:08:04 ID:7mqiUOeg]
- 無理してSpriteFont使わなくても1から作ったほうが早いよ
自前のフォント描画なんかDirectX使うなら普通に行われてるんだから 探せばC++のサンプルは腐るほどある
- 444 名前:名前は開発中のものです。 mailto:sage [2010/02/26(金) 21:14:30 ID:4rJsMRm9]
- >>443
おすすめのサンプル1つあげてちょ プリーズ
- 445 名前:名前は開発中のものです。 mailto:sage [2010/02/26(金) 23:01:32 ID:TbWfS5Fw]
- >>444
それこそDXライブラリのソースでいいんじゃね?
- 446 名前:名前は開発中のものです。 mailto:sage [2010/02/27(土) 02:10:56 ID:D991P+rM]
- 普通に一度Win32や.NETFrameworkなどの標準ライブラリから文字のbmpを取得して、
そっからTextureを生成すればいいのでは・・・。 テクスチャのインスタンスは適当にDictionary<char, Texture>で持つとして、 テクスチャを取得するか生成してから取得するかは、利用側は意識しなくて言いようにクラスを作っておけばok。
- 447 名前:名前は開発中のものです。 mailto:sage [2010/02/27(土) 09:48:39 ID:vCoVs2W/]
- >>446
一度落ち着け
- 448 名前:名前は開発中のものです。 mailto:sage [2010/02/27(土) 12:08:09 ID:D991P+rM]
- あれ、443の流れに乗ったつもりだったが…サンプルコード載せなかったのがまずかったのか?
- 449 名前:名前は開発中のものです。 mailto:sage [2010/02/27(土) 12:36:32 ID:tyywBe4S]
- サンプルコードというかそういうライブラリを誰か公開してほしい。
前に自分で作ろうとしたことあったけどやり方がよく分からんかった・・・
- 450 名前:名前は開発中のものです。 mailto:sage [2010/02/27(土) 16:16:59 ID:lNYv9JrS]
- XNA用のネイティブフォントクラス作ってみた
gamdev4.hp.infoseek.co.jp/cgi-bin/up/No_0082zip.html ちゃんと試してないしオプションの実装も超適当だけど
- 451 名前:名前は開発中のものです。 mailto:sage [2010/02/27(土) 16:53:09 ID:ufygOO6X]
- フォントですか
- 452 名前:名前は開発中のものです。 mailto:sage [2010/02/27(土) 22:05:07 ID:mQhBDxzJ]
- フォントだよ
- 453 名前:名前は開発中のものです。 mailto:sage [2010/02/27(土) 22:07:42 ID:e0cJrNax]
- ウソです
- 454 名前:448 mailto:sage [2010/02/28(日) 00:14:16 ID:wSOf0xrI]
- >>449
MDXだけど、まるぺけの高速フォント参考にした。 ソースコード全部はそれなりに長いので要点だけ。 System.Drawing.Graphicsは、GDI+でのサーフェスみたいなもの。DirectXのサーフェスと違ってDraw○○といった直線や文字列、矩形を描画するメンバがある。 Graphicsに書かれた画像をbyte配列に変換すれば、Stream経由でTexture化できる。 つまりGraphicsのサーフェスを適切なサイズに設定して文字を書いた後、Textureにすればいい。 Bitmap img = new Bitmap(textureSize.Width, textureSize.Height); Graphics graphics = Graphics.FromImage(img); graphics.DrawString(text, font, Brushes.White, 0, 0); byte[] imgBytes = (byte[])(new ImageConverter().ConvertTo(img, typeof(byte[]))); MemoryStream ms = new MemoryStream(imgBytes); return TextureLoader.FromStream(device, ms); あとはTextureから実際に使う領域の保持や、Textureと文字の管理を上手く出来るような仕組みを作ればいい。
- 455 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 02:52:38 ID:IREy6+f9]
- XNAをさっとなぞってみたんだけれども、
やりたいことの方向性からして、今出てるフォントがらみの問題がきつすぎる。 悲しいけれども、ここの人みたいにスマートに処理できるだけの力量はない。 そんなわけでC#でDirectXがらみの書籍を探してみたんだけれども、 赤坂本で扱われている程度の内容しか正直見つからなかった。 DirectX未経験者としては、サンプルコードから理解しろというのも少し厳しいところなんだけれども、 今後資料が充実していくのを期待して、今は控えめなコードに専念するのが賢明かな? それとも頑張ってXNAでフォント処理してく方が将来性ある?
- 456 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 04:58:49 ID:FLZsiwsa]
- XNAも先はいまいちわからんからなぁ。
サンプルが欲しいならC#で作ってるゲームでソース公開してるやつを片っ端から あさってみれば? そういえばFreetrainもC#で確かDirectxだったと思うけど。
- 457 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 09:04:28 ID:IREy6+f9]
- >>456
良くも悪くも「C#でゲーム⇒XNA」てな感じの状況だから、 それに逆らうとなるといろいろ探しにく感じが強いね。地道に頑張るか。 正直、このフォントまわりさえなんとかなれば(個人的には)XNAでも何の問題もないんだけど。
- 458 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 10:19:21 ID:TP6H+ekZ]
- >>450
ありがとうございます。 ところでこれ使っていいんですか?(ライセンス的な意味で) >>455 MDXはその4年前に出版された赤坂本が最新書です。 今後、資料が増えていく見込みは無いと思う。 それか>>422から他の候補を探すか・・・ XNAを使うのが無難じゃないかな。
- 459 名前:450 mailto:sage [2010/02/28(日) 11:44:10 ID:4pJlo65w]
- 実はだいぶ前に作ったもので、レイアウトやキャッシュ管理についてはXNAの古いサンプル(XNAExtras)
を参考にしててもしかしたらライセンスは微妙かも(XNAExtrasのライセンスが不明なため) MSのサンプルだし基礎的な部分だし問題ないとは思うけど一応
- 460 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 12:03:38 ID:FLZsiwsa]
- >>458
俺はその中ではSlimDXが一番マシかなぁと思ってる 資料が少ないだけで、純粋なDirectXのラッパーなので変な癖がなくていいんじゃないかと。
- 461 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 13:28:12 ID:DtoSZeKr]
- XNAはXBOXとの連携考えないならそんなにうまみが無い気がするしね。
ただフレームワークの参考にしたりサンプルをパクったりする対象としては結構良いと思った。
- 462 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 13:31:21 ID:8tKID8o0]
- 2DならDxLibが一番簡単で完成度も高い
3DならSlimDxが簡単だがちと完成度に難あり 速度はどちらも問題なし
- 463 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 13:35:49 ID:4pJlo65w]
- SlimDXはほぼ完成してるでしょ
個人的には2DならSilverlightでいいんじゃないかと思ってるけど
- 464 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 14:19:41 ID:DtoSZeKr]
- Silverlight は良いとは思うけど Flash みたいなブラウザゲーになっちゃうから
この場合とりあえず WPF の方挙げたほうがよいような。
- 465 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 17:27:06 ID:TP6H+ekZ]
- >DirectX未経験者としては、サンプルコードから理解しろというのも少し厳しいところなんだけれども、
ということを考慮すると選択肢はMDX、XNA、DXライブラリに絞られると思う。 SilverlightやWPFは元々ゲーム開発向けではないので・・・
- 466 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 17:34:02 ID:IREy6+f9]
- >>460
SlimDXは使ってみたいけれども資料の心許なさは否めない…… WPFはゲーム向けじゃないから何処までいけるかも分かんないしね この手のが苦手な人間としては、 XNAはサンプルが豊富でいいけど、サンプル読むためだけに習得するのは地味にテンションあがらない
- 467 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 18:06:40 ID:TP6H+ekZ]
- >>466
>WPFはゲーム向けじゃないから何処までいけるかも分かんないしね 2Dに限定すれば性能は問題ないと思う。(内部的にはDirectXなので) だけどWPFに足りない機能を補うのに結局MDXを使うことになりそうなのでお奨めはできないね。 悩んでいてもしょうがないし、とりあえずどれかで作ってみたら?
- 468 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 19:14:34 ID:wSOf0xrI]
- なんかかんだでC#でゲーム作ろうとしてる潜在人口増えてる気がする。
Wiki作ったらちゃんと動くんじゃね?
- 469 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 19:29:54 ID:IREy6+f9]
- >>468
すごく期待してるよ。
- 470 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 19:37:34 ID:EqB81q2J]
- >>468
言いだしっぺの法則
- 471 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 20:23:00 ID:FLZsiwsa]
- >>468
無駄だよ。 今まで似たようなwikiはいくつも立っては更新されずであぼーんというのが多いから。 みんな面倒臭いから更新しないんだよね。 wikiよりこのスレでいいじゃんという人もいるし。 立てるなら、>>468が死ぬ気で保守するつもりじゃないと。
- 472 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 21:21:24 ID:5ju70AEw]
- wikiなんて何に使うんだ?
- 473 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 21:49:55 ID:DtoSZeKr]
- 情報源並べたりとか?
俺もこのスレでいいとは思うなぁ。 必要だと思った人が適当にここから拾ったりググったりしたのを並べて作りゃいいんだと思う。
- 474 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 22:16:44 ID:5ju70AEw]
- 講座とかやってなきゃある程度で更新が止まるのは当たり前じゃね?
- 475 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 23:36:56 ID:FLZsiwsa]
- だよねぇ。
誰かがC#ゲーム作りまくリング講座とか、SlimDX活用講座とかやらない限りは wikiでまとめるほど情報はなさそうだし。
- 476 名前:名前は開発中のものです。 [2010/03/01(月) 01:39:30 ID:IVHysUvX]
- >>468
VBとSlimDXで3Dやってるけどかなりいいとこまで使い込めてる SlimDXの本出すなり講座作るなりできたら面白いんだけどね
- 477 名前:名前は開発中のものです。 mailto:sage [2010/03/01(月) 01:43:55 ID:e/OrKGEO]
- wikiでリンク集があるだけでも違うと思う
スレの消費が遅いからテンプレも更新できないし
- 478 名前:名前は開発中のものです。 mailto:sage [2010/03/01(月) 01:51:30 ID:F++E42+D]
- そもそもここも賑わっていない、SlimDXのスレも賑わっていない、つまり
C#でゲーム開発というのは流行っていない、人気がないということ。 みんなHSP、C++、VB辺りでやってんだろうね。
- 479 名前:名前は開発中のものです。 mailto:sage [2010/03/01(月) 07:44:39 ID:9s8WXKsE]
- ギャグに笑った。
- 480 名前:名前は開発中のものです。 mailto:sage [2010/03/01(月) 09:47:28 ID:R/ddI/cc]
- C++>>>C>>>HSP>>>VB>=C#
ユーザー人口で考えるとこれくらいじゃないだろうか? この板HSPのスレ大杉w それに比べるとC#は・・・
- 481 名前:名前は開発中のものです。 mailto:sage [2010/03/01(月) 11:04:29 ID:F++E42+D]
- C#はまだ新しい言語だし、書籍も少ないし、DirectXとの連携弱すぎるし。
.Netはゲームに向かないという認識が多いような気もする。
- 482 名前:名前は開発中のものです。 mailto:sage [2010/03/01(月) 11:09:22 ID:PvsVfa3z]
- C#ももう少しいろんな情報が増えれば人口拡大しそうなんだけどなぁ
- 483 名前:名前は開発中のものです。 mailto:sage [2010/03/01(月) 11:19:10 ID:nHfukh+l]
- 既存の情報、ライブラリなりが生かしにくいから、
C++とかHSPに偏ってしまうのは仕方ないかと。 ただ、ABA Gamesの人とかは色々な言語でバリバリゲーム作ってるし、 要は開発言語よりやる気だと思うよ。
- 484 名前:名前は開発中のものです。 mailto:sage [2010/03/01(月) 11:28:13 ID:/y68wErN]
- 英語さえOKならC++に次ぐ情報量だと思うんだけどな
最近の言語で生に近いDirectXを触りたかったら良くも悪くも唯一の選択肢なのは事実
- 485 名前:名前は開発中のものです。 mailto:sage [2010/03/01(月) 11:42:24 ID:yxnn7vKi]
- Managed DirectXで昔ゲーム作ってたなあ
途中で一人じゃ無理だ!と思ってやめたんだけど、今はManaged DirectXなんて誰も見向きしてないのかな
- 486 名前:名前は開発中のものです。 mailto:sage [2010/03/01(月) 12:03:08 ID:/y68wErN]
- MDXにしろSlimDXにしろXNAにしろ「意外に難しい」というのがネックになってると思う
C#で作ると簡単っていうのはちゃんとオブジェクト指向とか理解してて DirectX使った経験もある人が同じものをより楽に作れるという意味なんだけど 勘違いして挫折する人が多そう
- 487 名前:名前は開発中のものです。 mailto:sage [2010/03/01(月) 12:06:58 ID:vg9zPgWn]
- 事実上まともに使えるようになった初めての言語がC#だから、どうしても趣味の開発はC#がメインに。
C#を0から始めて3年強だが、Managed DirectXでゲーム作ってるよ。
- 488 名前:名前は開発中のものです。 mailto:sage [2010/03/02(火) 21:29:50 ID:VZeQsxZ+]
- C#て構造体使えないの?
- 489 名前:名前は開発中のものです。 mailto:sage [2010/03/02(火) 21:42:00 ID:pA72ewEG]
- 他の言語の構造体に相当するものはC#には「構造体」と「クラス」の二種類がある
でもよくわからないうちは無条件にクラスだけ使ってればおk
- 490 名前:名前は開発中のものです。 mailto:sage [2010/03/02(火) 22:23:42 ID:AR61Egkn]
- ManagedDirectXからSlimDXの乗りかえやった時に気づいた点。
この差以外は、MDXのコードをほぼそのまま流用できた。 全体的に、SlimDXの方がC++のインターフェイスに近い印象。 ・クラス名がびみょーに違う箇所がある。大文字・小文字とか、微妙に省略されてたり。 ・MDXはRenderStateの設定・取得をプロパティでやっていたけど、SlimDXはメソッド。 ・SlimDXのDrawUserPrimitives系メソッドが軒並みジェネリクスメソッドになってる。 ・MDXには最初から使える頂点フォーマットがあったが、SlimDXにはない。自分で定義する必要がある。 ・SlimDXはプログラム終了時にDisposeされてないリソースがあるとデバッグ出力で教えてくれる。 ・ライト関係のデフォルト値が微妙に違う? ・Windowed = trueの時にターゲットウィンドウをリサイズすると、MDXではデバイスリセットが起こったがSlimDXでは起こらない?
|

|