C# C# C♯ でゲームを作ろう Part1at GAMEDEV
C# C# C♯ でゲームを作ろう Part1 - 暇つぶし2ch100:名前は開発中のものです。
08/07/23 18:53:18 iifEG8wA
米国時間22日、マイクロソフトは「Xbox LIVE Community Games」を北米で今年後半から
開始すると発表した。その他の地域については2009年から逐次開始する予定。

Xbox LIVE Community Gamesは、XNA Game Studioで開発されたXbox360用ソフトを
Xbox Liveを通じ一般利用者へ販売することを可能とするサービス。

Xbox LIVE Community Gamesでの販売は、XNA開発者コミュニティ「XNA Creators Club」の
有料会員(年額9,800円)であれば誰でも行うことが可能となる。

販売価格については200~800マイクロソフトポイントの間で自由に設定することができ、
手数料として売上の30%が引かれることとなる。

XNA Game Studioは、マイクロソフトが無償で公開しているVisual Studioをベースとした
ゲーム特化型の統合開発環境。.NET Framework及びDirectXをベースとしたライブラリ
「XNA Framework」を使用し、基本的には設定ひとつでXbox360及びWindowsへの両対応が
可能となる。

XNAについては、RPGツクールが次期バージョンでの対応を表明しており、日本での
普及にも期待がかかる。また、教育機関による学習教材としての採用も増加しており、
月刊ベーシックマガジンの休刊以降問題視されていた日本人ゲーム開発者の急激な
減少に歯止めをかける期待も持たれている。

URLリンク(news4xbox.blogspot.com)

101:名前は開発中のものです。
08/07/26 08:01:03 PPmEaFGQ
そろそろ今年も夏休みだー。ゲーム作ろうぜ

102:名前は開発中のものです。
08/07/26 09:03:26 C0wzPd+k
[MSDNフォーラム] Silverlight 2 Beta 2 日本語ドキュメントが公開
URLリンク(forums.microsoft.com)

Beta2の日本語ドキュメントktkr

103:名前は開発中のものです。
08/07/26 15:26:27 PPmEaFGQ
Silverlightってなんなん?
Flashみたいな技術かなんかなの?

104:名前は開発中のものです。
08/07/26 15:42:42 qghDkKjr
.NET版Javaアプレットみたいに作れて
Flashみたいに動くやつ

