【みんな】XNA 質問・相談スレッド1【初心者】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/09/23(日) 23:43:41XNA はマネージ実行環境を完備する。
2004 年 3 月 24 日、カリフォルニア州のサンノゼの Game Developers Conference で発表され、
2006 年 12 月 11 日にリリースされた。
XNA は「 XNA's Not Acronymed」 ( XNA は頭字語ではない)の頭字語である。
XNA デベロッパーセンター
http://www.microsoft.com/japan/msdn/xna/
xna スタジオ
http://xna-studio.jp/
XNA Game Studioメモ
http://www.saturn.dti.ne.jp/~npaka/xna/
ということで立ててみた。
0783デフォルトの名無しさん
2010/05/23(日) 15:47:24もしかしてCreateFromAxisAngleのことですか?
0784デフォルトの名無しさん
2010/05/23(日) 19:15:360785デフォルトの名無しさん
2010/05/24(月) 10:43:07これで回転させているのですが、回転させたときにモデルが横に引き伸ばされてしまいます。
どなたか原因が分かる方はいらっしゃいますでしょうか?
もしいるのであれば原因と解決法をお教えいただけないでしょうか?
お願いします。
0786デフォルトの名無しさん
2010/05/24(月) 13:27:030787デフォルトの名無しさん
2010/05/24(月) 13:50:33ありがとうごさいます。解決しました。
0788デフォルトの名無しさん
2010/05/24(月) 23:27:58どなたか教えてください、お願いします。
0789デフォルトの名無しさん
2010/05/24(月) 23:34:510790デフォルトの名無しさん
2010/05/24(月) 23:43:11if (現在のフレームでマウスボタンが押されている) {
if (!A) { A = true; B = 現在のマウス座標; }
else { var d = 現在のマウス座標 - B; dに応じてモデル回転; B = 現在のマウス座標; }
} else { A = false;
0791デフォルトの名無しさん
2010/05/25(火) 00:03:38ありがとうございました!
0792デフォルトの名無しさん
2010/05/26(水) 03:18:070793デフォルトの名無しさん
2010/05/26(水) 22:17:24上記のひにけにさんのサイトにある自動XNBファイルシリアライズを参考に
XMLファイルからデータを取り込もうとしています。
シンプルな例に言われるとおりにやってみたのですが、エラーを出してしまいます。
他プロジェクトでできたDLLを参照設定に追加してやってみましたが、ビルドは成功するものの
Neko[] cats = Content.Load<Neko[]>("cats");
の部分で読み込みエラーをしてしまいます。
エラー内容は
"cats" の読み込み中にエラーが発生しました。
ContentTypeReader Microsoft.Xna.Framework.Content.ArrayReader`1
[[MyDataTypes.Neko, MyDataTypes, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=null]] が見つかりません。
どなたかエラー原因がわかる方がいませんでしょうか?
よろしくお願いします
0794デフォルトの名無しさん
2010/05/27(木) 02:00:480795デフォルトの名無しさん
2010/05/27(木) 10:53:29話がよくわからないけど、こっちで再現できるだけの材料ある?
0796デフォルトの名無しさん
2010/05/27(木) 10:55:180797デフォルトの名無しさん
2010/05/27(木) 19:06:18まだXNA初めて4ヶ月ぐらいなので、もしかしたら根本的な部分が間違っている
のかもしれません・・・。
下のコメントは読みましたが、すでに本文の方も修正されているみたいです
0798デフォルトの名無しさん
2010/05/30(日) 11:23:08これ、3.1の新機能なんだけどバージョンは3.1になってる?
0799デフォルトの名無しさん
2010/05/30(日) 11:33:15プロジェクト新規作成 WindowsGame1
プロジェクト新規追加 MyDataTypes
MyDataTypesプロジェクトにNekoクラス作成
WindowsGame1プロジェクトの参照設定、本体、Contentの両方にMyDataTypes追加
WindowsGame1プロジェクトにContent追加XMLファイルでcats.xml
WindowsGame1プロジェクトでContent.Load<Neko[]>("cats")追加
これだけだったよ、実行時もエラー出ない。
0800デフォルトの名無しさん
2010/05/30(日) 21:25:12Y軸を回転軸に180°回転させた後、
X軸やZ軸を回転軸に回転させると、自分から見て回転する方向が反対になってしまいます。
このような現象を解消し、自分から見て常に同じ方向に回転させるにはどのようにしたらよろしいでしょうか?
もし解る方がいらっしゃるのでしたらお教え願いませんでしょうか?
お願いします。
0801デフォルトの名無しさん
2010/05/30(日) 21:58:20そりゃ、回転軸も180度回転させるしか。
0802デフォルトの名無しさん
2010/05/30(日) 22:54:40オイラー角で姿勢を保持するのをやめる。
0803デフォルトの名無しさん
2010/05/30(日) 23:21:28どのようにしたらよいのでしょうか?
0804デフォルトの名無しさん
2010/05/30(日) 23:53:18Quaternionっての使うと、回転軸+回転角で情報持てる。
0805デフォルトの名無しさん
2010/05/31(月) 22:12:43ご丁寧に教えていただきありがとうございます。
書いてあるとおりにして、using MyDataTypes;を入れれば読み込んでくれました
どうもありがとうございました。
0806デフォルトの名無しさん
2010/05/31(月) 22:39:11Quaternionの使い方が難しくてよくわかりません。
Y軸のと(1、0、−1)の軸の回転をそれぞれQuaternion.CreateFromAxisAngleで行った後、
Quaternion.Concatenate(Y軸、(1、0、−1))で結合しているのですが、
上手く回転できません。
どなたかわかる方がいらっしゃったらお教え願いませんでしょうか?
お願いします。
0807デフォルトの名無しさん
2010/05/31(月) 23:19:46回転自体をイメージできてないんだったら、オイラー角だろうがクオータニオンだろうが何使ってもダメなもんはダメだと思うんだが。
0809デフォルトの名無しさん
2010/06/01(火) 00:09:34X軸回転の後Y軸回転したらどうなるか、とかいろいろやって何が起こるか試してみるといい。
この辺のマトリクスの仕組みを理解しないと思い通りに動かすのは難しいよ。
0810デフォルトの名無しさん
2010/06/01(火) 00:54:04回転の順序逆なんじゃね?
0811デフォルトの名無しさん
2010/06/01(火) 11:35:06(1、0、−1)の軸で回転させてから、
Y軸で回転させるということでしょうか?
0812デフォルトの名無しさん
2010/06/01(火) 11:39:24行列の右結合と左結合が逆。
自分の意図してる方と同じ回転順序になってない。
0813デフォルトの名無しさん
2010/06/03(木) 22:53:20XMLを二次元配列で読み込む方法はないでしょうか?
当然、XMLファイルも今のままではダメだと思うのですが、
<item>の中に<item>を作ればいいのでしょうか?
0814デフォルトの名無しさん
2010/06/04(金) 16:14:010815デフォルトの名無しさん
2010/06/04(金) 16:14:580816デフォルトの名無しさん
2010/06/06(日) 12:06:00なるほど
やってみます!
0817デフォルトの名無しさん
2010/06/06(日) 12:29:23型 'クラス名' を反映中にエラーが発生しました。
ってエラーになります。
配列の部分をコメントアウトすれば、エラーがなくなりXmlファイルが生成できます
配列を含むXmlを作る時には、何か方法が違うのでしょうか?
0818デフォルトの名無しさん
2010/06/06(日) 12:42:01そもそも多次元配列はシリアライズできないよね?まあジャグ配列にしたんだろうけど。
リーダーライター自分で書くのが確実な気が
0819デフォルトの名無しさん
2010/06/06(日) 12:51:05何のメリットも無いから使わなくていいよ
0820デフォルトの名無しさん
2010/06/06(日) 18:24:08ゲームなんか作るときは
コードの分かりやすさとか管理のしやすさがメリットとしてあると思うけど。
二次元グリッドで番地的にオブジェクトだのポリゴンだのしまっておくときとか。
0821デフォルトの名無しさん
2010/06/06(日) 18:26:050822デフォルトの名無しさん
2010/06/06(日) 18:38:44Listを使った方がいい、とか言いいたいならまだ分かるけど、
「多次元配列」自体にメリットがないという意味が理解できない。
(もっとも、速度は固定長の普通の配列の方が速いだろうし、
使い勝手としてはListとかの方がいいだろうし、そこの選択は適材適所だとして)
0823デフォルトの名無しさん
2010/06/07(月) 21:33:30>何のメリットも無いから使わなくていいよ
なんだよ、根拠もないのかよ。
0824デフォルトの名無しさん
2010/06/08(火) 11:50:05それでなくちゃいかんという場面が思いつかないね
0825デフォルトの名無しさん
2010/06/15(火) 13:35:40この現象を解消するにはどうしたらよいのでしょうか。
どなたかわかる方がいらっしゃったらお教え願いませんでしょうか?
お願いします。
0826デフォルトの名無しさん
2010/06/15(火) 13:46:27どうやってんのよ
0827デフォルトの名無しさん
2010/06/15(火) 14:22:26例えばSpriteBatchと一緒に使っていて、レンダーステート変更されてしまっているんじゃないかな?
http://blogs.msdn.com/b/ito/archive/2007/03/13/spritebatch-part2.aspx
0828デフォルトの名無しさん
2010/06/15(火) 14:38:03そうです。
モデルだけを表示していた時は普通に表示できたのですが、
文字も一緒に表示するとおかしくなりました。
0829デフォルトの名無しさん
2010/06/15(火) 14:43:390830デフォルトの名無しさん
2010/06/15(火) 16:58:17他の回転軸を固定したまま回転させることってできないのでしょうか?
(回転軸の固定とは、ベクトル方向が自分から見て常に同じ向きを向いているという意味です。)
0831デフォルトの名無しさん
2010/06/15(火) 17:00:040832デフォルトの名無しさん
2010/06/15(火) 17:19:12ググってみた
http://www.arakin.dyndns.org/gl_torusquat.php
0833デフォルトの名無しさん
2010/06/16(水) 16:03:530834デフォルトの名無しさん
2010/06/16(水) 16:05:010835デフォルトの名無しさん
2010/06/16(水) 16:31:360836デフォルトの名無しさん
2010/06/16(水) 16:37:04Matrixから作ったQuaternionのxの部分を表示するにはどのようにしたらよいのでしょうか?
0837デフォルトの名無しさん
2010/06/16(水) 16:47:040838デフォルトの名無しさん
2010/06/16(水) 17:15:06System.Console.WriteLine(Quaternion.CreateFromRotationMatrix(Matrix.Identity).X);
0839デフォルトの名無しさん
2010/06/16(水) 18:08:260840デフォルトの名無しさん
2010/06/16(水) 18:16:03で1x1の大きさのテクスチャつくったら、
どれくらいメモリくう?
手元の環境で試してみたら…。
Texture2D[] ts = new Texture2D[256];
の状態でメモリ測定。
次に、256回newして配列に収めてメモリ測定。
だいたい一個あたり311byte使ってるようなんだが…。
たった1x1のサイズでそんなに食うものなのか?
テクスチャやデバイスのプロパティは以下。
SurfaceFormat = Color
TextureUsage = None
RequiresPower2 = true
SupportsNonPower2Conditional = true
0841デフォルトの名無しさん
2010/06/16(水) 19:10:14ゴキちゃんかw、今年は残念だったなw
0842デフォルトの名無しさん
2010/06/16(水) 20:04:28お手!
0843デフォルトの名無しさん
2010/06/16(水) 20:12:15せっかく教えていただき申し訳ないのですが、
spriteBatchでの表示方法をお教えいただけるとありがたいです。
0844デフォルトの名無しさん
2010/06/16(水) 22:17:30メモリ測定てどうやるの?
0845デフォルトの名無しさん
2010/06/17(木) 10:32:08何がしたいの?
数値を画面上に表示したいってだけ?
0846デフォルトの名無しさん
2010/06/17(木) 11:23:25はい。
あと、できればxの値だけを変える方法も知りたいです。
0847デフォルトの名無しさん
2010/06/17(木) 11:51:49文字はstring.FormatとSpriteBatch.DrawString組み合わせればいい
SpriteFontの扱いはわかるべ?
0848デフォルトの名無しさん
2010/06/17(木) 22:09:10モデルの向きを最初から反対の状態で描画する方法が知りたいです。
知ってる方がいらっしゃったら教えていただけないでしょうか?
お願いします。
0849デフォルトの名無しさん
2010/06/17(木) 22:09:500850デフォルトの名無しさん
2010/06/17(木) 23:16:330851デフォルトの名無しさん
2010/06/18(金) 00:39:280852デフォルトの名無しさん
2010/06/18(金) 00:40:530853デフォルトの名無しさん
2010/06/18(金) 19:42:310854デフォルトの名無しさん
2010/06/18(金) 19:48:230855デフォルトの名無しさん
2010/06/19(土) 00:00:540856デフォルトの名無しさん
2010/06/19(土) 00:03:300857デフォルトの名無しさん
2010/06/19(土) 00:17:25線で構成されたものがみえる。
0858デフォルトの名無しさん
2010/06/19(土) 11:34:390859デフォルトの名無しさん
2010/06/19(土) 12:29:08モデルを用意しておいてもいいけど、プリミティブで描画できるよ
0860デフォルトの名無しさん
2010/06/19(土) 18:21:42"終了しますか?"みたいなメッセージを表示させるには
どこに処理を書けばいいの?
0861デフォルトの名無しさん
2010/06/19(土) 19:09:190862デフォルトの名無しさん
2010/06/19(土) 23:09:30普通にプログラムに書けばいいと思うよ
0863デフォルトの名無しさん
2010/06/20(日) 12:32:26XNAだとどうしたらいいんだろうね。
試しにメッセージフックしたらできたけど、クローズだけでここまでやりたくないなあw
0864デフォルトの名無しさん
2010/06/20(日) 16:37:00それみりゃ多分できるんじゃね。
XNAはWindowsを意識しなくていいようにできてるんだろうから
Windowsのイベント取得とかは普通には用意されてないだろうなぁ。
0865デフォルトの名無しさん
2010/06/21(月) 08:59:35GameメンバのWindow.Handleがフォームのハンドルなので、
例えばGameクラスの実装に
protected override void Initialize()
{
Form f;
f = Form.FromHandle(Window.Handle) as Form;
f.FormClosing += new System.Windows.Forms.FormClosingEventHandler(f_FormClosing);
base.Initialize();
}
void f_FormClosing(object sender, System.Windows.Forms.FormClosingEventArgs e)
{
e.Cancel = true;
}
とすると×ボタンで閉じられないように出来る。
0866デフォルトの名無しさん
2010/06/21(月) 09:02:19この方法だとパブリックメンバ以外には触れないし。
0867デフォルトの名無しさん
2010/07/02(金) 10:10:38- http://bit.ly/drNHby
糞ゲー乱立の予感
0868デフォルトの名無しさん
2010/07/02(金) 10:41:500869デフォルトの名無しさん
2010/07/02(金) 17:54:500870デフォルトの名無しさん
2010/07/03(土) 10:03:430871デフォルトの名無しさん
2010/07/06(火) 22:25:26ゲハが大変なことになってるのはわかるがここにはくんなよ
0872デフォルトの名無しさん
2010/09/17(金) 20:01:10forを使用して繰り返し描画しようとすると、
頂点データを頂点バッファに書き込む所でエラーが出てしまいます。
誰か原因が分かる方がいらっしゃったらお教え願えませんでしょうか?
0873デフォルトの名無しさん
2010/09/17(金) 20:55:510874デフォルトの名無しさん
2010/09/17(金) 21:29:07DrawPrimitives使っといて、もしも後で遅くて問題になったら(ありえないだろうけど)
そのとき考えればいいこと
0875デフォルトの名無しさん
2010/09/17(金) 23:03:26>>872が問題ににしてるのは書き込めないことであって、実装方法なんて聞いてない。
文意すら理解できないおまえのようなヴァカが、PG関係の板に出入りしてるとは驚きだ。
小学校ぐらいからやり直して屍ねよ。
0876デフォルトの名無しさん
2010/09/17(金) 23:12:39C言語の前に日本語勉強して来い屍クン
0877デフォルトの名無しさん
2010/09/17(金) 23:16:580878デフォルトの名無しさん
2010/09/19(日) 17:03:550879デフォルトの名無しさん
2010/09/19(日) 21:31:18BoundingBoxをゲーム中に表示させることはできますでしょうか。
もしくはそれらを表示するのに適した方法がありましたらおねがいします。
0880デフォルトの名無しさん
2010/09/19(日) 21:44:55デバッグ中なんだから速度が多少遅くてもいいし。
0881デフォルトの名無しさん
2010/09/20(月) 10:28:20・512MB GDDR3 RAM
・700MHz DDR
・UMA(統合型メモリー アーキテクチャー)
だそうですが、
xnaから使えるメモリはどの程度ありますか?
公式の文書とかある?
0882デフォルトの名無しさん
2010/09/20(月) 21:23:26プリミティブというのをしらべてみたら
ポリゴンのほうの知識が必要そうですね。
今は敷居がたかそうですがいつか役立てたいです。
■ このスレッドは過去ログ倉庫に格納されています