トップページgamedev
988コメント368KB

【Xbox360】 XNA Game Studio その7 【C#】

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2008/07/26(土) 14:40:23ID:c7wBa1iE
前スレ
【Xbox360】 XNA Game Studio その6 【C#】
http://pc11.2ch.net/test/read.cgi/gamedev/1210637248/

XNA Creators Club Online
http://creators.xna.com/

XNA Game Studio 2.0 ドキュメント (日本語)
http://msdn.microsoft.com/ja-jp/library/bb200104.aspx
0312名前は開発中のものです。2008/09/12(金) 14:12:31ID:d1LeBLo9
>>311
むしろそれはすっげえ無駄に時間かかってると思うぞw?
0313名前は開発中のものです。2008/09/12(金) 23:55:54ID:qw7vnyZM
>>312
あのメッシュの煙とか爆発な・・・。うん、無駄に時間がかかるな、今なら。
0314名前は開発中のものです。2008/09/13(土) 00:06:50ID:zGCrBkot
サンプルコードのDrawメソッドの中によく見かける

foreach(ModelMesh mesh in this.model.Meshes) //modelはModelクラス
{
mesh.Draw();
}

ですが、foreachを消して、単純に
ModelMesh mesh = this.model.Meshes[0];
0315名前は開発中のものです。2008/09/13(土) 00:09:32ID:zGCrBkot
すみません、間違えて書き込みしてしまいました。
続きですが、単純に

ModelMesh mesh = this.model.Meshes[0];
mesh.Draw();

としても問題なく描画することができました。
一回meshにmodel.Meshesを格納してDrawを呼び出すだけで描画することができるのに
わざわざforeachを使うのはなぜなんでしょうか。理由がわかる方がいたら教えてほしいです。
0316名前は開発中のものです。2008/09/13(土) 00:31:43ID:yyl4Eyub
foreachの方が自然な英文に近くてすっと頭に入ってくるからじゃない?
0317名前は開発中のものです。2008/09/13(土) 01:33:59ID:QMSIAOYs
いやモデルの中にメッシュが複数ある場合は315のコードだとすべてレンダリングされない。
逆に言えば315の使ったモデルはメッシュが1つしか含まれていなかったってこと。
さらに言えばメッシュが1つも含まれていなければ・・・あとはわかるな?
0318名前は開発中のものです。2008/09/13(土) 02:21:03ID:zGCrBkot
なるほど。少しだけわかったような気がします。
これは私の予想ですが、モデリングしたときに、人間がボールを持っているモデルを作った場合は
(ボールと人間は別のプリミティブ?から作ったとして)モデルの中に二つのメッシュがあり、
ボールを二つ持っていたら三つのメッシュがある
ということになる ということでしょうか。
もし間違っていたら ぜんぜん違う など忌憚ない意見をいただけるとありがたいです。
0319名前は開発中のものです。2008/09/13(土) 04:15:08ID:QMSIAOYs
>>318
俺最近標準のモデル扱ってないのでわからんけど試してみれば。たぶんあってそうだけども。
その手のことも試してみるのは技術向上につながるかと。
ちなみに「あとはわかるな?」のところがどうなるかわかる?
0320名前は開発中のものです。2008/09/13(土) 04:30:47ID:zGCrBkot
これも予想ですが、Meshes[ ]の添え字を大きくしたときに、エラーが出たので
メッシュが無かったとしたら同じように、エラーがでる と思います。
今、メタセコイアで二つプリミティブをつくり、xファイルで書き出したものを描画してみたのですが、
二つのプリミティブで一つのメッシュと判断されたようで、ModelMesh mesh = this.model.Messhes[0];mesh.Draw();
で描画されてしまいました。
ひとつのxファイルに複数のメッシュを使い、それをModelMeshで複数のメッシュと認識させるには特殊な書き出し型とかがあるのかもしれません。
これから色々調べていきます。
0321名前は開発中のものです。2008/09/13(土) 14:09:08ID:QMSIAOYs
>>320
あたり〜
>二つのプリミティブで一つのメッシュと判断されたようで
書き出し方とかで変わってくるのかな?xsiからfbx書き出したら2メッシュだった。
けど1メッシュだと(SkinnedMeshとして扱えば別だけど)それぞれをバラして動かせない気がするし、
ちょっと3Dツール側の使い方(特にアニメ関係)を勉強したほうがいいかも。
ま、それでも用が足りるならかまわないとも思うけど。
一応
ttp://www2.uploda.org/uporg1667760.zip.html
2メッシュになってるファイルの例ね。
0322名前は開発中のものです。2008/09/13(土) 14:56:37ID:IK2DSqnj
test
0323名前は開発中のものです。2008/09/13(土) 14:58:16ID:zGCrBkot
>>321
なるほど、やはりツール側の問題のようですね。
上げていただいたファイルをロードし、Meshesの添え字をいじってみたところ、予想通りの動きをしてくれました。
XSIでfbx形式の書き出しだったらうまくいくとのことなので、そちらを利用しようと思います。
参考になるファイルまで上げていただき、ありがとうございました。
このファイルを利用し、気になるところを調べていきます。
0324名前は開発中のものです。2008/09/13(土) 14:58:44ID:IK2DSqnj
ああ書き込めたか
メタセコの場合材質でメッシュ別々にならない?
xfileは元々マテリアルで分けてるみたいだし
drawsubsetがマテリアルごとに描くってことだし
0325名前は開発中のものです。2008/09/13(土) 15:05:34ID:IK2DSqnj
あと>317
>・・・あとはわかるな?
がわかってない気がする