105:名前は開発中のものです。
08/07/26 16:02:53 C0wzPd+k
Microsoft SilverlightはAdobe AIRの対抗(RIAの分野)
・RIA (Rich Interactive Application)
・WPFのサブセット(WPF/E)
・Webブラウザのプラグイン
・クロスブラウザ・クロスデバイス・マルチプラットフォーム
・.NET Frameworkのサポート
・様々な言語での開発サポート
 CLR搭載(C#,VB.NET,JavaScript...)
 DLR搭載(IronPython,IronRuby...)

簡単に言うと>>104

106:名前は開発中のものです。
08/07/26 18:41:37 nbFOjXde
>>105
違う。AIRの対抗はWPF

107:名前は開発中のものです。
08/07/26 21:37:15 UO3zarQR
だな。
SilverlightはFlash対抗。

108:名前は開発中のものです。
08/07/26 21:52:58 1R7wifKH
C♯でインスタンスを管理する方法はどのようなものがありますか?
C++ではSTLのVECTORやLISTがありますが、C♯にもあるのでしょうか。

109:名前は開発中のものです。
08/07/26 21:54:20 XmNv95Rj
System.Collections.Generic

110:名前は開発中のものです。
08/07/26 21:55:21 qghDkKjr
SilverlightはVSExpressではまだ使えないからなあ
正式リリースではExpressでも使えるようになるんだろうから
手軽にブラウザ上で動くゲーム作るなら第一候補になるかも

>>108
List<T>か,神経質な人はCollection<T>あたり

111:名前は開発中のものです。
08/07/26 23:02:07 C0wzPd+k
>>106
あぁ、間違った事書いてすまぬ。
Flash対抗というか、Flex対抗と言うべき?

112:名前は開発中のものです。
08/07/27 08:30:51 6tHhtazc
>>108
ほかの人も言ってるように、System.Collections.Genericに収録されている各種ジェネリッククラス。
List<T>は配列とほぼ同一の動作が可能。要素の総数をAdd(T)で追加したり、RemoveAt(int)で削除したりできる。
Stack<T>、Queue<T>、Dictionary<TKey、TValue>なんてのもある。
それぞれスタック、キュー、キーと値のコレクション(ハッシュテーブルが近い。)

あと、Sortメソッドがちょっとわかりにくそうなので、使い方おば。

Listインスタンス.Sort((x, y) => x.Index - y.Index);
・・・ラムダ式使ってるけど、まぁ定型文として覚えるのが吉。
(Listの型パラメータには自作したクラスを指定した。Indexというintメンバがある。ようするにintならなんでもいい。)
このように記述すると、Listインスタンス内に順番に取り出し、Indexの値を比較して少ない順にソートできる。

113:名前は開発中のものです。
08/07/27 09:09:03 Q6287r6h
public List<Item> Items { get { ...
とかやるとMSのガイドラインに違反するよ
守ってない人多そうだけど
URLリンク(msdn.microsoft.com)

114:名前は開発中のものです。
08/07/27 11:59:37 6tHhtazc
初めて知ったー。
てか前に作ったとき、List<固有の型>を戻り値とするメソッド作ったけど特に警告でなかったような・・・
あと説明も俺の読解能力がないためか、何を言ってるのかいまいちわからん。


115:名前は開発中のものです。
08/07/27 17:10:25 Q6287r6h
FxCopっていうMSのコード分析ツールで違反になるはず

たとえばリストを返すプロパティがあって、後になって
コレクションに要素が追加されたときにその要素に対して何か処理を行いたくなったとき
List<T>使ってたらどうしようもない(そのクラスを使ってる側の修正が必要になる)けど
Collection<T>を使ってたらCollection<T>の派生クラスを作って
InsertItemをオーバーライドすればそのクラス内の修正だけで対応できる

116:名前は開発中のものです。
08/07/27 23:58:00 6A71A0KI
米国時間23日、マイクロソフトは統合3Dソフト「trueSpace 7.6」の無償提供を開始した。

最新バージョンの7.6では、マイクロソフトが提供する地図検索サービス「Virtual Earth」へ、
3Dモデルを直接書き出す機能が追加されている。Googleが「Google Earth」向けに3D CAD
ソフト会社である@Last Software社を買収し、3Dモデリングソフト「Google SketchUp」を無償
公開したことに対抗する目的と思われる。

trueSpaceは、モデリング、アニメーション、レンダリングと、放送およびポストプロダクション分野まで
カバーする統合3Dソフトウェア。trueSpaceは、モデリング特化型のSketchUpとは違い、3ds Maxや
LightWave 3Dなどと競合する製品を無償化したものであり、機能が豊富な分、操作性はやや難しい
ものとなっている。開発はマイクロソフトが2008年2月に買収した米Caligari社が行う。

この無償化は「Virtual Earth」の普及を主目的としているようだが、標準でDirectX9及びXNA
Frameworkにおける3Dデータの標準形式である「Xファイル」での出力に対応しており、trueSpaceで
作成したモデルデータ及びアニメーションデータはXNA Game Studioなどから直接利用することが
可能である。また、ポストプロダクション向けということもあり、非常に高品質なプリレンダリング動画の
出力なども可能である。

XNA Game Studioで作成されたXbox360用の同人ソフト販売サービスも発表されていたが、同人分野
では1本数十万円という価格帯が一般的な統合3Dソフトの導入が難点であった。このtrueSpaceの
無償提供で、XNA関連分野の一層の活性化が期待される。

URLリンク(news4xbox.blogspot.com)

117:名前は開発中のものです。
08/07/28 00:52:06 H3XajAOv
本気か!?
・・・といっても使ったことないから知らんのだが・・・。
現状だとメタセコLE+RokDeboneなんだよな。特に不満もないし。

118:名前は開発中のものです。
08/07/28 01:07:11 C1y0Fz6z
>>111
Flexは開発環境だし、また違う気が

119:名前は開発中のものです。
08/07/28 19:12:25 BYnezvVa
>>100
>>116
FFマルチといい今年度で一気に畳み掛けて
もうやめてーPS3のライフは0よ!って感じだな。流石MS

120:名前は開発中のものです。
08/07/28 20:47:06 sdKM3Wyp
そのうちXBoxすら無償で配布とかするんだろうな…。

121:名前は開発中のものです。
08/07/29 01:18:31 xFTEvnUV
まさかとか思うものの、MSだしな。なんかありそうだな
無意味に「eモバイルセットで9800円です! 次世代ハイデフが9800です! とか言わされてるんです!」とか

122:名前は開発中のものです。
08/07/29 06:14:30 8XQOSUG8
>>120
さすがにハードウェアの無償配布は無理だと思うが、
PC用の旧箱エミュくらいは配ってくれるかもね

123:名前は開発中のものです。
08/07/29 06:18:22 1/EJjz63
もう日本のフリーゲームは糞ダサいつまらん萌えゲと、見飽きたFFドラクエ的な
ワンパターンゲーでどうしようも無い。


なので↓堀まくれ。

URLリンク(www.gametunnel.com)  game tunnel
URLリンク(www.tigsource.com)   TIGSource
URLリンク(jayisgames.com) Jay is Games


124:名前は開発中のものです。
08/07/29 14:41:16 fxXbr1P1
VisualStudioと対応する.NET Frameworkのバージョン
VS2002(VS7)  - .NET Framework 1.0
VS2003(VS7.1) - .NET Framework 1.1
VS2005(VS8)  - .NET Framework 2.0 ※1
VS2008(VS9)  - .NET Framework 2.0/3.0/3.5
※1 アドイン追加で、.NET Framework 3.0 向けの開発も可能

対応OS
.NET Framework 1.0/1.1 - 98, 98SE, ME, NT4.0, 2000, 2003, XP,(2008, Vista ※1.1のみ)
.NET Framework 2.0    - 98, 98SE, ME,     .2000, 2003, XP, 2008, Vista
.NET Framework 3.0/3.5 -                  .2003, XP, 2008, Vista

CLRのバージョン
.NET Framework 1.0 - CLR1.0
.NET Framework 1.1 - CLR1.1
.NET Framework 2.0/3.0/3.5 - CLR2.0

C#のバージョン
VS2002(VS7)  - C#1.0
VS2003(VS7.1) - C#1.1
VS2005(VS8)  - C#2.0
VS2008(VS9)  - C#3.0

.NET2.0の範囲で使えるC#3.0
型推論、匿名型, 暗黙型付け配列
コレクションイニシャライザ、オブジェクトイニシャライザ
パーシャルメソッド、自動プロパティ、ラムダ式

.NET3.xが必要になる機能
ラムダ式でFunc<>やAction<>, Expression<>などの利用
LINQクエリ式他、拡張メソッド

125:名前は開発中のものです。
08/07/29 19:07:48 JlhAZyyY
>>125
次スレがあるとすればテンプレ化決定
ところでVS.NETは2002、2003どっち相当なん

126:名前は開発中のものです。
08/07/29 19:11:47 vaa7XCjm
>>125
意味がわからんけど、VisualStudio 無印は2002だよ。

127:名前は開発中のものです。
08/07/29 21:43:12 fxXbr1P1
VS.NETとだけ言う場合は、基本的に2002,2003両方もしくは2002を指すと考えていいと思う。

Visual Studio .NET (2002) - 最初のリリース
Visual Studio .NET 2003  - 2002のマイナーアップデート

※2003と区別するため、マイクロソフトは無印VS.NETを「Visual Studio .NET 2002」と呼称している。

128:名前は開発中のものです。
08/07/29 23:24:10 fxXbr1P1
先日開催された SDL Off 2008 Summer のプレゼンの様子がニコニコにあげられてるね。
C#とSDL.NETを使った簡単なパズルゲームの紹介とかもあって、使いたいと思ってる人には参考になるかも。

あと、上にSDL.NETのリンク貼ったけど
プロジェクトのウェブページの方にチュートリアルやサンプルが掲載されているので参考にどうぞ。
URLリンク(cs-sdl.sourceforge.net)

129:名前は開発中のものです。
08/08/05 23:14:48 V1/+0Eqt
スレがとまるのはよくない!
初歩的な話題でもいいから誰か話題振ろうぜ

130:名前は開発中のものです。
08/08/06 00:37:00 kpvS/LC5
>>129
C#でゲームを作りたいと思います
何をすればいいですか?

131:名前は開発中のものです。
08/08/06 07:00:47 ivZhxaIB
>>130
129じゃないけど、
とりあえず今ならDXライブラリ使うのおすすめするよ。
ほぼ2D限定だけど。

132:名前は開発中のものです。
08/08/06 10:22:02 MbeOF5md
DX使わずに、.NetFrameworkだけの機能で作るのはきついかな?
簡単に実現できるライブラリがないからこそ、DX使うんだと思うんだけど・・・。

ちなみに、DXってDirectXだよね?
個人的に、ユーザに.NetFramework以外を入れさせるのが嫌なんだよね。
まぁ、DXくらいなら入れてる人も多いと思うんだけど、
バージョンアップとか要求しなけりゃならないし・・・。

133:名前は開発中のものです。
08/08/06 11:33:26 +G5NtO4h
C#からDirectXを使う方法やライブラリはいくつかあるけど、
どれも結局インストールが必要になるから、そういうの気にするより
インストーラーで解決するのがいいと思うよ。

1から全部自力でDirectXの機能使う、、、って2D限定なのか。
別に自力で全部やれるならそれでいいと思うよ。
それをどうやるのか聞くくらいならライブラリ使ったほうがいいとは思うが。

134:名前は開発中のものです。
08/08/06 12:19:35 udnb/7Mj
>>132
2D程度なら、.NetFramework標準ライブラリでも普通にできる。
ただ遅い。WPFを使えば速度面ある程度解消されるが、DirectX系には及ばない。
DirectXはなんだかんだでPCで個人製作ゲームをするような人なら絶対入ってるので気にする必要もないかと。

…後一応不安だから確認しておくけど、『DXライブラリ』は『DirectX』のことではないぜ。
DXライブラリは、DirectXを使いやすくまとめなおしたもので、多分その手のライブラリで一番扱いやすいと思う。



135:名前は開発中のものです。
08/08/06 13:40:07 MbeOF5md
やっぱ遅いのか・・・orz
そもそも、DirectX嫌いの俺が異端なんだけどな。

一応、『DXライブラリ』は『DirectX』のことではってのは理解してるよ。
言葉足らずですまなかったorz
ありがとな。

136:名前は開発中のものです。
08/08/06 13:44:50 JyjCy++Z
SDLとか
全部同梱できるしわりとC#から扱いやすい

137:名前は開発中のものです。
08/08/06 14:54:10 dHfNPKVW
SlimDX とか
自分のアプリに dll を1つ添えて配布するだけ

138:名前は開発中のものです。
08/08/06 14:55:13 dHfNPKVW
ああ DirectX を使わないでってことか
誤解してた

139:名前は開発中のものです。
08/08/06 15:23:46 m1Pw0NHP
OpenGL使ったら?

The Open Toolkit
URLリンク(www.opentk.com)

Tao (Tao Framework)
URLリンク(www.mono-project.com)

NeHe
URLリンク(nehe.gamedev.net)

C# wrapper for OpenGL
URLリンク(www.colinfahey.com)

日本語がいいって人にはこんなのもある。
GLSharp - C# OpenGL wrapper and class library
URLリンク(sky.geocities.jp)

140:名前は開発中のものです。
08/08/10 18:59:57 gPe64x03
不定期age

141:名前は開発中のものです。
08/08/12 14:50:16 z/iydrhB
SP1きたね。

142:名前は開発中のものです。
08/08/12 19:43:23 2WhVgAYi
なんのSP1?

143:名前は開発中のものです。
08/08/12 21:08:01 UnxwfUEV
これ?

URLリンク(www.microsoft.com)
Visual Studio 2008 Service Pack 1 および .NET Framework 3.5 Service Pack 1

144:名前は開発中のものです。
08/08/13 02:55:47 Etz0dQyk
>>143
それそれ

Express使ってる人は、一度アンインストールしてからじゃないと入れれないので注意(共存不可)
WPFで作るよ!って人でなければ、恩恵は Client Profile ぐらいかな?

145:名前は開発中のものです。
08/08/14 07:20:04 1wRors+A
お、ついにEE版のSQL Serverも2008になったのか

146:名前は開発中のものです。
08/08/14 19:06:30 WXJ+xVdm
SQLserverって具体的になにやるソフトなんだろう?
と聞くと微妙だからスレに合う質問だと、ゲーム作成例えばどんなときに使える?
どうやらデータベースを作るらしくて、そう聞くとRPGとかの製作で使えるような響きはするのだけど。

そもそもデータベースってのがイメージでなんとなく程度しかわかってなくて、
それがプログラムでどう使われるのかわからない。(このような言い回しが正しいのかどうかもわからない)
SQLserver使ってみればわかるものなのかな・・・?

147:名前は開発中のものです。
08/08/14 19:18:58 WU9tZlPg
MMOのサーバプログラム
てか
ゲームでRDBなんか使わないだろ。
OSがDBMSを標準で実装してるならまだしも・・・


148:名前は開発中のものです。
08/08/14 20:06:36 GwmAWHMN
そうだねぇ
サーバ側でユーザーアカウントの管理やキャラクターの管理に使ってるだろうけど、
クライアント側で使うことはなさそう。

149:名前は開発中のものです。
08/08/14 20:07:27 1wRors+A
WEB系のゲーム
MMORPGのログイン部分

多人数から同時にアクセスを受け読み書きする部分を作るのに向いてる
(単純にロックするだけだと速度低下が著しい為、自前でこの部分つくるのはとても難しい。)

FF11製作時にゲーム中のデータもデータベースに収めようとしたが
速度的に無理なので断念したそうだ
だから、ログインとログアウト時はデータベースに読み書きしてるが
普段はオンメモリで自前処理
そりゃデータベースといえど毎回検索かけたら遅くなるに決まってるわな

個人で作るならFF11ほど速度にこだわらなくていいだろうから
別に使ってもいいと思うよ
ただ、ゲーム系プログラマのスキル的にデータベースがわかる人ってあまりいないだろうね
実際にゲームのデータベース部隊は業務系の人がほとんど
(WEB系PGに関してはデータベースが使えて当然なのでゲームか業務系かという
区分に意味はなさそうだけど)

データベースといえばデータベース製品をインストールしてチューニングして・・・・
というものが主流なんだけど、最近はアプリにDLLを添付するだけで使えるものが
かなり出てきている
2ch関連でいうと2ちゃんねるブラウザのJaneがSQLiteを使っている
組み込み用途向けの数十キロしかないデータベース製品もでてきているので
将来的にはゲーム機でも使われるかもしれないな

現状では業務系PGが趣味でゲームを作るときに生産性を上げる為に速度的にクリティカルでは
ない部分で使うというのが現実的な利用想定じゃないかな

エクセルでサクっと作ったデータをSQLで簡単に検索できる「楽さ」は使ってみないとわからないと思う
特にデータ変更への強さはゲーム製作との相性が抜群
就職にも役に立つし一石二鳥だと思うよ

150:名前は開発中のものです。
08/08/15 03:12:38 JW5xABBH
>>147,148,149
サンクス。大分間違って認識してた部分が修正できた。
一応知識として、@ITの記事でも見ながら地道に覚えるぜ

151:名前は開発中のものです。
08/08/15 09:12:31 5b6/og7C
LINQ使ってDBを手軽に扱えるのはいいよねー
.NET3.5の機能を使える体制が整ってきたし(Client Profile)、ゲームでも積極的に使って行こうと思ってる。

152:名前は開発中のものです。
08/08/15 10:16:02 fu+JQp+m
みんなどんなゲーム作ってるの?
仕事でC#でゲーム作ってる人っている?

153:名前は開発中のものです。
08/08/16 18:03:53 bDq2k79v
本当はこういうこと言うのは行ってない人もいるだろうからだめなんだろうが、あえて
製作テンション補充してきたぜ!といってみる。

さて、とりあえずいい加減シューティング完成させなきゃ。

154:名前は開発中のものです。
08/08/24 15:39:18 z+S7M9wR
最近htmlを吐けるツールを製作してるんだが、どの程度の機能があればゲームのヘルプ作成に耐えられるかな?


155:名前は開発中のものです。
08/08/25 16:40:30 uy7dioqk
君が手打ちで駄目だと感じた点を実装すればいいのでは。

俺はhtml手打ち+jqueryで見出しリンク自動生成で十分だは

156:名前は開発中のものです。
08/08/26 19:41:39 kpmXzawA
>>151
3.5だと対応OS少ないけど、そこらへんどう思う?

157:名前は開発中のものです。
08/08/26 22:09:46 +xgFqm98
もうXP未満は切り捨てていいんじゃね
それよりもインストールしてくれるかが問題


158:名前は開発中のものです。
08/08/26 22:55:00 2xiGBYMx
Vista対応を放棄してる同人が多いんだぜ。
2kまで切り捨てたら、同人全体から見るとXPのみになっちまう

159:名前は開発中のものです。
08/08/26 23:58:01 kpmXzawA
Vista人口から考えたら、事実上「XPのみ」みたいな状況にならね?

Frameworkの要インスコも、問題だよな。
自分は開発するからインスコしてるけど、使うだけの人には相当敷居高そう。
1発でも有名ゲーが出れば、恩恵にあずかれるんだが。

160:名前は開発中のものです。
08/08/27 00:00:42 U3zNl6l2
LINQ to Object使いたいだけならターゲットフレームワークは2.0のままで
Enumerable周りだけMONOからパクってくればいいよ

161:名前は開発中のものです。
08/08/27 02:18:52 RRoYKqkB
同人がどうなってるのかは分からんけど
.NETで作るのに、最初から3.0入ってるVista切り捨てるのは勿体無いと思う。

# 私の所では2.0ターゲットに作ってるけど、動作チェックができないのでXP以前のOSは対象外って事にしてる。

>System.Linq.Enumerableの再実装(LINQ to Object)
LINQBridgeオススメ

162:名前は開発中のものです。
08/08/27 03:13:16 9dSMEHBL
まーC#で作ることの利点の一つとして、自動でVistaは対応できてるってのがあるな。

C++など普及言語でゲーム製作>2k、XP
C#tなど.NET系の言語でゲーム製作>XP、Vista

って感じになるのかね?

163:名前は開発中のものです。
08/08/28 02:33:23 Y3Mv/OLQ
もしかして俺スレッドストッパーしちまったか?
ってか話題があれば誰かしらレスをするってことは、みんな見てはいるのね。

164:名前は開発中のものです。
08/08/28 07:24:33 lmB9C43z
話題消化して自然に止まっただけだよ。
見てる人はそこそこ居るようだし、面白いネタが出たら伸びるさ

165:名前は開発中のものです。
08/08/28 11:56:30 TltG6Uz7
他のスレといろいろかぶるから、どうしても話題は少なくなるな。

166:名前は開発中のものです。
08/09/02 12:22:53 ej8/EVsz
SlimDXのDirectInput使ってる人いる?
BaseballBattiingControlsとかSpaceCombatControlsとかゲームの種類ごとに
キーマップを定義するクラスが沢山あるけどいらないよこんなの
肝心のラッパーの実装もKeyboardStateとか例をあげるとキリがないけど変なところが多い
Direct3Dはいい感じなのになんでこんなことになるんだろう

167:名前は開発中のものです。
08/09/02 12:32:15 b2f1Qmol
そっちは全然見て無かったわ。
SoccerDefenseControlsとかTankDrivingControlsとかあるなw

168:名前は開発中のものです。
08/09/02 17:30:52 0GbN660D
ゲーム開発初めてで流儀やら分からんので、
何だか使い辛いなと感じつつ、そういう物だと思って使ってた。

169:名前は開発中のものです。
08/09/02 22:19:54 igj1KErw
文句あるなら直せよ
オープンソースだろが。

170:名前は開発中のものです。
08/09/04 19:07:32 mkD4gvDF
エンターブレイン、ツクール最新作「アクションゲームツクール」を発表、XBOX360/XNAにも対応
URLリンク(news4xbox.blogspot.com)

171:名前は開発中のものです。
08/09/04 20:01:53 eCaylSca
XNAスレに貼れば十分だろ・・・

172:名前は開発中のものです。
08/09/08 09:42:48 dLS/wPVc
つーかこれ、XNAへの出力を使わない場合でも.NET環境になるのか?

173:名前は開発中のものです。
08/09/08 11:57:13 zm+zWKQS
.NET必須だったらいいなー。
フリーゲームやってる層の.NET普及率が上がるのは良い事だ。

174:名前は開発中のものです。
08/09/08 21:25:29 O5d9qVK0
.NETだけじゃなくてXNAランタイムも必須にしちゃってくれていいよ

175:名前は開発中のものです。
08/09/10 08:19:18 cwbkpGYZ
C#でvertexBufferから情報を読み出すにはどうすればいいの?

176:名前は開発中のものです。
08/09/10 09:38:29 JwIEwIi/
何使ってるの?
MDXかSlimDXかXNAか
つーか、普通にやればいいと思うがどこで引っかかってるのか。

177:名前は開発中のものです。
08/09/10 15:50:33 cwbkpGYZ
>MDXかSlimDXかXNAか
?
よくわからない、XNAではないと思うけど
>普通にやればいいと思う
普通がわかりません


178:名前は開発中のものです。
08/09/10 16:00:26 JwIEwIi/
VertexBufferって事はDirect3D使ってるんでしょ?
それを使うのに、何か追加しなかった?
参照の追加とかしたろ?

179:名前は開発中のものです。
08/09/10 16:05:47 ay0tAsrB
自分で何やってるのかわからないんだったら、どこの情報を見て勉強したのか教えてくれ

180:名前は開発中のものです。
08/09/10 16:13:19 cwbkpGYZ
参照は.netのdirectx~です
URLリンク(msdn.microsoft.com)
URLリンク(www.microsoft.com)
を見て勉強しました

181:名前は開発中のものです。
08/09/10 16:27:36 cwbkpGYZ
VertexBuffer vertexBuffer = _mesh.VertexBuffer
GraphicsStream gStream = vertexBuffer.Lock ( 0, 0,LockFlags.None );
でgStreamに情報が入るのはわかるんですが、そこからどうやって
頂点情報(VECTOR3)を取り出すのかがわかりません。
他言語のポインター使ったサンプルは見かけますが
C#では見つかりません。

182:名前は開発中のものです。
08/09/10 16:36:57 ay0tAsrB
GraphicsStream.Read
InternalDataでポインタも取れる

183:名前は開発中のものです。
08/09/10 16:48:58 xKvGVbMy
そこで使ってるのは、Managed DirectX、つまりMDXな。
今後聞くときは、MDXということも明記したほうがいい。

184:名前は開発中のものです。
08/09/10 16:54:51 cwbkpGYZ
VertexBuffer vertexBuffer = _mesh.VertexBuffer
GraphicsStream gStream = vertexBuffer.Lock ( 0, 0,LockFlags.None );
byte[] byte_ire =new byte[(byte)gStream.Length];

このときbyte_ireから頂点情報(VECTOR3)をどのように
取り出すのかがわかりません。キャストの仕方?
vertexformatが関係してるのでしょうか?



185:名前は開発中のものです。
08/09/10 17:07:30 ay0tAsrB
MDXはやったことなくてMSDNだけ見てるので自信無いけど
gStream.Read(byte_ire, 0, byte_ire.Length)でいけるかな
別のオーバーロード使えば直接頂点型の配列として読み込めそう
var vertices = (頂点の型[])gStream.Read(typeof(頂点の型), new int[] { 頂点数 });

186:名前は開発中のものです。
08/09/10 18:07:29 cwbkpGYZ
>>183
ありがとう、MDXですね。
>>184
できました、ありがとうございます。

MSDNでの調べ方がよくわからないんですよね
いつも他の言語のが見つかるのにC#は見つからない。

187:名前は開発中のものです。
08/09/11 11:46:58 LzlaDmHO
まあこういうことだからね。

C#とManagedDirectXの現状
スレリンク(gamedev板:210番)

188:名前は開発中のものです。
08/09/18 03:12:32 WM6ksVHC
A列車のような都市育成シミュレーションを作ろうとしているんだけど
クリックした場所がどのひし形のマス目なのかを判断するには
どういうアルゴリズムが必要なんでしょうか?

189:名前は開発中のものです。
08/09/18 04:16:33 aaJaBEyF
直線なら1次関数で調べられるでしょ

190:名前は開発中のものです。
08/09/18 04:19:14 aaJaBEyF
具体的な状況がわからんけど、、
ヒットテストとか衝突判定で調べてみては

191:名前は開発中のものです。
08/09/18 04:28:40 WM6ksVHC
建物を建てるときに、建設場所のマス目をクリックするわけですが
四角形なら、マスのサイズでマウスポインタの座標を割った商で求められるけど
ひし形だとどうすればいいさっぱりわからなかったので

教えてもらったキーワードで調べてみます。

192:名前は開発中のものです。
08/09/18 12:00:21 yvRgBRfV
ベクトルをうまく使って方眼紙と同じやり方でできる状態に持っていくのが良いと思う
変換行列とか、軸ベクトルとの内積を取って投影とか、そういうの使えば多分どうにかなる

193:名前は開発中のものです。
08/09/18 13:06:34 k5Sel6xv
>>192
なるほど、斜めになっているのを垂直と水平に交わるように傾ければいいんですね
そしたらそのまま配列も割り当てられるしいいかも

でも、数学さっぱり忘れてしまったから、1から勉強しないと・・><
ともかく、それでやってみます。ありがとうございました

194:名前は開発中のものです。
08/09/18 18:41:54 zxwoy1hq
盛り上がって、標高が変わって(表示位置も変わって)いる地面をクリックして
選択したい、とかだともう少しややこしくなるけどな。まぁガソバレ

195:名前は開発中のものです。
08/09/23 18:27:01 oCHUeZgb
ほおしゅ

196:名前は開発中のものです。
08/09/25 01:35:30 GnxhEntn
川西さんとこで紹介されてたけど
「MVCモデルをベースとしたカジュアルゲームをSilverlight 2 で作る」って記事(英語)が公開されてる。
URLリンク(expression.microsoft.com)

SLでゲーム作りたいと思ってる人には参考になるんじゃないかな。

197:名前は開発中のものです。
08/09/27 19:13:06 4Dmgeez3
やっと規制解除 保守 age

198:名前は開発中のものです。
08/09/29 00:21:46 7s3XNU//
event使うと遅くなる?

199:名前は開発中のものです。
08/09/29 14:05:35 L8aMU6js
MDXでマルチテクスチャはできますか?
またはUVを1組ではなくて2組とか
持てるようにすることは出来るのでしょうか?


200:名前は開発中のものです。
08/09/29 22:43:23 CM3d5BG4
>>198
ゲーム全体の処理に比べればおおよそ微々たる差だと思う。
デリゲートは、当然だけどちゃんと関連付けをはずさないとガベコレされないので注意。

>>199
テクスチャステージ(複数のテクスチャを混ぜるための)機能はある。混ぜられる最大枚数(ステージ数)はハード依存。
MDXのドキュメントの『チュートリアル 5 : テクスチャ マップの使い方』にも軽く説明がある。
やったことはないので詳しくは自分で調べてー

201:名前は開発中のものです。
08/10/05 09:52:44 N6uteXgL
C#て C++ の + を二つ重ねたものだと思い込んで
VC#ダウンロードしちまったよ・・

202:名前は開発中のものです。
08/10/05 09:56:37 sfeb+0FL
実際そういう意味らしいよ

203:名前は開発中のものです。
08/10/05 10:53:17 5ZcdBZVw
え?半音上げるのかとオモタ

204:名前は開発中のものです。
08/10/05 11:18:55 /IB5WzsI
おつ。この際MDXでもやるか?w

205:名前は開発中のものです。
08/10/05 16:15:40 fLJ9z/bM
SlimDXだろ

206:名前は開発中のものです。
08/10/06 03:21:06 nwx4daly
もともと360で動かしたいからXNA使ってるんだけど
360関係ないとこ用にSlimDXさわってみるか

207:名前は開発中のものです。
08/10/06 11:04:44 gE4lnVnu
しかしSlimDXは、DirectXのSDKのバージョンと直結してるのが面倒だな、
片方インストールしたら対応するものを入れなくちゃならん。

208:名前は開発中のものです。
08/10/07 16:27:05 8NURcQIi
SlimDXの9月版触ってみたけど、SampleFramework(ずっとこの名前で行くのかねw)の
GameクラスがちょっとXNAっぽくなってるな。
C++のDirectXとMDXとXNAからかき集めたような感じだな。

209:名前は開発中のものです。
08/10/07 22:25:29 pBXNcqo7
GameがXNAっぽくってどこが?

210:名前は開発中のものです。
08/10/07 22:36:05 Ascqucx6
XNAのMicrosoft.Xna.Framework.Gameクラスそっくりだろうが

211:名前は開発中のものです。
08/10/11 14:17:56 +dRjBYHJ
不定期あげ

212:名前は開発中のものです。
08/10/31 23:15:11 LJmyJi3B
PDC終わったけど、Direct3D10のManaged APIどうなるのかなぁ
Task Parallel Library (TPL) , Parallel LINQ (PLINQ) での並列化も面白そう。

213:名前は開発中のものです。
08/11/03 14:25:40 RWPNgtk7
最新版のDirectXが入ってないPCでSlimDXのアプリ動かしそうとしてももちろん動かないけど
最新版のDLLだけ(d3dx9_39.dllだったかな?)流用したら動くみたいだった

DirectXの部分DLLって配布物に混ぜたらダメだよなあ
いれれたら楽なんだけれども、利用許諾に違反してるよね・・・
SlimDXが常に最新版と対応してる形になってるけどユーザーがそうとは限らないからなぁ

214:名前は開発中のものです。
08/11/03 20:26:22 oFThlWAf
今こそクリックワンスの出番らしい

215:名前は開発中のものです。
08/11/04 06:30:20 tsPC8S/z
Readmeの必要システムにDirectX最新版が必要ですって書けばいいじゃん

216:名前は開発中のものです。
08/11/04 10:47:19 sjveEHh9
DirectXの最新がSlimDXを追い越し、追いつくまでの期間がちょっと面倒

217:名前は開発中のものです。
08/11/07 23:23:55 RubAqusn
CodePlexに行ったら GateShift C# MMORPG Engine とかいうのがあったw
まぁ、登録されたばっかりで中身はまだ何もないけどね。

218:名前は開発中のものです。
08/11/26 23:00:04 PaqIZDKA
VS2008SP1のIntellisense日本語化ktkr

219:名前は開発中のものです。
08/11/26 23:51:04 tRXviIV1
最新のSlimDXは最新のDirectXも同時にインストールされるので問題ない。


220:名前は開発中のものです。
08/12/03 05:39:31 V5uqUVsl
SimcityDXと聞いて

221:名前は開発中のものです。
08/12/03 22:09:40 gFrQ+tWl
いやいや誰も言ってないってww

222:名前は開発中のものです。
08/12/17 21:18:16 yK1MXLhq
不定期あげ

223:名前は開発中のものです。
08/12/18 13:30:43 iEg8pKUf
ダメなやつは何をやってもダメ
な?友人

224:名前は開発中のものです。
09/01/08 15:24:56 oHiHmSck
MDX、XNA、SlimDXの比較
URLリンク(mainori-se.sakura.ne.jp)

>>341>>345-348のような頭の悪い人間が使うのがXNA
SlimDXは数MBのファイルひとつだけで必要なSDKランタイム/エンドユーザーランタイムすべてをインストールしてくれる
ClickOnceのように知らずに個人情報(ユーザー名やコンピュータ名など)を流出したりもしない

225:名前は開発中のものです。
09/01/08 21:26:59 vKoapKWl
>>341>>345-348がどれだけ頭悪いのか期待

226:名前は開発中のものです。
09/01/08 23:39:35 ChVyAcTu
いつになるやら

227:名前は開発中のものです。
09/01/09 17:40:01 ViAy03qw
2年後と予想

228:名前は開発中のものです。
09/01/10 02:30:15 fjNT8yXO
ふと話題が出たので。
MDXはWin32APIも使ってるから、多分次期OSなったときに色々不具合でたままメンテナンスされずに終了と予想。
ネイティブなDirectx9のほうは何らかの対策はしそうだけど。MDXは何もしないことがわかりきってるからな。

229:名前は開発中のものです。
09/01/10 03:20:57 27n6ndXo
俺たちでC#から使えるDirectXラッパー作ろうぜ

230:名前は開発中のものです。
09/01/10 03:35:41 mQJ59Fn9
win7で切り捨てられそうな気配皆無な件

231:名前は開発中のものです。
09/01/10 05:19:58 CuApdTwv
SlimDXの他に、Managed Layer for Direct3D 10 というのもあるね
自分でやろうとすると自分で使うとこしかやらんだろうけど、ちょっとやってみたい気もする

232:sage
09/01/12 14:17:44 XEg86q8V
C#でゲーム作りたいのだが、よさそうなフレームワークを知りたい。
条件としては
・3Dが扱える(3Dモデルのほか、Quakeマップなどが読める)
・UIフレームワークを持っている(ゲーム画面内にウィンドウなど作れること)
・日本語が表示できる

こちらで見てみたのは
Irrlicht CPとAxiom
[Irrlicht.NET CP]
メリット:C#使える。3Dいける。UIフレームワーク持ってる。
デメリット:開発が2007年11月で止まっている。日本語使えない。
[Axiom]
メリット:C#使える。3Dいける(Ogreとかいう有名なC++用エンジンがベースとか)。
デメリット:デモの実行でこけるし、不安定。この時点でサポートが不安。

日本語使えないことに目をつむれば、Irrlichtがいいのだが、
やはり日本語のメッセージなど表示させたいので、
いいフレームワークあれば、教えていただきたい。

233:名前は開発中のものです。
09/01/12 15:23:38 lDKkEuwn
Irrlicht っていうのを見てみたけど、Freetype入れて日本語フォント指定したらできないかな?
まあちょっとやってみようか。

234:名前は開発中のものです。
09/01/12 17:38:42 LmEzNJFZ
Irrlict、C#版のがC++版より使いにくかった記憶があるな
先にC++版に慣れていたせいもあるだろうけど…


所で、Taoベースの3Dゲームエンジンって無いんだろうか

235:名前は開発中のものです。
09/01/12 21:45:20 7p3Ih3Zn
CodePlexで探してみれば?

236:名前は開発中のものです。
09/01/12 22:43:06 Fb2tDeyN
CodePlexはXNAベースが多いよ
SlimDXなんかでXNAのサンプルとかいろいろパクリまくって自分で作れば?

237:名前は開発中のものです。
09/01/13 23:41:11 L/R3vkUL
>>236
「今日OpenGLでHLSLを使ってみたんだ」とか言っちゃう人?

238:名前は開発中のものです。
09/01/14 00:32:48 MBzTiGFM
好きなのをC++/CLIでラップして使うんだ
もちろん完成したラッパーは公開してくれ

239:名前は開発中のものです。
09/01/14 10:20:43 Fkyltahh
完成する前に公開しないと飽きちゃうけどなw

240:名前は開発中のものです。
09/01/14 10:38:01 0DnXfUAy
MDXをラッピングしたやつならあるよ。ただ3D周りはまだテストしてないな。
多分動くと思うけど、もしかしたら凡ミスがあるかも。

241:名前は開発中のものです。
09/01/18 01:21:20 j2iau2Hk
今気付いたんだけど、SlimDXのRelease Notesに有るSkinnedMeshサンプル
現行のNov 2008でも動くんだな。

なんかもっと古い版でも出来ていたんだろうな。
無駄に待ってしまったよ。

242:名前は開発中のものです。
09/01/20 00:28:13 6qHyOt0W
結局 Axiom を使うことにした。
AxiomはMultiverseというMMOのフレームワークのベースフレームワークとして
採用された実績あり。

※Multiverse NetworkはNetscapeの初期の社員が集まって作った会社とのこと。
cf)URLリンク(www.chikawatanabe.com)

また、最初に私自身がAxiomを動かそうとしたとき、Multiverse版のAxiomの
デモを動かそうとしたのだが、それがまずかった。
安定版の0.7.3でデモを動かしたらちゃんと動作した。
デモの内容も、結構充実。
BSPによる空間表示
セルシェーディング
バンプマップ、
オフセットマップ(バンプマップよりさらに凸凹して見えるやつ),
水の屈折表現、他、
いろいろある。

実装はフルC#。
ネイティブへのバインドはTaoやSdlが使われていて、
DirectX9、OpenGLをドライバとして使える。

とりあえず、趣味で使うには十分。

243:名前は開発中のものです。
09/01/20 00:36:55 0w8FXTmG
AxiomってたしかOGREのポートだよね
OGREなら普通の.NET向けインターフェイスもあったと思うけどそれじゃダメなの?

244:名前は開発中のものです。
09/01/21 18:08:08 pXd8Beqs
技術向上のために、そこそこの規模でC#で書かれたゲームのソース見たいんだけど。
そういうの公開してくれる人はおらんのかね。
巷にあるのは初心者向けかXNAばかりで参考にならんし。
エロイ人おながいします。

245:名前は開発中のものです。
09/01/21 18:23:38 Dk9wv1pd
XNAでいいだろ
CodePlexに沢山ある
まともな書き方してあればXNAだろうとなんだろうとそんなに変わらん
どこ見てもXNAにべったり依存してるようなコードは糞だから参考にしなくていい

246:名前は開発中のものです。
09/01/21 21:24:28 h+ydZ4HP
俺のゲームをオープンソースにするときがやってきたか……。

247:名前は開発中のものです。
09/01/21 21:45:56 a9mq8q52
シーンの遷移とか管理を重点的に解説してるサイトって何処かありませんか?

248:名前は開発中のものです。
09/01/21 22:35:49 HlfSCNWP
>>246
頼む

249:名前は開発中のものです。
09/01/21 22:57:54 CnAOqOx/
>>247
C#に限定されるとXNAのGame State Managementサンプルとか…
念のため言っておくけど、僕はMDXユーザー

要は、ストラテジーパターン。
 オーバーライド可能なDraw()とUpdate()を持ったクラスかインターフェースを継承した
クラスのインスタンスを遷移時に切り替える。
フラグでの推移管理はしたくないんですよね?

250:名前は開発中のものです。
09/01/21 23:00:33 HlfSCNWP
XNAのシーンの構造はいいよね(てか常識なの?)
おれもMDXwだけどあれパクってる

251:名前は開発中のものです。
09/01/21 23:17:26 CnAOqOx/
常識というか、デザインパターン(w)
XNAもデザインパターンも恐ろしく厨が沸くから、ここで書くのは怖いんだ。

いつまで経っても厨房でスイマセン。 生まれてきてゴメンなさい。

252:名前は開発中のものです。
09/01/21 23:45:37 a9mq8q52
XNAやMDX(やそれ以外)の選択については、どなたもやはり自分の使っているものを勧める傾向があるので
解説サイトが多く目に付くMDXで行こうと思っています。↑まぁ当たり前ですよね。
紹介いただいたサンプルの確認と、ストラテジーパターンについて勉強をしてみます。ありがとうございました。

253:名前は開発中のものです。
09/01/22 00:46:42 7pC44zR+
つか目的がはっきりしてないんじゃない?
3D関連の技術向上が目的ならゲームである必要はない
ゲーム特有の技術向上が目的ならXNAでも最低限の機能はあるし問題ないはず
このまま取り組んで大丈夫?

254:名前は開発中のものです。
09/01/22 02:58:34 P249I5A7
>>244
C#はexeがILだから、リフレクターで実行ファイルからソースコード読めるぜ。

255:名前は開発中のものです。
09/01/22 11:25:49 5r2KT3kf
ちょっとXNAについて言ってる事がおかしいので、老婆心から真面目に忠告します。

XNA Creators Clubのeducationサンプルは、本当に無駄な処理や
動作的にわざわざ重たくするコーディングばかりで真似るべきでは
無いです。
C#習いたてなら見ない方が良い。

あの会社の社員は本当にキチガイなので気を付けてください。

256:名前は開発中のものです。
09/01/22 12:09:33 5nd7GgKw
>>254
リフレクター初めて知った、トンクスw
自分の作ったやつ試しに逆汗したら恥ずかしい変数名までバッチリ見えますたw
ソース見られたくないときはngenかけてからじゃないとヤバイのねぇ

257:名前は開発中のものです。
09/01/22 12:26:43 XAaINowR
>>255が素晴らしく簡潔なサンプルを書いてくれるそうです。

258:名前は開発中のものです。
09/01/22 12:33:34 kNweUoRo
>>256
ngenはjitコードのキャッシュを作るだけなんで
どのみち動作にはもとのアセンブリが必要だぜ

259:名前は開発中のものです。
09/01/22 13:31:34 5nd7GgKw
>>258
そうだったのね、アリガ㌧・・・( 'A')

260:名前は開発中のものです。
09/01/22 20:05:25 aHNG+R8r
XNAのサンプルはクラス単位でそのまま流用できるように作ってあるから大味な感じだよな
良質だと思うけどC#自体に慣れてない人にはわかりづらいかもしれない

261:名前は開発中のものです。
09/01/22 21:32:11 5r2KT3kf
ヒステリックな書き方になっちゃったけど、良心から書いてるよ。

>>257>>260は educationサンプルしかゲームのコードを読んだことが
無いんじゃないの? 属性とか使える?

俺は忠告しただけ。
 あのeducationサンプルをそのまま流用して、C#って労多くてショボイ挙動しか
しないと思って、ジョボイゲーム造って満足するのも人生なんじゃね。

262:名前は開発中のものです。
09/01/22 21:46:52 aHNG+R8r
具体的にどういうところがダメなのか説明してみてよ
属性ってC#の属性のこと?
あれって単なるリフレクションの目印だよね
それがどうしたの?

263:名前は開発中のものです。
09/01/22 22:53:04 C+3eMEkP
お前らXNAスレに帰れ

264:名前は開発中のものです。
09/01/23 19:52:31 3xCddh4f
age

265:名前は開発中のものです。
09/01/24 04:29:07 hMxzOeGQ
>>261は自分がろくなコードも書いたことないからけなすことしかできないんだな。

266:名前は開発中のものです。
09/01/24 15:21:43 n8Xq5Wpj
人が増えてきたし、関連スレでも張っとくか。

【C#】 Managed DirectX 【.NET】
スレリンク(gamedev板)l50

【Xbox360】 XNA Game Studio その8 【C#】
スレリンク(gamedev板)l50

あと、>>224のURLでも書いてあったところから要点をピックアップ
・MDXは開発が停止している。最終版はApril 2006。LoaderLock 例外を例外チェックから外すとか、すぐ終わるけどめんどい。
・XNAはネイティブとの連携させるのが無理っぽい。
・SlimDXはDirectXが普通に使える玄人むけ。
・MDXやSlimDXの場合、時刻を返すメソッドは.NETではなく、Win32APIに依存している。DirectInputのbufferedDataなど。
以下はネイティブコードの呼び出し方。
[DllImport("winmm.dll")]
extern static uint timeGetTime();
とたった2行クラスのメンバとして宣言しておけば、このメンバを使って対応するWin32APIのメソッドにアクセス可能。


267:名前は開発中のものです。
09/01/24 15:28:40 n8Xq5Wpj
C♯で3Dゲーム
スレリンク(gamedev板)l50

そういやこんなのもあったの忘れてた。

268:名前は開発中のものです。
09/01/24 15:31:22 /EHI0a+O
>XNAはネイティブとの連携させるのが無理っぽい。
"Xbox向けの場合は"だよ。Windows限定ならごく普通の.NETアプリなのでなんでもあり。

ちなみに時間の計測はStopwatchがQueryPerformanceCounterを使ってて非常に正確だから
プラットフォーム呼び出しは不要

269:名前は開発中のものです。
09/01/24 15:49:32 n8Xq5Wpj
それっぽいレスをピックアップ。
>>62-64
>>124-126


WPFについて。
.NET3.0の機能だから、win2kは対象外。
MDXやSlimDXよりは遅いけど、.NET標準ライブラリのDrawing(GDI+ベース描画)よりは早い模様。
windows7が普及して、win2kのシェアが相対的に無視できるようになったら、2Dおよび単純な3Dに対して、十分選択肢としてはありかも。現在は解説サイト皆無。
なお、スキンメッシュは直接サポートしないとのこと。詳しくは以下のurlに書いてある。
URLリンク(itpro.nikkeibp.co.jp)

MDXとかSlimDXとか無理!とか言う人へ。
一応DXライブラリのC#版がひっそりあるのでそれでもいいかも。
ただ、結局C++のヘルプ見ないといかんから、そういう人は素直にC++でDXライブラリ使ってたほうがいいかも。

270:名前は開発中のものです。
09/01/24 16:14:33 n8Xq5Wpj
>>268
訂正サンクス。

時刻取得について。
こんな風に実装したことがある。てか今そうだね。
例えば固定フレーム方式で、描画の間引き、つまり1/60で実装されたゲームを1/30や1/20で動かせるように、ってオプションって良く作るじゃない。
この時Move処理は依然として1/60で動作させたいとなると、突き詰めると入力情報だけ1/60になるようにしておけば良い。

1/60で作って、1/20描画の場合。
move,move,move,Draw→→→→→→同期画面更新,polling,move,move,move,Draw→→→→・・・

MDXの場合はBufferedDataCollectionを取得して、時間で等分する。で、そいつをMove処理に渡してやる、と。
bufferdDataの保持してる時刻は49日サイクルの timeGetTime()に依存してるので、そっちで合わせたほうが楽そうなのでこれを使った。
ちなみに実際に動作を見てみるとbufferedDataの時刻、かなりいい加減なのはわかる。3倍、つまり1/180秒程度しか分解出来ないっぽい。


もちろんプログラム起動時にStopwatchとbufferedDataのずれを取得しておく、って方法もあると思うけどめんどそうだから上記ので実装した。

271:名前は開発中のものです。
09/01/24 16:20:20 n8Xq5Wpj
ってあげちゃったよorz

272:名前は開発中のものです。
09/01/24 16:23:51 n8Xq5Wpj
あ、あと爆風作成ソフトとかもあるね。自分が使ってるのはabom。愛用中。

273:名前は開発中のものです。
09/01/24 16:35:04 /EHI0a+O
>>270
ああなるほど
マネージドに限った話じゃないよな

ついでにSilverlightについて
Windows, MacOS Xのブラウザ上で動作するプラグイン。Flashのような感じ。
C#やVBなどの.NET言語に対応しており,.NET Frameworkの機能の一部(WPFなど)が使える。
動作には.NET Frameworkは不要。非常に小さなプラグインをインストールするだけで動く。
VSExpressで開発するにはVC#ではなくVWDを使わないといけないので注意。

274:名前は開発中のものです。
09/01/25 20:27:37 L+MfRmk2
おかしい、自分が巡回してるスレが軒並み止まっておられる…
誰か難しくない話でもいいからレスしてくれないと息抜きが出来ないー

275:名前は開発中のものです。
09/01/29 01:29:34 dlqPv5yT
赤坂玲音著『C#ゲームプログラミング』を購入予定なのですが、C#を全く知らない初心者でも基本から理解できるでしょうか(Perlの経験はわずかにあります)?どなたかこの本をご存じの方、よろしくお願いします。

276:名前は開発中のものです。
09/01/29 02:30:00 e5MgZbFT
赤坂本全般は微妙よ。いっぱい持ってて多分今後も買う自分が言うのもなんだけど。

277:名前は開発中のものです。
09/01/29 07:49:31 kYq6qRSB
>>275
というか実際に作者のサイト見て判断しなよ。
買わなくても言語の仕組みをある程度わかっている人なら
これだけでも十分だったりするんだけど。
URLリンク(www.wisdomsoft.jp) (現在サーバー障害だそうで)
URLリンク(wisdom.sakura.ne.jp) (ミラー)


278:名前は開発中のものです。
09/01/29 09:14:05 2xcTnOOY
ゲーム作りながら言語の勉強するのは案外むずかしいよ
純粋に言語としてのC#専門の本買ってゲームとは分けて勉強した方が速いと思う

279:名前は開発中のものです。
09/01/29 10:05:49 mLPjw+cp
元がPerlだけだと微妙だが、自分で作ったプログラムを移植すると
覚えるのが早い。

280:名前は開発中のものです。
09/01/29 10:43:31 2xcTnOOY
Perlでちゃんとオブジェクト指向してたらC#は仕様読むだけで使えるだろうけど
たぶん「何それ?」だろうな

281:名前は開発中のものです。
09/01/29 12:38:42 dlqPv5yT
そうですか……ありがとうございます。もともとゲームを作るのが目的なのでBitmapの処理などが書かれているゲームプログラミングの本のほうがいいかなと思ったのですが、
基本の文法なんかがわからないと意味ないですよね。Perlもテキスト処理ばかりだったのでオブジェクト指向はさっぱりです……。

282:名前は開発中のものです。
09/01/29 18:51:34 e5MgZbFT
>>281
C#とかのオブジェクト指向は端的にいうと、クラス、構造体、列挙型、Delegateっていう『型を定義するための文法』があって、
型をいっぱい定義してそれを組み合わせよう、って方針。

型を作るときに一番重要なのは、クラス同士が相互に参照しあう事がないように内容を組むこと。

283:名前は開発中のものです。
09/01/29 21:19:23 oKeGzVqK
まぁ百聞は一見にしかず。
本屋で立ち読みしてみたら?

284:275
09/01/29 22:05:52 dlqPv5yT
そうですね。なんだか難しそうな印象を受けますが、良さげだったら買ってみます。というか、プログラムのサポをやる予定の仲間に、VB習うからVBじゃだめかと言われました。VBAの間違いじゃないのか…

285:名前は開発中のものです。
09/01/29 22:08:07 2xcTnOOY
C#ができればVBもできるようになる
VBやると(というか,VB使いに教わると)変な癖がつくから逆は難しい

286:名前は開発中のものです。
09/01/30 01:53:17 MbzSKvjQ
C#でiPhone向けゲームを作る・・ハァ?と思ったが、なるほどMonoか・・

iPhoneでC#アプリが審査に通るワケ - @IT
URLリンク(www.atmarkit.co.jp)
Unity公式
URLリンク(unity3d.com)

287:名前は開発中のものです。
09/01/30 02:16:25 fKo01vUj
>>286
見たよ
問題はどこまでできるかということと、ゲーム用で言えばDirectXに替わるものがあるのか
ということかな。

288:名前は開発中のものです。
09/01/30 02:28:44 7NvCylwn
VBでゲーム作ろうと考えるのが、まず間違いかと

289:名前は開発中のものです。
09/01/30 03:46:19 hw4zFmO8
確かにこの時期にC#捨ててVBとかだったらわけわからんね。
でも言語仕様に不足がなければ別にVBでも関係ない。ゲームはアィディア勝負だよ。
VB製でそんなすごいのにお目にかかったこともないがw


290:名前は開発中のものです。
09/01/30 09:05:20 LVag64+k
まともに作れる人は両方とも使えて当たり前だからな
両方使えてどちらをつかってもいいならVBを選ぶ理由がない

291:275
09/01/30 18:27:14 G4rUn5yb
そうですか、わかりました。いろいろとありがとうございます。今から本買ってきます。

292:名前は開発中のものです。
09/01/31 00:14:10 7LHDk0dN
クラスとかの概念がやはり全くなのでもうひとつ完全に基本のものを買うことにします。

293:名前は開発中のものです。
09/01/31 01:20:39 3hp4+Np4
>>292
・構造体という考え方。
・値型と参照型の違い。≒構造体とクラスの最も基本的な違い。
・interfaceの使い道と多態性
で段階的に理解度がわかるかな。
クラスはあるとき突然わかる(気がつく)もんだから、慣れっぽい。

294:名前は開発中のものです。
09/01/31 01:42:13 cuhcLq/r
オライリーのC# 3.0対応版でねーな...

295:名前は開発中のものです。
09/01/31 11:54:23 UU551kx0
3.0の追加分なんかwebとMSDNで十分

296:名前は開発中のものです。
09/02/01 09:14:04 LU8pvQQ8
本が2冊以上必要って所が地味に痛いよね。

>>293に書いてる事はC#の方言みたいなもので、C#本が必須。
だが俺は未だに.NET Framework 第2版以降のC#本を買っていない。

オブジェクト指向とか継承と多態性の本はJavaで書いてあるのを読んでる。

297:名前は開発中のものです。
09/02/01 10:33:57 lmI58fq8
>>295
その理屈で行けば、C#そのものがwebとMSDNで十分ってことだろ。
本いらねぇじゃん

298:名前は開発中のものです。
09/02/01 11:03:44 bR4yGKTH
C#3.0の文法は2.0が完璧になるまで知る必要はないと思うし、知らなくてもいいと思う。
あれはSQLをサポートするための文法な気がするし、.NET3.0が必要なの機能はwin 2kがサポート外だしね。
ラムダ式や自動プロパティは記述の簡潔化に割りと役立つけど。。

それはそうとMDXを使ってる人へ。
MDXでフルスクリーンまたはIntervalをImmediateにしたウィンドウ/フルスクリーンどちらでも、の場合、
環境下によってはSystem.Threading.Thread.Sleep()がなぜか垂直同期まがいな動作する不思議。
(ループ内に1個sleepがあると60強のフレームに、3個あると20強のフレームに、といった具合。しかもInterval.Defaultみたいに不安定。)
昨日それでずっとはまってた。
これってネイティブでもおなじこと起きるん?

299:名前は開発中のものです。
09/02/01 11:06:42 LU8pvQQ8
>>297
いやだから、そのMSDNフォーラムで、
>~『プログラミングMicrosoft .NET Framework 第2版』の Generics の章できちんと言及されているので~
と返答されるんだw

300:名前は開発中のものです。
09/02/01 11:18:05 A5vBmcQs
>>298
>これってネイティブでもおなじこと起きるん?

起こる。
「timeBeginPeriod D3DPRESENT_INTERVAL_ONE Sleep 精度」を適当に組み合わせてぐぐる。

301:名前は開発中のものです。
09/02/01 14:23:48 FuZZWWoz
>300
さんきゅ、同じ問題で頭ひねってた

302:名前は開発中のものです。
09/02/01 15:37:40 K2V8Uvfm
なんかちょっと勉強できないかなーとVS2008ExpressEdition入れてみて。

ちょうど興味持ってたフリーのゲームがメインC#で書かれてたんでコンパイルとか改造とか
してみよーかなと思ったんだけども。

DirectXで絵を描くところだけがdx7vb.dllをC++から呼び出すように書かれてて、んー、
これってStandardEdition以上からならC++とC#とまとめてソリューションでビルドできる
としたもんだけど、C#とC++が分かれてるExpressEditionだと無理……かな?

303:名前は開発中のものです。
09/02/01 15:41:41 sAiq82uA
アセンブリは必ず別だから,VC++でコンパイルしたdllをC#で参照すれば大丈夫

304:名前は開発中のものです。
09/02/01 15:47:05 LU8pvQQ8
現物見ないとどうとも言えないけど。

1) ~.csprojを直接開く。
※エラーメッセージは極力メモって置く。
2)ソリューションエクスプローラの「参照設定」で!マークの物を消す。
3) 2)で消したヤツと同名のDLLを「参照の追加」「参照」で加える。