構文を理解したほうがいい気がする
0326名前は開発中のものです。2008/09/13(土) 15:34:06ID:zGCrBkot
今、材質パネルで赤と青の材質をつくり、それを二つの球それぞれに当ててみました。
Xファイルで書き出してXNAに読み込ませたのですが、ひとつのメッシュという扱いになりました。
0327名前は開発中のものです。2008/09/13(土) 15:59:49ID:QMSIAOYs
>325
俺の書いた意図は理解してくれたみたいだけど、構文を理解したほうがいいってのは
確実ですな。
ちなみになぜメッシュの数こだわってる?
標準機能つかってるかぎりまともにアニメはできないからアニメ用のライブラリを
利用するか、1からアニメ関係を実装するかしかないから注意ね。
後者のつもりで、かつ標準Modelを使う場合はこのあたりに拘る必要もあると思うけど、
そうでなければ適当にサンプルどおりでかまわないかなとも思うんだがw
ま、いろいろ試して勉強する意味はあるとは思うけどね。
0328名前は開発中のものです。2008/09/13(土) 16:33:20ID:zGCrBkot
中心が球になっていて、その周りは盾のように囲まれたモデルで、
球(コアのようなもの)だけに当り判定があり、被弾したかどうかを判別できたら楽しいだろうと思いまして。
ModelMeshのBoundingSphereという、当り判定に使えるものをネットで見かけて、
それがメッシュ単位で判定するものだったもので、モデルのメッシュを指定することができれば・・・というわけです。
アニメーションについては、アニメ用のライブラリを利用するつもりです。
0329名前は開発中のものです。2008/09/13(土) 16:41:25ID:QMSIAOYs
>>328
ありものを使いたいのもわかるけどそのケースなら距離公式使って当たり判定しても
結果は同じだし、楽だし、応用も利かない?
0330名前は開発中のものです。2008/09/13(土) 16:53:35ID:IK2DSqnj
ああ、わかるわかるw
俺も木のバウンディングボックスで
幹の部分で作りたいのに上のほうで横に広がってる枝も
含んで作成されてやたらでかくなるんだよね