4) 2)3)を繰り返す。
とかカナ?

将来的には、C++を覚えるか、MSXやSlimDXに乗り換えざる得ないと思う。

305:名前は開発中のものです。
09/02/01 15:48:27 LU8pvQQ8
>>MSX
すげーwww。 ありえねwww
今日はもう寝る。

306:名前は開発中のものです。
09/02/01 16:23:20 ZmlwAsMg
dx7vb.dllを使うのはやめておいたほうが・・・
Vista以降で苦労する。

307:名前は開発中のものです。
09/02/01 16:30:47 lmI58fq8
>>302
まさかFTじゃないよな...

>>305
寝るの早すぎ。

308:名前は開発中のものです。
09/02/01 16:43:11 K2V8Uvfm
>>307
そのまさかですよw
URLリンク(sourceforge.jp)

>>306既にあるものなので……
今本スレのほうで有志が脱dx7vbに取り組み始めてくれました。

dx7vbのせいで、まさにここにある状況にも陥ってVC++での単独DLLこんぱいるも
失敗している。
URLリンク(social.msdn.microsoft.com)


>>304ふむふむ。C++(dx7vb利用)部分はコンパイル済のバイナリひっぱってきて
そこに参照でごまかしてみるかなぁ??

さんくすです。

309:名前は開発中のものです。
09/02/01 17:50:48 lmI58fq8
>>308
本スレに書けばいいのにwww
dx7vbのせいでC++2008でビルドできなかったのか。
まあ、有志がやってくれるそうなので気長に待った方がいいんじゃないかな。
そのうち、自分もやりますけど。

310:名前は開発中のものです。
09/02/01 19:19:23 bR4yGKTH
>>300
サンクス。
検索→Nyaruruさんとこの解説見て把握。そのサイトの一番下のピンクの所にこの問題そのものの原因が書いてありました。
ということは、適当にdllImportしてtimeBeginPeriodで精度を自前で設定すればいいのか

311:名前は開発中のものです。
09/02/04 12:46:35 XK0ynI/A
SlimDXのサンプルのSlimDX\Direct3D9\WaterをCLRProfilerにかけると
EffectHandleが延々増え続けるのだけど、これで正常だと思っていいの?
URLリンク(www.uploda.org)

判断に困ってる。
実は再利用してくれるフラグとか、書き方を少し変えるだけで増えなくなったりしない?

312:名前は開発中のものです。
09/02/04 13:32:55 XK0ynI/A
ごめん。
自己解決っていうか、凡ミスでした。

EffectHandle water = new EffectHandle("water");
EffectHandle ModelViewProj = new EffectHandle("ModelViewProj");
EffectHandle ModelWorld = new EffectHandle("ModelWorld");

---
Effect.Technique = water;
Effect.SetValue(ModelViewProj, modelViewProjection);
Effect.SetValue(ModelWorld, WorldMatrix);

これだけの事ですね。 自前でPoolします。