xfileでは2個のメッシュで別けてあるんだけど
別個に作成する方法がわからなかったよ
だから自前で頂点情報から作ってた、方法あるのかな?
0331名前は開発中のものです。2008/09/13(土) 16:58:02ID:zGCrBkot
便利そうなものを見つけたので、使ってみたいという衝動に駆られてしまっていました。
実際のところ、当り判定などはまだまったくわからない状態です。
実力が伴っていないのに、突っ込んだ領域を理解しようとしていたようです。
XNAをもっとうまく使えるようになってから調べるようにします。
0332名前は開発中のものです。2008/09/14(日) 16:34:08ID:ZWyi1WOw
『XNA 3Dゲーム制作入門』って参考書はマジクソ。
0333名前は開発中のものです。2008/09/14(日) 17:47:45ID:cdO7rxo2
XNA Team Blog : XNA Game Studio 3.0 Beta Release On Its Way!
ttp://blogs.msdn.com/xna/archive/2008/09/12/xna-game-studio-3-0-beta-release-on-its-way.aspx
We hope that early next week you’ll give the XNA Game Studio 3.0 Beta a download and run it through its paces.
0334名前は開発中のものです。2008/09/14(日) 17:48:31ID:cdO7rxo2
だってさ。
0335名前は開発中のものです。2008/09/15(月) 13:28:58ID:wUWhu41H
なんかXNAつかってる外人さんがきとるよ
gamdev.org | RPG Demo
ttp://pc11.2ch.net/test/read.cgi/gamedev/1221433586/
0336名前は開発中のものです。2008/09/15(月) 19:40:12ID:Bw5WzYLs
MODToolにて、Xファイルを書き出したのですが
XNAで表示させるとパーツの大きさがぜんぜん違うものになってしまいます。
円錐や円柱など、サイズを調整して置いただけの単純なものなのですが
この状況を解決する方法がわかる方がいたら、解決法を教えていただけないでしょうか。
0337名前は開発中のものです。2008/09/15(月) 21:00:37ID:xQ3wsXK7
>>336
まず他のXファイル読み込めるソフトで試してごらんなさいな。出来れば複数。
どれで読んでもおかしいならXファイル出力のバグだゴルァとレポよろ。
行列の処理間違えてる可能性もありそうだけど。でもその状況だけだとなんともいえない。
ちなみに位置や回転はきちんと再現される?
0338名前は開発中のものです。2008/09/15(月) 21:09:27ID:Bw5WzYLs
ためしにRocDeBone2で読み込んでみたところ、XNAと同じ表示になりました。
MODToolで読み込むと正常なので、書き出し方がまずかったのかもしれません。
0339名前は開発中のものです。2008/09/16(火) 02:05:42ID:BDUNWnQm
Xにこだわる必要がなければfbxもためしてみー

試してないのでナニだけど現状のあなたのソフトがMODの吐き方に対応してないだけだと思う。M$のサンプルも完璧じゃないよ。
今使ってるファイルの階層構造をよく調べてみよう。よく調べてそれに対応できる変換行列の与え方を研究しよう。
0340名前は開発中のものです。2008/09/16(火) 02:26:26ID:LAEQ4F/5
とりあえず、色々設定いじって試してみます。
スケールの変更はうまくいっているので、言われたとおりfbxなども試してみます。
0341名前は開発中のものです。2008/09/17(水) 12:24:49ID:tmtdUkm3
xna game studio 3.0 beta
http://creators.xna.com/en-us/3.0beta_mainpage
0342名前は開発中のものです。2008/09/17(水) 13:18:40ID:YwynwH5f
xbox360側の更新が無いなあと思ったら
やっぱりまだ無理みたいね。
少なくともアップデート以降かねえ
0343名前は開発中のものです。2008/09/17(水) 14:18:01ID:FmobWIoz
次の3.0の新機能は何ですか?
0344名前は開発中のものです。2008/09/17(水) 14:35:12ID:GhIjHVNx
>次の3.0の新機能は何ですか?

NDAがあるので言えない・・・

GamefestのNDAはいつまで守らないといけないの?
参加登録の際に「NDAに署名いただきます」と書いてあれば問題ないけど、
何も知らないまま、お台場の会場まできたらいきなり「NDAおねがいしまーす」ってのは
有効な契約なのかな?そこで嫌なら嫌で引き返すのはあまりにも…
0345名前は開発中のものです。2008/09/17(水) 15:08:11ID:UwY17WpT
ちょっとくらい言っても大丈夫。ましてや署名しないNDAなんて
0346名前は開発中のものです。2008/09/17(水) 15:24:29ID:GhIjHVNx
>>345
署名はしたんだけど、Webでの参加登録の時点で教えてくれたらなと…

でも弁当は旨かったし、アイスコーヒーは飲み放題だったので、Gamefest全体は
大満足だったな
0347名前は開発中のものです。2008/09/17(水) 17:35:38ID:KmXXFsD9
とりあえず3.0が最終的にはXBOX360に対応させる気があるって時点で安心した。
0348名前は開発中のものです。2008/09/17(水) 20:06:21ID:YwynwH5f
3.0ベータのドキュメントの範囲内なら話できるよね?
0349名前は開発中のものです。2008/09/18(木) 19:18:02ID:6fciUFnx
http://blogs.msdn.com/xnajapan/archive/2008/09/17/xna-game-studio-3-0-beta.aspx

相変わらずその辺のUSBパッドの対応はナシかしらね。
0350名前は開発中のものです。2008/09/21(日) 17:54:19ID:4F4Ucm5a
改悪ってレベル
0351名前は開発中のものです。2008/09/21(日) 19:24:46ID:IfY4QEkq
LINQサポートってどういう意味なんだろ
System.Core.dll系のクラスが360でも使えるようになるのか?
0352名前は開発中のものです。2008/09/23(火) 01:53:02ID:bN5AHrSG
なんでLINQでSystem.Core?
0353名前は開発中のものです。2008/09/23(火) 01:55:08ID:LQBSJQQs
XNAで、同一デバイスで他のFormに描画する時ってどうやるんでしょうか?
0354名前は開発中のものです。2008/09/23(火) 02:03:00ID:OmkX34Y6
GraphicsDevice.Present(IntPtr)
0355名前は開発中のものです。2008/09/23(火) 10:46:07ID:LQBSJQQs
>>354
更新はPresentで行えますが、
ウィンドウ間で異なるサイズのバックバッファを使いたい場合
どう指定するのでしょうか?
SwapChainに該当するのがよく分からなくて・・・。
0356名前は開発中のものです。2008/09/23(火) 23:27:47ID:OmkX34Y6
>>355
デスクトップサイズのバックバッファを作ってそれを部分的に使いまわす(Clear&Blit)
前のスレでXNAの中の人が言っていたが、このやり方のほうが
SwapChainを使うより推奨されるんだとさ。
0357名前は開発中のものです。2008/09/24(水) 15:38:57ID:2Yri0Yp7
GOM PLAYER
シンプルで使いやすいユーザーインターフェース。
コーデック内蔵で様々なファイル形式に対応。
ダウンロード中のaviファイルも再生可能。
FLV対応でフラッシュ動画も簡単再生!!
ダウンロ-ドhttp://www.lineagecojp.com/movie/mov0023.zip

0358名前は開発中のものです。2008/09/24(水) 15:39:38ID:2Yri0Yp7
GOM PLAYER
シンプルで使いやすいユーザーインターフェース。
コーデック内蔵で様々なファイル形式に対応。
ダウンロード中のaviファイルも再生可能。
FLV対応でフラッシュ動画も簡単再生!!
ダウンロ-ドhttp://www.lineagecojp.com/movie/mov0023.zip

0359名前は開発中のものです。2008/09/24(水) 19:02:32ID:YdRHGXAM
もしかして: www.lineagecap.com

支那狗は、ウイルス・トロイ配布に必死で笑える。
0360名前は開発中のものです。2008/09/25(木) 04:33:59ID:fsu2Yd4N
HLSL シェーダしているのですが
透過処理がよく分かりません。

float4 PixelShader() : COLOR
とかで
色.a = 0.5f;
にして色をreturnしても変わらないのですがどうすればいいのでしょうか?
テクスチャーは使用しています。
0361名前は開発中のものです。2008/09/25(木) 13:14:38ID:IzKEQnRp
>>360
passに
AlphaBlendEnable=true;
BlendOp=0;
DestBlend = InvSrcAlpha;
SrcBlend=SrcAlpha;

とか書いてもだめか?
BlendOp以下は混ぜ方によっても変わる。
0362名前は開発中のものです。2008/09/26(金) 02:18:58ID:gHOMX9pD
コンテストには応募した?
0363名前は開発中のものです。2008/09/26(金) 21:05:12ID:zQRpm1Fz
表示している3Dモデルのワールド頂点座標を取得したいのですが、方法はありますか?
0364名前は開発中のものです。2008/09/27(土) 02:17:13ID:Ym8UNkdM
Windowsフォームの一部にManaged DirectXを使って3D画像を描画させている
C#で作られた業務用アプリがあります。
Managed DirectXで描画している箇所を XNAに置き換えることは可能でしょうか?
もしくは、XNAでつくったアプリに、ボタンやテキストボックスなどのコンポーネント
を配置することは可能ですか?

>>363
表示している座標を取得するのは難しいと思うので、
ローカル座標系での3Dモデルの頂点座標に、ワールド座標系に変換する行列
(描画するときセットする行列)をかけて、計算で求めるといいかもしれません。
0365名前は開発中のものです。2008/09/27(土) 02:34:49ID:0q0J6NQG
>>363
レスありがとうございます。
Meshからローカル座標を取得することは出来るので、そこから変換をかけてみようと思います。
0366名前は開発中のものです。2008/09/27(土) 04:37:18ID:0q0J6NQG
model4.Meshes[0].VertexBuffer.GetData(vertex) ; //vertexはVector3の配列