313:名前は開発中のものです。
09/04/30 18:59:29 AjJCYiaN
VisualStudio2008 C# builder ExpressEditionで勉強してたんだけど。
PC本体内蔵HDDがキツキツだったので、USB HDDにインスコしてて。

いろいろあってUSB HDDのドライブレターを変更してしまったら、当然
といえば当然なんだがExpressEditionが起動できなくなって。
もっかいインストールすればいいやと思ったら、前回のインストール情報が
残ってるみたいで修復しますかになって新規インストールができなくて。
じゃあアンインストールすればと思ってもアンインストールするにもドライブ
レターが違ってるとダメで。
他のアプリのからみがあってドライブレターも戻せないし、ファイル実体は
消しちゃったしで、手詰まり。

たぶんどっかのレジストリに情報があって、レジストリ消したらいけるんじゃ
ないかと思うんだが。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio以下を全
消ししてみたりしたけどダメだった。
どこ消したらいいかわかるひといませんか。

314:名前は開発中のものです。
09/05/01 00:37:23 mcBvEX4l
ここよりム板で聞いたほうがいい
ここはほとんど誰も見てないと思われる

315:名前は開発中のものです。
09/05/01 17:29:57 MNue81+E
>>314
さんくす
VS2008のスレに質問しなおしました

「OS入れなおせ」って切り捨てられそうな気もしますが。

316:名前は開発中のものです。
09/05/01 20:48:55 CUrUIROD
>>313
一旦ドライブレターを戻してアンインスコしてドライブレターを元に戻すという
発想はないの?
アンインスコしている間だけ他のアプリ使わなきゃいいんじゃないの?

317:名前は開発中のものです。
09/05/01 22:28:56 yQqOkAkY
>>316
それを思いついたときには既にファイル実体をフォルダごと全消しした後だったのですT_T

318:名前は開発中のものです。
09/05/04 18:01:16 6zD/+jeY
スレリンク(tech板:297番)でできました。

こちらですね。
URLリンク(support.microsoft.com)

319:名前は開発中のものです。
09/06/20 18:37:41 hx1c78N0
SlimDX+SampleFrameworkでシェーダーをいじってるところだけど、
このままだとCPUの使い方がまずくていかんなー。
描画タイミング待ちは無駄ループするんじゃなくてSleepしておかないと。

とりあえず速度面の問題はなさそう。