の方法でモデルの頂点座標を取得しました。
立方体なので、8個、もしくは24個の座標が出てくることを期待したのですが
ModToolで作成したXファイルでは48個、メタセコイアで作成したXファイルでは16個の座標がでてきました。
出てきた座標のうち、半分は頂点として使われているとは考えにくい座標でした。(のこりの半分は正しい座標でした)
正しい座標、間違った座標 が交互に配列に格納されていたのですが、原因がわかりません。
配列の取得の方法がまずいのでしょうか。
0367名前は開発中のものです。2008/09/27(土) 06:58:44ID:6TZR1rmS
C#C#C#スレで見たのと同じ問題かな?
0368名前は開発中のものです。2008/09/27(土) 12:08:21ID:0q0J6NQG
今C#C#C#スレを見てきました。
質問内容は同じでしたが、そちらではXNAではなくManagedDirectXを利用していました。
0369名前は開発中のものです。2008/09/27(土) 12:20:26ID:6TZR1rmS
同じだと思うけどな

publivoid GetData<T> (
T[] data
) where T ValueType

VertexBuffer.GetData ジェネリック メソッド (T[])
型パラメータ
T
頂点バッファのデータの型。
パラメータ

Vector3の配列 ←これが違うのではないの?
頂点バッファのデータの型で受けるんでしょ
たぶんUV値が入ってきてるから変なんでしょ

data
頂点バッファ データのコピー先の配列。
0370名前は開発中のものです。2008/09/27(土) 13:00:12ID:0q0J6NQG
Vector3の配列ではなく、VertexPositionTexture配列にしてみました。
取得できる頂点数は4個になったのですが、やはり違う点がまじっていました。
VertexBufferの配列でも受けてみようと思ったのですが、そちらではビルドできませんでした。
そのモデルは地形として使いたいので、モデルの三角形全てとRayとの衝突地点の割り出しを行いたいと思っているのですが
VertexBufferを利用する以外に何かよい方法などはありますか?
NodeContentを利用する方法が書いてあったのですが、NodeContentにモデルを入れる方法がわからないので
利用することが出来ません。
0371名前は開発中のものです。2008/09/27(土) 13:11:23ID:6TZR1rmS
4個?
VertexBuffer.GetData<VertexPositionTexture>(vertex) ; //vertexはVector3の配列
<の>なかはそれであってるの?
0372名前は開発中のものです。2008/09/27(土) 13:20:10ID:6TZR1rmS
海外だけど、あなたがやろうとしてることだと思う
ttp://www.koders.com/csharp/fid989B69D4A3F74511CB915A6BB278B2326BA9BC92.aspx

57行74行82行目
0373名前は開発中のものです。2008/09/27(土) 13:41:38ID:6TZR1rmS
ごめんよく考えたらmesh.Intersect使えるんだった
0374名前は開発中のものです。2008/09/27(土) 15:42:12ID:0q0J6NQG
コード提供までしていただき、ありがとうございます。
mesh.IntersectはXNAにはないようです。
これからコードをみて、何を行っているのか調べてみたいと思います。
0375名前は開発中のものです。2008/09/27(土) 15:52:31ID:0q0J6NQG
おっしゃるとおり、<>の中が違いました。
それに伴い、配列のデータ型も違ったようです。
VertexColorTexturePosition型の配列にしたところ、予定通りの頂点を得ることが出来ました。
目標である頂点の取得は出来たので、ここから頂点を利用し地形としての判定を取れるように作業をしたいと思います。
ありがとうございました。
0376名前は開発中のものです。2008/09/27(土) 15:57:26ID:6TZR1rmS
最新のはあると思うけど,XNA最近使ってないから知らないけど
ここにも書いてあるみたいだし
ttp://sorceryforce.com/xna/tips_modelselectbyscreenposition.html

ためしにmodel4.Meshes[0].(点)
でCTRL+スペースで候補に出てこないですか?
0377名前は開発中のものです。2008/09/27(土) 16:07:59ID:6TZR1rmS
解決したのね、おめでとう
Intersectよりそれのほうがいいかも、
理論知って自前でやってたほうが後々いいですしね

ただ言っときたいのはそのXfileは正しく読めても
他ので作ったのは読めないとかなるんで
海外のに書いてあるけどVertexBufferのタイプを
一頂点の長さ(何があるかで違ってくる)取得して
<>の中を変えるのが正しいやり方だと思います。
0378名前は開発中のものです。2008/09/27(土) 16:15:56ID:0q0J6NQG
BoundingSphereからIntersectは呼べるようですが、meshからは呼ぶことが出来ませんでした。
計画ではRayとPlaneの交点を出すことができる、Ray.Intersects(Plane)を利用しようと考えています。
Planeは3点あれば三角形が作れるので、モデルから頂点を取り出す必要がありました。
あとは、モデルの三角形を全て呼び出すことが出来れば可能になるのではないかと考えています。
MeshesのIndexBufferを取得することが出来れば、先ほど取得した頂点の配列で判定用のPlaneを作ることができそうなので
その方法をとってみることにします。
0379名前は開発中のものです。2008/09/28(日) 18:17:48ID:4erl5gXp
>>378
何が目的か今一よーわからんが、たぶんあんたがやろうとしている事は
まともなパフォーマンス出そうとするとかなり面倒なことする必要があるとおもうで。
正直別の方法考えるべきだとおもう(まあそれでも十分な程度の事なのかもしれんので、
余計なお世話の可能性もあるんだけど;; ものすごくポリゴン数が少ないモデルしか
扱わないとかね。
0380名前は開発中のものです。2008/09/28(日) 18:53:25ID:z02XW6Pn
なにかほかにいい方法があればいいのですが
これくらいしか思いつかなかったので・・・
ネットなどでも手法などがあまり書いていないので、とりあえずやってみようと思っています。
0381名前は開発中のものです。2008/09/28(日) 19:00:35ID:YhqPSvhE
全容を言ってないのに、この方法に
ツッコミ入れるほうがおかしいと思うよ

0382名前は開発中のものです。2008/09/28(日) 22:31:38ID:4erl5gXp
というか前から意地でもアリもの使ってなんとかしようとしすぎているように見えたんでな。
もちいと数学勉強しないとその方法はちょっと辛いとおもう・・・ってのもある。
そんなに難しい数学じゃないから。(高校じゃやらないけど、その応用で済む

地面との当たり判定とかつくりたいなら逆の発想でハイトマップつくってそこから
ポリゴン作って、とかのほうが簡単よ?でないとパフォーマンス出すためにはクラスタ分け
きちんとしないとちょっと厳しいと思う。

もしもオブジェクト同士の衝突を考えているなら・・・よっぽど上手くやらないとまともな
パフォーマンスでない。距離公式使って球や円筒同士の当たり判定のほうが無難。

どちらも不可能ではない、けど簡単ではないって話だけどね。
正直聞いてる内容が自力で解決できないとなるとちょっと無理じゃないかなー。
(ネガティブな発言に見えるかも知れんけど、一応解決策も書いているのでそのつもりで。)
0383名前は開発中のものです。2008/09/28(日) 22:57:14ID:U0iEQj4g
このスレ見てると質問の内容も回答の内容もスゲーな。用語すらもまともに理解できん。
どんなゲーム作ってるのか気になる。
0384名前は開発中のものです。2008/09/29(月) 02:20:01ID:L8aMU6js
>>382
なるほど前に書き込んでる人なのか
[0]でわかったよ

レイでの当たり判定の前にちゃんと絞込みしてないと
確かにきついだろうね
数学は必要だけど具体的にどんな時に使うのか
本とかでは大抵書いてないよね、それが問題だと思うんだよね

0385名前は開発中のものです。2008/10/04(土) 12:09:00ID:i6gF2OK4
みんなどうした?何かゲーム作ってる?
0386名前は開発中のものです。2008/10/05(日) 04:05:05ID:tg6+UXrh
サウンド再生を試してるんですがどうしたらいいのか分かりません。
コントローラーでスプライトを操作して右の方に来たら音が鳴り続けるようにしたいです。
スプライトが右の方にいる限り、音が重なって再生されたりせずに
一本の音が再生され、終了した瞬間にまた最初から繰り返し鳴るようにしたいです。
cue.IsPrepareとかIsPlayingとか試したんですがどうも不正終了するのでよく分かりません。
とりあえず取っ掛かりとして↓のコードを晒しますのでこれをどう変えたらいいか教えてください。

LoadContent内
cue = soundBank.GetCue("testsound");

Update内
if (mySprite.position.X >= 200)
cue.Play();
else
cue.Pause();
0387名前は開発中のものです。2008/10/05(日) 12:10:08ID:omFPsi9h
http://creators.xna.com/en-us/contentpack/controllerbuttons

↑これのxboxControllerSpriteFont.tgaをプロジェクトに追加して
コンテントプロセッサーにSprite Font Textureを指定して

font = Content.Load<SpriteFont>("SpriteFont1");
glyph = Content.Load<SpriteFont>("xboxControllerSpriteFont");

spriteBatch.DrawString(glyph, "%", ...
spriteBatch.DrawString(font, "ボタンを押してください", ...

みたいな感じで使ってるんだけど、通常フォントとボタンイメージを
同一のSpriteFontで扱うようにってできないのかな?

spriteBatch.DrawString(fontAndGlyph, "%ボタンを押してください", ...
って感じで使えると便利なんだけど。
0388名前は開発中のものです。2008/10/05(日) 13:01:37ID:lFMkzhOs
>>387
そういう事をするためにSprite Font Textureが用意されている。
・・・のだが、正直言って日本語でそれをやるのは厳しいよな。
xboxControllerSpriteFontに対応している文字列を探して
上の様なコードを実行するメソッド作った方が楽そうだ。
0389名前は開発中のものです。2008/10/05(日) 13:33:48ID:QOc49fbj
>>386
IsPlayingできると思うけど。
if (cue.IsPlaying == false && mySprite.position.X >= 200)
cue.Play();
不正終了する理由は?
0390名前は開発中のものです。2008/10/05(日) 13:37:39ID:Q0AXzTyW
http://msdn.microsoft.com/ja-jp/xna/cc787987.aspx

おまえらこれ行く?
0391名前は開発中のものです。2008/10/05(日) 13:40:10ID:omFPsi9h
┐(´Д`;)┌
0392名前は開発中のものです。2008/10/05(日) 13:42:43ID:dgTlshpD
家から近いな
14m*16mの会場に何人来るんだ?w
応募者以外で行く人いるんかな
0393名前は開発中のものです。2008/10/05(日) 13:51:55ID:Q0AXzTyW
>>392
去年もこのホテルで、Xbox公認ファンサイトの人とか、芸能人とか板垣(格げーの人ね)、ジェイド(美人開発者)とか
いろいろ集めてインターナショナルパーティーやってたからね。

今年もこの発表会のあとに同じ会場でパーティーがあるみたいだから、ゲストの多くも発表会から参加するんじゃね。

コンテスト入選者にとっては、国内外のメディアとかデベロッパーとかの目に留まるチャンスですよ。

俺ですか?はい、予選落ちです。つーか1日にメールで発表会の案内よこすなヽ(`Д´)ノ選ばれたと勘違いしたじゃないかw
0394名前は開発中のものです。2008/10/05(日) 13:56:28ID:tg6+UXrh
>>389
音が何回か鳴ったあとに実行時エラーになって
MSに情報を送信しますかみたいな例のウィンドウが出ます。

デバッガで試すと
$exception {"The method or function that was called cannot be used in the manner requested."} System.Exception {System.InvalidOperationException}
で、エラーのツリーを展開すると
!式を評価できませんでした
みたいなのが大量に出ています。
0395名前は開発中のものです。2008/10/05(日) 14:50:52ID:dgTlshpD
>予選落ち
何人応募とかどっかでみれる?
0396名前は開発中のものです。2008/10/05(日) 17:50:50ID:WZwP0nv8
少ないから数の発表は無いだろ
0397名前は開発中のものです。2008/10/06(月) 10:55:47ID:gE4lnVnu
>>394
cue.Play()呼ぶたびにデバッグメッセージ出してみて。
なんか何十もPlayしてるようにみえる。
0398名前は開発中のものです。2008/10/06(月) 14:36:40ID:AWTFvpXL
>>386

if (mySprite.position.X >= 200)
{
  if (!cue.IsPlaying)
  {
    cue = soundBank.GetCue("testsound");
    cue.Play();
  }
}
else
{
  if (cue.IsPlaying)
  {
    cue.Pause();
  }
}

XACTでキューを無限ループにする
0399名前は開発中のものです。2008/10/06(月) 16:25:24ID:3OWsFqwi
>>393
>はい、予選落ちです。

うpしる!
みんなで面白く改造しようぜ
0400名前は開発中のものです。2008/10/09(木) 18:15:10ID:NvN324kA
んなことよりXNA 3.0リリースとXbox Community Gamesを早く稼動してくれ。
いつまで待たせる気なんだ?
誰か上の人間に聞いてみてよ。
0401名前は開発中のものです。2008/10/09(木) 18:21:12ID:XEUGcF+H
ライブ配信って、海外への配信なら日本からでも正式にできるの?
日本のユーザーが買えないってだけで。

ひにけに見てたらそうとも読める記述があったんだけど。
「日本ではまだだけど海外の方がユーザー多いから
それをターゲットに開発してみては?」
みたいな。
0402名前は開発中のものです。2008/10/09(木) 18:48:12ID:2gBcwo0+
3.0は新機能とも関連するみたいだし、少なくとも11/19のシステムアップデートまでは無いんじゃないかなあ。
0403名前は開発中のものです。2008/10/10(金) 01:26:10ID:mvcQEoby
ひげねこは2chに見切りを付けたのか。正解だな
0404名前は開発中のものです。2008/10/10(金) 06:50:29ID:9yC3aEnt
http://news.dengeki.com/elem/000/000/111/111697/

学生の受賞者が目立つな・・・。

一般の人はゲームアセット部門で0名か。
肝心のゲーム部門では一般枠に割り当てられた人数分だけ一般の人が受賞した感じ。

貴重な一般優秀賞2人のうち、一人がファ二ーダンシングの萌えゲーの人が受賞したのはいいとして、
もう一人はXNA本の人本人が応募しちゃったのかww

まあパートナーの専門学校あってこそ一定のクオリティーの応募作品が保証され
こういったコンテストが開催できるんだろうけど・・・

MSと提携した学校とか、学生でクレクレクラブがタダとか、なんかしらの形でMSの支援対象に入ってる
と自覚のない人はXNAにあまり深く足を踏み入れない方がいいかな。
0405名前は開発中のものです。2008/10/10(金) 09:52:05ID:TKwtsUA5
アメリカザリガニはオタ系イベントで小銭稼いでるなあ
0406名前は開発中のものです。2008/10/10(金) 13:46:43ID:9yC3aEnt
>>387
> http://creators.xna.com/en-us/contentpack/controllerbuttons
>
> ↑これのxboxControllerSpriteFont.tgaをプロジェクトに追加して
> コンテントプロセッサーにSprite Font Textureを指定して
>
> font = Content.Load<SpriteFont>("SpriteFont1");
> glyph = Content.Load<SpriteFont>("xboxControllerSpriteFont");
>
> spriteBatch.DrawString(glyph, "%", ...
> spriteBatch.DrawString(font, "ボタンを押してください", ...
>
> みたいな感じで使ってるんだけど、通常フォントとボタンイメージを
> 同一のSpriteFontで扱うようにってできないのかな?
>
> spriteBatch.DrawString(fontAndGlyph, "%ボタンを押してください", ...
> って感じで使えると便利なんだけど。



親切な人が>>387の願いをかなえるツールを作ってくれたみたいだ。
MSが配布しているボタンイメージとフォントを使用する必要があるみたいだが。

http://www.xnadevelopment.com/tutorials/itsacontrolthing/itsacontrolthing.shtml
0407名前は開発中のものです。2008/10/10(金) 16:11:28ID:ILDlmOku
てゆーかなんで3Dになるとコモンコントロール的なものとか
いちいち自作しないといけなくなるわけ?
0408名前は開発中のものです。2008/10/10(金) 16:55:54ID:25f4EtY0
>>407
もしもその手のUIが全て同じであるべきだ、という思想があるシステム(初期のマックとかね)ならシステム側で作っておくものだが
ゲームってそういうもんじゃないだろ。文句あるなら自分で作って配布するとありがたがってもらえるぜ?w

あ、初期のマックはUIの仕様はうるさかったけど結構自分で作る必要あったねw
0409名前は開発中のものです。2008/10/10(金) 17:25:14ID:XUE5YPhg
結局ジャンルごとで求めること結構違うから全部を網羅するライブラリなんて無理だろうしね。
0410名前は開発中のものです。2008/10/10(金) 21:22:04ID:RNpL6W3k
そうだね。よかったね。
0411名前は開発中のものです。2008/10/10(金) 22:18:40ID:DQ1Zghzn
http://www.famitsu.com/event/tgs/2008/1218752_1829.html
>[12:29:20] 次にXbox コミュニティゲーム(XNA)について言及。
>[12:29:55] 「すでに日本のクリエーターの作品、1000タイトル以上が登録されている。」

すげー!!
1000かよ!!!!!
■ このスレッドは過去ログ倉庫に格納されています