320:名前は開発中のものです。
09/07/05 01:01:26 SsqHRU0/
チップを動かす部分までは何とかできた。
実際のRPGのように背景画像を表示させて、そのうえでチップを動かしたいんだが、妥当な設計というのが思い浮かばねえ。
妥当な設計というのがあったら教えてほしい。

今のクラス構造
Form1---Chip---CLKsDG


321:名前は開発中のものです。
09/07/05 01:02:12 SsqHRU0/
URLリンク(www.dotup.org)

おっと、ファイルをあげるの忘れてた。

322:名前は開発中のものです。
09/07/05 01:06:30 x6A5o5tf
SDL.NETでゲームパッドを使うようにしたいのですがどうすれば良いんでしょうか?
JoystickAxisMotionで十字キーを使おうと思ったら左右と上下が同じ結果になるし・・・
使う関数間違えてます?


323:名前は開発中のものです。
09/07/05 02:27:35 EiQZBaKQ
どうやって使ってるのさ?

324:名前は開発中のものです。
09/07/05 02:59:41 x6A5o5tf
>>322
こんな感じです。

・イベント登録
 Events.JoystickAxisMotion += new EventHandler<JoystickAxisEventArgs>(this.joyMotion); // ゲームパッド(十字キー)
 
・処理
private void joyMotion(object sender, JoystickAxisEventArgs e)
{
// 左へ移動する。
//playerVelX -= MoveSpeed;
switch (e.AxisIndex)
{
case 0: // 十字キー(左+右)
playerVelX -= MoveSpeed;
break;

case 1:// 十字キー(上+下)
playerVelY -= MoveSpeed;
break;

default:
break;
}
}



325:名前は開発中のものです。
09/07/06 00:47:35 uSdw1g8a
joystick.GetAxisPosition(JoystickAxis.Horizontal)
joystick.GetAxisPosition(JoystickAxis.Vertical)
はどう?

326:名前は開発中のものです。
09/08/21 23:30:19 6Al0ryRU
『C#ゲームプログラミング』片手に、
「アルゴリズムがわかんねー!」とか叫びながら必死にエラーと戦ってきたけど、やっぱ無理だな。
DirectXの種類も分からないというか、なんかC#自体の理解が怪しいかもしれん……。
Ruby最高とか叫んでGUIにうつりたがらなかったツケか……。

327:名前は開発中のものです。
09/08/24 10:49:06 A5Zmg2PC
>>326
赤坂さんのそれなら、あまりいい本ではないぞ。親切なようで親切でない。

素直に標準C#入門(たしか今は改訂版が出てたはず)を買って言語をしっかり覚えるのが吉。
てかここにくるとは茨の道だぜ。
資料少ない、増える可能性が薄い、にぎわう気配のない技術だ。それでもいいなら応援しよう。


328:名前は開発中のものです。
09/08/24 21:50:22 Ps9dwmqO
VB.netよりはマシだろうw

329:名前は開発中のものです。
09/08/27 03:03:51 FKQamZWA
>>327
丁度それ買ってきたとこ。やっぱり少し理解が浅かったかもしれないと思ってる。
茨の道だとはなんとなく想像ついてたけど、Javaはなんとも微妙だし、
HSPなんかもあんま応用きかなさそうだから、とりあえずこの道を突き進むよ。
困ったときはひっそり支えてくれると嬉しいんだ。

しかし、いろんな本立ち読みしてきたけど、
ゲームプログラム=Draw系関数の説明ばっかだなあと……。
地道にゆっくり戦うか。

330:名前は開発中のものです。
09/08/28 11:20:39 3vZSEn4N
DirectXならC++がわかってないと厳しい
そっちが一通りできる人がC#使えばそりゃ遥かに楽だろうけど、
C#なら初心者でもすぐにゲームが作れるようになると思ってるなら大間違い

331:名前は開発中のものです。
09/08/28 15:35:41 +pO0LRKW
>>330
C++そのものは問題なく扱えるが(むしろC#より慣れている)、
C++/MFCの組み合わせに関しては本当にかじった程度―という状態は
言及なさってるそれに含まれますか?
簡単そうだからC#を選んだというわけではないです。むしろ趣味・好みに近い。

332:名前は開発中のものです。
09/08/28 19:22:25 N4RFrIZI
じゃあ問題ない
C++のサンプルが読めるならいきなりSlimDXいけるでしょ

333:名無しさん@そうだ選挙に行こう
09/08/30 08:20:49 knK1ld4M
>>332
返答さんくすです。
でもそもそも、どのような場合にDirectXを使うべき、使わずに処理するべきかがいまいち分かってない。
それ以前にDirectXにいろんな種類(?)があることをこのスレ見て初めて知ったからね……。
情報が少ないのか、自分が無知すぎたのかは知らないけれども、ゆっくり一通り眺めてみるよ。

334:名前は開発中のものです。
09/08/30 22:04:32 tg4h2uJw
ところでSlimDXでバックバッファの画像をキャプチャして
System.Drawing.Bitmapや
System.Drawing.Graphicsに入れたり
ファイルに保存したりするにはどうすればいいのでしょう。
以前ManagedDirectXで開発してたときにはSurfaceクラスのGetGraphics()
で取得できたんですが、SlimDXのSurfaceクラスにはこのメソッドがない
ようです。

335:334
09/08/30 22:31:46 tg4h2uJw
すみません。
よく見たらSurfaceクラスのToFile()やToStream()でファイルやメモリに保存できる
ようなので多分解決です。

336:名前は開発中のものです。
09/09/01 08:43:42 ZYeOf9cd
ピクセルデータをロックしてビットマップにコピー
みたいな操作には慣れとくと便利だよ

337:名前は開発中のものです。
09/10/01 12:20:06 E7Vfv/Pu
「もしくは」で使う「ll」のような縦二本線は、キーボードのどこを
押せばいいのでしょうか?

shiftおしながら右上の¥マーク二回を押してみましたが
「||は無効です」といわれてしまいます。

338:名前は開発中のものです。
09/10/01 12:26:22 E7Vfv/Pu
337ですが自己解決しました。
()が一つかけていて、||を使えるカタチになっていなかったのが原因でした。

339:名前は開発中のものです。
09/10/01 21:38:22 YZ3xmGuQ
ゲームに直接関係ないことはム板のC#初心者スレで聞けよ
さすがに>>337は顰蹙を買うだろうけども

340:名前は開発中のものです。
09/10/08 13:06:44 UZZxYKwq
SlimDXはMDXと共通する名前のメソッドとか多いからMDXヘルプが代わりになっていいね
テキスト表示とかXNAでもヒイヒイ言いながらやってた程度なのにMDXヘルプみながら適当にやってたら一発でできてしまった

でも描画デバイスにDirect3D10のほうを使ってると
描画部がDirectX9までと違うからMDXヘルプがあまり役に立たない…
一応英語フォーラムのサンプルとか見ながら何とかやってきたけど
誰か「SlimDX と C# で学ぶ~」の他にもSlimDXの日本語サイト作る人出てこないかな

341:名前は開発中のものです。
09/10/08 22:00:35 mKT2B2T4
テキスト表示はGetGlyphOutlineとか使って自作しないときついでしょ
XNAのSpriteFontとは違って遅い

342:名前は開発中のものです。
09/10/09 09:29:06 LRwEKuSN
文字表示(やGUI)はWPFでいいんじゃないかな?
俺はSlimDX+WPFだけどそんなに重く感じないな

343:名前は開発中のものです。
09/10/09 21:12:39 3WDc7SgV
WPF?
WPF上でD3DImage使ってSlimDXで描画するの?
GUI主体のアプリならいいけど普通のゲームであれやるのはカッコ悪いなあ

344:名前は開発中のものです。
09/10/10 18:49:08 DnoS8s7s
そそ、D3DImage使ってる
売る気の物やスピード重視のもの作ってんなら
1から作ったほうが良いかもしれないけど
俺みたいな土日にしかPGで遊べないオッサンはWPFで十分だよ
初めてWPF使った時は、
あまりにも簡単に日本語入力が実装できて感動したなぁ
あとWPFは見た目を自由にカスタマイズできるから、
それなりには出来ると思うよ

345:名前は開発中のものです。
09/10/11 23:22:40 XjJ0o55w
C#でゲーム作ると必然的に.NETのバージョンが関係してくるわけだが、
お前らどのバージョンでリリースする予定なんだ?
2.0/3.5

346:名前は開発中のものです。
09/10/11 23:28:11 V4/tQ/B3
今Silverlight3で作ってる

347:名前は開発中のものです。
09/10/12 11:03:21 50CnI+o3
>>341
おお、そうなのか…
1000ヶ位ある頂点の上に各頂点の(頂点リスト内での)要素番号をテキストで重ねるということをやってたら
ありえないカクカクさになったけど量が多いからこんなものかと思ってた
自作したこと無かったけどやってみる

>>342
WPFってそんなことできるのか…
WPFってインタラクティブなGUIとかそういうのを作るのに向いてるやつだったよね
GUI作るのには使ってみたいと思ってる。

>>345
新しい物好きなので3.5です

348:名前は開発中のものです。
09/10/12 12:16:01 q+dgZ/Xk
WPFにMDX相当の低レベルな描画レイヤがあれば最高だったんだけどな
GUIもバリバリの3Dも自由自在な環境になってたのに

349:名前は開発中のものです。
09/10/12 23:27:54 IDnv5HRG
>>345
WPFやLINQに興味が沸かないんで、2.0ターゲットです。
ただ、varとラムダはおいしくいただいております。

350:名前は開発中のものです。
09/10/19 16:29:21 r5MhAvYI



351:名前は開発中のものです。
09/10/19 18:30:31 Zw+50yRp
>>345
3.5

352:名前は開発中のものです。
09/10/19 19:50:30 GHp6BRbW
>>345
わけあって、2000を捨てれないのであえて2.0

353:名前は開発中のものです。
09/10/20 09:01:11 BASATnZn
>>352
まだ使ってるところあるよな・・・・

354:名前は開発中のものです。
09/10/20 10:05:33 vzz5fxew
URLリンク(punk-peace.sakura.ne.jp)

RPG制作補助ツール「cheese」
Cheeseは、RPG制作の補助をする事を目的として作りました。
RPGを作る上で面倒臭いマップ、イベント、データ作成等のお手伝いをするツールです。
RPGツクール等の様にゲームエンジンは付いておらず、エンジンはあくまで
自分で作らなければいけません。
基本的は自分用に作ったので使いにくい点が多々あると思いますが、少しでもお役に
立てればと思い公開する事にしました。
なお、イベント等を全く利用せずマップのみを作成し、マップエディタとして
利用する事も可能です。
また、HSP2.61用ですが、ゲームエンジンのサンプルスクリプトも
ありますのでご活用ください。


355:名前は開発中のものです。
09/10/20 11:24:42 H7dnZb4Q
こんなところにもHSP厨を装ったHSPアンチが・・・

356:名前は開発中のものです。
09/10/20 12:36:20 f7zKSXOv
荒れるだけなので、アンチだと言うならスルーしようね

357:名前は開発中のものです。
09/10/20 14:32:17 K18Q7LH0
スレ違いはスルーせずに指摘すべき
書いた本人が気がつかないといつまでもなおらない

358:名前は開発中のものです。
09/10/20 21:44:23 DOik+lgl
プログラム初心者だがA列車で行こうのようなものを作りたいんだけど
文法やオブジェクト指向なんかはその都度覚えていくとして
何から覚えればいいかな?

3Dは無理なので、A3みたいなもができればいいんだけど



359:名前は開発中のものです。
09/10/20 22:05:40 Pon5/vFu
まずはVC#の本買ってきてWinFormsで遊びましょう
いきなりゲーム作ろうとするのは非常に効率が悪いし面白くないです

360:名前は開発中のものです。
09/10/20 23:05:56 Yxoxm5Tw
@ITのC#入門あたり読んだらいいんじゃね?

361:名前は開発中のものです。
09/10/21 10:57:13 mGtIdiOw
>>358
作る前にどこまでコードをかけるのか?
仕様をきっちり作っとかないと行き当たりばったりのコードは後々面倒になる

362:名前は開発中のものです。
09/10/21 13:37:50 sVcl+p+6
A列車みたいなものを作ろうと思います

363:358
09/10/21 13:40:33 sVcl+p+6
>>361
2chブラウザやWEBブラウザは作りました

XNAとかはよくわからなかったので
MDXで作ろうと思ってます

364:名前は開発中のものです。
09/10/21 13:53:51 OeLkN42r
MDXでやっても結局構造はXNAみたいになるよ
まあ簡単なものから(2次元シミュレーションで)やってみては

365:名前は開発中のものです。
09/10/21 13:56:36 62YMMhzI
2chブラウザとかWEBブラウザ作ったことあるのに
文法は都度覚えるってどういうこっちゃ

366:358
09/10/21 14:04:23 sVcl+p+6
ゲーム開発関連のサイト探してみたけど
どれもC++のライブラリばかり
C++わからないと、開発難しそうですね・・

367:358
09/10/21 14:13:09 sVcl+p+6
やっぱりXNAにしよっと

368:358
09/10/21 14:56:04 sVcl+p+6
あー2008に対応してないのか
2005を入れないとだめなのか

369:名前は開発中のものです。
09/10/21 15:32:56 OeLkN42r
何の話よ
最新のXNA3.1なら2008オンリー

370:358
09/10/21 15:38:44 sVcl+p+6
おお、2.0が最新と思ってた
やっと2005を見つけたとこだけどw

とりあえず、マインドスイーパー作ってみるかな

371:名前は開発中のものです。
09/10/21 18:24:58 mGtIdiOw
>>358
・・・が・・・がんばれよ・・・・

372:358
09/10/22 11:56:25 lVO0XQ/x
URLリンク(creators.xna.com)
XNAのサンプルやってみたけど、C#でかかれてるのに物凄く軽いね
この画質で120FPSも出てびびった

373:名前は開発中のものです。
09/10/22 13:10:22 +e/YlYKK
言語云々よりグラボの性能に依存する部分が大きいんじゃないかと。

374:名前は開発中のものです。
09/10/22 14:25:23 BImXfq7/
まあそのかわりXNA使うと最低PS1.1だな。
マインスイーパーやるのでも昔のビデオカードだと動かない

375:名前は開発中のものです。
09/10/22 15:58:52 BImXfq7/
ってカードと言うよりオンボードか。ノートだと特に

376:名前は開発中のものです。
09/10/22 16:22:35 W9tWtd8y
マイン"ド"スイーパー作るらしい

377:名前は開発中のものです。
09/10/22 16:31:13 j1ecrnAz
>>376
まじっすか?
精神世界に入り込む日がとうとう・・・・

378:名前は開発中のものです。
09/10/22 18:06:59 +e/YlYKK
マインドシーカーなつかしい

379:358
09/10/22 19:20:37 lVO0XQ/x
小物ゲーム作るにはユーザーに対してハードルが高いってことかな

それにしてもXNAはすごいですね
3Dのオブジェクトが簡単に表示できて操作もできるなんて・・・

今スプライト使って2DのA列車を作るか
3Dで作るか迷ってます

2Dで作る場合スプライトを画面に大量に並べることになるから
どうも無駄な気がする。ビルをグリグリ動かすわけでもないし・・・

380:名前は開発中のものです。
09/10/22 20:43:44 6/DQb1q2
2Dのマップは頂点バッファ使えば爆速

381:名前は開発中のものです。
09/10/23 00:14:57 a9C8fLRs
>>358

↓こっちのスレは覗いてみた?
鉄道経営系ゲーム製作スレッド Ver.6
スレリンク(gamedev板)

382:名前は開発中のものです。
09/10/23 00:16:40 a9C8fLRs
すまんsage忘れた

383:358
09/10/23 00:35:04 Au08mI8z
>>381
ありがとう。そこ知らなかったです。
すごいですね。A列車4って感じで
参考にさせてもらいます

A列車作るよー
スレリンク(gamedev板)

ここは知ってたけど、終了っぽいでうsね

384:名前は開発中のものです。
09/10/25 18:57:57 ytNSBqto
XNAでメニュー画面とか設定画面を実装しようとしたときに
文字やボタンの配置にフォームエディタ見たいなのが欲しくなるんだけど
皆様方そこらへんはどうやってます?

385:名前は開発中のものです。
09/10/25 20:07:37 a8MG/SGz
WPFのXAMLデザイナで作って変換するとかどう

386:名前は開発中のものです。
09/10/25 20:10:13 pa9uJ8HL
ストラテジーゲーム作ろうと思ってヘクスマップ作ったけどどうやって認識させようか・・・

387:名前は開発中のものです。
09/10/25 22:21:26 n0Jx00AK
>>386
URLリンク(tanu.info)

388:名前は開発中のものです。
09/10/26 19:56:57 vRB/QGjA
>>384
個人制作の人はほとんどハードコーティングだと思うよ。
メニュー画面なんか重要じゃないからな。
XNA向けのGUIライブラリもオープンソースでいっぱい公開されてるからそういうの使ってもいいし。
例えば↓みたいなの。
URLリンク(cpxms.codeplex.com)
まあ、こだわりたいなら自分でエディター作った方がいいと思うけど。

389:名前は開発中のものです。
09/10/26 20:50:48 ZIkQkzZ4
Windows フォーム上に XNA の描画を重ねて貼りつけるやり方もあるみたいだけど
どうしても XNA 上のオブジェクトとの連携が弱くなるよね。

シミュレーションみたいな画面上の項目がやたら多いのとかは
エディタが欲しくなるね。

390:名前は開発中のものです。
09/11/30 18:39:04 xbKzBVcH
サンプルのHeightmapCollisionて地面のテクスチャ1種類しか使えないのか…

391:名前は開発中のものです。
09/12/30 00:49:00 lgs1Sc5s
XNAのOS対応状況についての質問です。

現在XP上でVS2008C#とXNA3.0を使用して開発しております。
サンプルを知人渡したところ動作しないとの事でした。

あいての環境はwindows7らしいのですが、
XNA3.0は7にて動作は確認されているのでしょうか?


392:名前は開発中のものです。
09/12/30 01:04:27 1FBrcKVL
>>391
URLリンク(creators.xna.com)
OSが原因じゃないような気がするんですけどね・・・

393:名前は開発中のものです。
09/12/30 09:23:02 lgs1Sc5s
>>392
お返事ありがとうございます。

よくよくきいてみたところ、XNAのラインタイムが、そもそもちゃんと
インストール出来ていないような事をいっていました。

ってことは、.Ver3系統のnet Framework のランタイムが、
インストールできていないのかも・・・とか思っています。

XNAランタイムのインストール必須条件が、どちらに書いてあるのか
今のところ探せてないのでどうしたものやら・・・。

394:名前は開発中のものです。
09/12/30 10:00:26 1FBrcKVL
>>393
>XNAランタイムのインストール必須条件が、どちらに書いてあるのか
URLリンク(msdn.microsoft.com)

まずXNAは最新バージョンの3.1を使いましょう。
配布はランタイム不足を解消するためにClickOnceを使うのがお勧めです。
それでも解決できないならハードウェアかプログラムのどちらかの問題だと思います。
めんどくさいですけどログを出力するなどして原因を特定するしかないですね。

395:名前は開発中のものです。
09/12/30 10:05:54 lgs1Sc5s
>>394
いろいろとご丁寧にありがとうございます。
URLを参考に解決してみたいと思います。

ClickOnceにつきましては前から興味がありましたので、
この機会に学んで見たいと思います。

396:名前は開発中のものです。
10/02/09 06:13:39 aS6DEZHg
C#でゲームを作ろうとしてるんだけれども、よければアドバイスもらえないだろうか?
我流でいろいろと試行錯誤してはいるんだけれども前に進めなくて困ってる。

『ゲームプログラマになる前に~』『C#ゲームプログラミング』あたりは既読なんだが、どうも完成図がイメージできない。
ゲームループだのシーケンス遷移だのと概念的なことはなんとなく分かってきたつもりだけれども、
それを具体的にどう実装すればいいのか、実装したものをどう連結させてひとつのゲームにするのかが分からない。

作りたいものの方向性はどちらかというと古典的で、RPGでいえばWizやDQのようなもので構わない。あるいは大戦略とか。
アクション性などは複雑ならば切り捨てることに未練はないし、3Dは興味ないしXNAは動くかどうかも分からない。

自分の技術としては、C#3.0までをさわり程度は理解しているつもり。少なくともラムダ式やLINQなどと言われても動じることはない。
ゲームプログラムというかGUIプログラムの経験が浅いので、正直フォームアプリケーションも基本的なことしかできない。
DirectXはまだ理解度が全然足りないと思う。WPFは入門書を読んだ程度なので多分物の役にも立たない。

フォームデザイナを利用しろとかするなとか、WPFがいいだの向いてないだの、人によって意見が違うからかなり混乱している。
とりあえずいろんな技術をつまみぐいしてる最中だけれども、やっぱり少なからず形にしてみたいという欲はあるので、
参考になる資料やらソースやらを知ってたら教えてもらえればありがたい。深い内容でなくてもいいからとっかかりが欲しい。
わがままで申し訳ないが、勉強も兼ねているので過度にライブラリ依存はしたくないというのも本音。

397:名前は開発中のものです。
10/02/09 07:15:37 gxmzJN9a
>>396
ゲームの内容は「じゃんけんゲーム」くらいシンプルなもので良いので、とにかく一つのゲームを完成させることをお勧めしたい。
「ゲームプログラマになる前に~」を読んでいるなら「倉庫番」は作れるようになっているハズ。
ManagedDirectXでも良いと思うけどXNAの方がゲーム向きなのでこっちも検討してみて。
というかManagedDirectXはすでに開発が中止されてXNAに移行してしまっているので・・・

>フォームデザイナを利用しろとかするなとか、WPFがいいだの向いてないだの、人によって意見が違うからかなり混乱している。
市販のゲームを見れば分かると思うけどほとんど使われてないよ。
ゲーム中のメッセージを表示するのにウィンドウズのダイアログが出てきたらダサいでしょ?

>参考になる資料やらソースやらを知ってたら教えてもらえればありがたい。
「ゲームプログラマになる前に~」が一番分かり易いと思うんだけどなあ。

398:名前は開発中のものです。
10/02/09 08:40:56 mPUMM0XY
WPFならダサくないダイアログも出せると思うんだが。
XNAはWPFのサブセットぐらい使えるようにしといて欲しいと思ったことは多々ある・・・

399:名前は開発中のものです。
10/02/09 10:02:04 0heFhkEx
>>396
構造的なことを知りたいなら
xnaのサンプルがわかりやすい
(xnaを使わなくても)
シーン
タスクシステム(最近は必要かどうか微妙だが)
等ゲーム固有の構造を知るのがスタートライン
あとは適当にググればなんとかなる

400:名前は開発中のものです。
10/02/09 10:17:44 00QyPKRr
XNA動かない環境ならSlimDXとかどうか

401:名前は開発中のものです。
10/02/09 13:21:54 XGTRyn01
そういう時はとにかく強引に何か作る
調べてても先に進まないから

402:名前は開発中のものです。
10/02/09 13:55:03 mPUMM0XY
それはあるある
適当に動くの出来ると愛着沸いて勉強も進んだりするよね。

403:名前は開発中のものです。
10/02/09 14:47:49 gxmzJN9a
勉強ばっかりしてると途中で他のことが気になってすぐ脱線しちゃうんだけど・・・自分だけ?
やっぱりスピード感は大事だよ。
>>396は最低限の知識はあるようなので1週間くらいで一つゲームを作ってみて、分からなかったところを質問するようにした方が良いと思う。

404:名前は開発中のものです。
10/02/09 14:49:25 6WfgJ8q7
簡単なものでも実際作ってみたほうがいいってのは同意。
調査だけしてると、調査終わった時点で満足してしまってやる気が無くなるw

405:名前は開発中のものです。
10/02/09 17:26:03 aS6DEZHg
レスありがとうございます。
こんなに素早く大量にレスもらえるとは思わなかった……。
スルーされても文句は言えないような類の質問だと思っていたので、本当感謝です。

>>397
言葉足らずで申し訳ない。リバーシや将棋程度なら朝飯前とはいかないけど作れます。
ただ画面や状態が激しく遷移するようになるのが少し分からないというか、幾つか試作品を作ってみたけど微妙。
少し理論というか理屈に走りすぎてドツボにはまってる気がすごく。そういう性格なんで。

先述の通り派手さとかはまったく要求していないんだけど、XNAはそれでも価値があるのでしょうか?
いきなり大作を作りたいわけじゃないから、簡単なものでいいから仕組みをきちんと理解したいって感が強いかも。

>>399
XNAのサンプルって XNA Creators Club Online で公開されているものでいいのかしら?
適当に落としてみて軽く逃げたくなったけど、有用なら簡単そうなとこから挑んでみます。

>>403
確かにその方が皆さんにも余計な迷惑かけないでいい気がするけれども、
スタート地点で「あのやり方でもできる」「このやり方でもできる」「でも本当にそれでいいのか?」って捕らわれてる感じで、
上述の通り試作品は幾つかあるけど、申し訳ないけどそこから具体的な質問は見いだせなかったです。
楽観的かもしれないけど、ここさえ抜け出したら結構なところまでは自力で進めそうな気はするんですが……。

406:名前は開発中のものです。
10/02/09 17:46:41 00QyPKRr
XNAのサンプルは、、CCのは規模が大きいのはほんとに大きいからなあ。
ひにけにとかソーサリーフォースのサイトにあるやつあたりからこつこつやってみては

407:名前は開発中のものです。
10/02/09 17:47:59 00QyPKRr
あーでもそこに書いたのはほんとに基本的なパーツでしかないから、、
移植が鍛えられるよ。適当にC/C++やjavaから題材持ってきて移植してみる。

408:名前は開発中のものです。
10/02/09 18:04:14 gxmzJN9a
>>405
>先述の通り派手さとかはまったく要求していないんだけど、XNAはそれでも価値があるのでしょうか?
このサイトでManagedDirectX 、XNA、SlimDXを比較してるので読んでみて。
URLリンク(mainori-se.sakura.ne.jp)
XNAは小規模なゲームを作るんだったら機能的にManagedDirectXとほとんど変わらないんじゃないかな。

プログラムに絶対正しい方法なんて無いし、あんまり気にしなくて良いと思うけどな・・・
どうしても気になるなら「こんな風にしたんですけど、もっと良い方法ありませんか?」みたいな感じで質問したらいいよ。
「具体的な質問は無いけどアドバイスをお願いします」と言われても困るのでw

409:名前は開発中のものです。
10/02/09 18:23:33 aS6DEZHg
>>406
やっぱり規模大きいですか。少し安心した……。
ひにけになども確認してみます。XNAのサイトだからって無条件に弾かない方がよさそうですね。

>>408
まだ抽象性が高いかもしれませんが、シーンが切り替わるごとにインターフェイスが全然異なっちゃうのが一番悩みかもしれないです。
たとえばフィールドマップを歩いているときは、キー入力やマウスクリックなんかはキャラの移動に割り当てられるけど、
メニューを開いたらコマンドウィンドウにフォーカスが移って、更にそこから世界地図の表示を選択したら……
みたいに処理系統がずれるとき、それが複雑になると、どのような設計をすればうまく収まるのかさっぱりな気分になりますね。
行き当たりばったりでやってると広域変数がわらわらわいてきて怖気がします。

DirectXの方は後でじっくり読んでみます。
参考資料ありがとうございます。

410:名前は開発中のものです。
10/02/09 18:53:05 RyMhwSFs
フィルードはフィルードのクラス
メニューはメニューのクラス
マップはマップのクラス
描画は描画のクラス

411:名前は開発中のものです。
10/02/09 20:12:09 vTYD+iVB
>>409
このサンプルなんかまさにそういう問題の答えかもしれん
URLリンク(creators.xna.com)

412:名前は開発中のものです。
10/02/09 21:36:23 EQQCG2AZ
普段ピクリともしないこのスレを
これだけヲチしてる仲間がいることに感動したw

xnaを使うかどうかはともかく
フレームワークの構造は参考になると思う

とにかく作ってみるっていうのはおれも同意
つまづいてから習得した技術は納得度が違うw

仕事ならそうも言ってられないがw

413:名前は開発中のものです。
10/02/09 22:01:17 mPUMM0XY
個人のゲーム作成って結構勢いが重要だったりするもんな。

414:名前は開発中のものです。
10/02/09 22:53:02 sxFgmY7p
>>411
ソースまで見てないけど>>409の習熟度から想像すると
丁度よさげな内容ぽいね

415:名前は開発中のものです。
10/02/10 00:28:48 jpAfFYdL
>>411
解説みた限りだとだいぶ参考になりそうな気がします。ありがとうございます。
XNA関連を何も入れてないからかプロジェクトが開いてくれないんで、明日必要そうなもの導入してみようと思います。
ソースだけなら見れますけど、やっぱり動いている様子を見た方が早いですしね。

>>412
質問しておいてなんですが、自分もびっくりしました(汗)。
自分はPGではないのですが、趣味であるアドバンテージは生かしたいですね。

416:名前は開発中のものです。
10/02/10 03:52:12 iylMgeyn
しかし潜在的にはちゃんと人いるんだなこのスレ。

>>415
>>411のGameScreenやゲームプログラマになる前に~のシーケンス周りを理解して、
Move()とDraw()などを持った抽象クラスを作れば、それだけで単純なSTGは組める。


417:名前は開発中のものです。
10/02/10 10:03:03 Jfy7clKG
CCのサンプルは規模の大きいものでもわりと分かりやすいと思う
再利用できるものはきっちり分離して、そうでないものは割り切って
ゲームの世界にべったり依存してて余計な抽象化などによる無駄な複雑さが少ない

418:名前は開発中のものです。
10/02/10 10:08:38 ChsIJfxb
>>415
XNA入れてなくてサンプル見ようとしてたのか。
最低でもプロジェクト作ってできるスケルトンくらいは先に見ようぜ。

419:名前は開発中のものです。
10/02/10 20:02:38 jpAfFYdL
>>418
失礼。XNA=XBOX向けみたいなイメージが強かったので、その時点で動作確認もしていなかったので。
開けるソースをざっと見てみて、有用そうだと思ったので取り急ぎレスさせていただいた次第です。

そしてXNA Game Studioを入れたのですが、重い……。
フリーズしたかと思いました(汗)。

420:名前は開発中のものです。
10/02/18 03:07:41 rY96i8HJ
話をへし折るが、やはりみんなはC#で作るならXNA派なん?

421:名前は開発中のものです。
10/02/18 07:23:00 BEEGi6EL
俺はDxLib+MOIS

422:名前は開発中のものです。
10/02/18 08:34:12 S5tbEoCa
Managed DirectX=開発が終了しているので将来性はゼロ。
SlimDX=実績が無い。日本語の情報がほとんど無い。
Windows API Code Pack=WindowsXPで使えない。
XNA=XBox互換のため機能制限あり。
OpenTK、Orge.net、Irrlicht .NET、SDL.NET、DXライブラリも候補に入れても良いかもしれない。
どれも一長一短のような気もするけど今はXNAを使ってるよ。

423:名前は開発中のものです。
10/02/18 13:29:25 d0XFdMVL
XNAおもしれーとうはうはしてたけど、文字列表示させようとして鼻水吹いた。

424:名前は開発中のものです。
10/02/18 13:46:21 cSNnQmS/
XNA(Win限定)で結局GetGlyphOutline使うフォントクラス作った

425:名前は開発中のものです。
10/02/18 15:26:38 d0XFdMVL
面倒だから平仮名・片仮名・英数字だけにしたら、進化しそこなったドラクエみたいだ……
1Byte文字文化圏はいいよな……

426:名前は開発中のものです。
10/02/18 19:39:07 uwXGwrNr
XNAは標準で簡単なWidgetが付いてたら最高だったんだけどなぁ。

427:名前は開発中のものです。
10/02/20 01:17:06 j7v2k0Qb
>>422
MDX先が無いことはわかってるんだけど、2Dオンリーなら不満が無いからなぁ・・・
MDXに限界が来たらライブラリをSlimDX用に書き直す感じ。それまではMDXで。

428:名前は開発中のものです。
10/02/20 02:55:10 usJ1VsOB
SlimDXも.Net、DX9、SlimDX、VC++2008Runtimeと必要なものが多すぎる...

429:名前は開発中のものです。
10/02/20 10:03:56 U8OIvjqs
俺もそれは思った
せめて未インストール時に
「○○をインストールしてください
 ○○をインストールしてください」
っていう風にインストールが必要なものを警告表示できればいいんだが
チェック方法がわからんorz

430:名前は開発中のものです。
10/02/20 13:10:41 29F92df1
>SlimDXは数MBのファイルひとつだけで必要なSDKランタイム/エンドユーザーランタイムすべてをインストールしてくれる
>>224にこう書かれてるけど?

431:名前は開発中のものです。
10/02/20 14:52:39 R/OX6DXK
ちょっとした2DゲームならSilverlightで十分な気がする
なんといっても.NET Framework不要、プラグインのインストールは一瞬

432:名前は開発中のものです。
10/02/20 16:30:54 usJ1VsOB
>>430
俺はDirectXの1部だけの配布はできないと思ってたけど、今ランタイム落として内容確認したら
D3D_nn.DLLとか更新が必要なやつだけ梱包されているみたいだね。
別途.Net 2.0、DirectXはインスコしてないとあかんけど、XP以降なら最初から問題ないだろうし。
つうことは、17MBほどのランタイムだけ入れさせれば、使用できるということか。
一度VPCで環境作って確認はしとかないといかんけど。

433:名前は開発中のものです。
10/02/20 16:32:27 usJ1VsOB
>>429
.Net自体は.Netのバージョンを調べる方法が確かあったはずだし、DirectXもバージョン調べられるはず。
あとはDLLがあるかどうか確認すれば、いけると思うけど。

434:名前は開発中のものです。
10/02/24 20:12:53 lWszCn7P
>>425
これマジ同意すぎて><

435:名前は開発中のものです。
10/02/24 21:36:28 v0pMbtQH
全部英語にしちゃいなYO

436:名前は開発中のものです。
10/02/25 02:43:25 E4vRbEqX
情報系大学とか、そっちの専門学校とかは、
基礎をちょっと教えたら残りは全部英語の授業でもいいよなってくらい、最近英語に悩まされてる。
せめてエラーメッセージくらいは自力で読んでくれよ……

それはさておき、XNAの漢字問題にはどう対処するのが賢そう?
使った漢字を自動抽出するのが主流って噂を聞いたけど、使用率によっては元テキストをなおした方がいい場合もあるし、
最初に「使用していい漢字のガイドライン(どうしても追加で必要な場合は応相談)」みたいなのがあった方が
テキストを書く人物が別人の場合は楽かな?

437:名前は開発中のものです。
10/02/25 07:50:14 dfNjmA1V
Box2DXってWindows7の64bitでは
使えないのね・・・


438:名前は開発中のものです。
10/02/25 09:59:29 8oJeVww7
>>436
状況によるけど、XNAはだいたいコンテントパイプライン使って
コンパイル時にテキストファイルから文字を拾うようにしてる。
そのテキストファイルがソースだったりシナリオファイルだったり
設定用のテキストファイルだったりするけど。

439:名前は開発中のものです。
10/02/25 10:12:07 I2iVSb1z
XNAではまだ日本語つかったの作ってないけど
チャットみたいなユーザが何入力するかわからんようなの実装しようとするとキツそうだね。


440:名前は開発中のものです。
10/02/25 10:35:19 8oJeVww7
そうなんだよね。日本語限定ならまあ全部作っとけばいいけど
ZUNEで曲名とか表示させたいときに、各国語の可能性あるから
そうそう用意できないんだわ、、、こういうケースはシステムフォント使わせてほしい

441:名前は開発中のものです。
10/02/25 11:31:08 I2iVSb1z
ジャストインタイムコンテントパイプライン、みたいなのがあればいいんだろうか

442:名前は開発中のものです。
10/02/25 12:55:16 Ar+UEgOz
xna用ででまわってる個人製作のGUIライブラリなんかは
dxライブラリと同様の方法でリアルタイムにフォントスプライト生成してるな
チャットとかならあの手のやり方が現実的かも

443:名前は開発中のものです。
10/02/26 10:08:04 7mqiUOeg
無理してSpriteFont使わなくても1から作ったほうが早いよ
自前のフォント描画なんかDirectX使うなら普通に行われてるんだから
探せばC++のサンプルは腐るほどある

444:名前は開発中のものです。
10/02/26 21:14:30 4rJsMRm9
>>443
おすすめのサンプル1つあげてちょ プリーズ

445:名前は開発中のものです。
10/02/26 23:01:32 TbWfS5Fw
>>444
それこそDXライブラリのソースでいいんじゃね?

446:名前は開発中のものです。
10/02/27 02:10:56 D991P+rM
普通に一度Win32や.NETFrameworkなどの標準ライブラリから文字のbmpを取得して、
そっからTextureを生成すればいいのでは・・・。

テクスチャのインスタンスは適当にDictionary<char, Texture>で持つとして、
テクスチャを取得するか生成してから取得するかは、利用側は意識しなくて言いようにクラスを作っておけばok。

447:名前は開発中のものです。
10/02/27 09:48:39 vCoVs2W/
>>446
一度落ち着け

448:名前は開発中のものです。
10/02/27 12:08:09 D991P+rM
あれ、443の流れに乗ったつもりだったが…サンプルコード載せなかったのがまずかったのか?

449:名前は開発中のものです。
10/02/27 12:36:32 tyywBe4S
サンプルコードというかそういうライブラリを誰か公開してほしい。
前に自分で作ろうとしたことあったけどやり方がよく分からんかった・・・

450:名前は開発中のものです。
10/02/27 16:16:59 lNYv9JrS
XNA用のネイティブフォントクラス作ってみた
URLリンク(gamdev4.hp.infoseek.co.jp)
ちゃんと試してないしオプションの実装も超適当だけど

451:名前は開発中のものです。
10/02/27 16:53:09 ufygOO6X
フォントですか

452:名前は開発中のものです。
10/02/27 22:05:07 mQhBDxzJ
フォントだよ

453:名前は開発中のものです。
10/02/27 22:07:42 e0cJrNax
ウソです

454:448
10/02/28 00:14:16 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:名前は開発中のものです。
10/02/28 02:52:38 IREy6+f9
XNAをさっとなぞってみたんだけれども、
やりたいことの方向性からして、今出てるフォントがらみの問題がきつすぎる。
悲しいけれども、ここの人みたいにスマートに処理できるだけの力量はない。

そんなわけでC#でDirectXがらみの書籍を探してみたんだけれども、
赤坂本で扱われている程度の内容しか正直見つからなかった。
DirectX未経験者としては、サンプルコードから理解しろというのも少し厳しいところなんだけれども、
今後資料が充実していくのを期待して、今は控えめなコードに専念するのが賢明かな?
それとも頑張ってXNAでフォント処理してく方が将来性ある?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch