1 名前:デフォルトの名無しさん [2007/09/23(日) 23:43:41 ] Microsoft XNA はマイクロソフトによって提供された、ゲーム開発のためのツールである。 XNA はマネージ実行環境を完備する。 2004 年 3 月 24 日、カリフォルニア州のサンノゼの Game Developers Conference で発表され、 2006 年 12 月 11 日にリリースされた。 XNA は「 XNA's Not Acronymed」 ( XNA は頭字語ではない)の頭字語である。 XNA デベロッパーセンター www.microsoft.com/japan/msdn/xna/ xna スタジオ xna-studio.jp/ XNA Game Studioメモ www.saturn.dti.ne.jp/~npaka/xna/ ということで立ててみた。
702 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 21:51:23 ] そんなもんC++とDirectXでも同じ
703 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 08:54:24 ] それが二倍になる
704 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 10:21:45 ] 開発時は強く依存するけど実行はそうでもなかったような まあインストーラが何とかしてくれりゃいいな
705 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 19:11:56 ] 結局、>>686 は解決したの?
706 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 13:24:11 ] VC#2008ランタイム
707 名前:デフォルトの名無しさん [2009/11/28(土) 13:57:05 ] XBOX360実機でXNAのプログラムを動かした時、 Console.WriteLine()の値を取得することって出来ないのでしょうか? WindowsではVisualStudioのデバッグ出力ウィンドウに表示されるのですが……。
708 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 14:02:23 ] 公式フォーラムで質問しろよ
709 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 14:15:08 ] >>708 すまそ 逝ってきます
710 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 14:23:31 ] >>707 自己レス。 公式フォーラムで検索したら手がかりが出てきた。 ConsoleクラスじゃなくてTraceクラスを使うのか。 実機でもトレースログが出てきたのを確認できた。
711 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 21:41:02 ] つかWindowsアプリでもConsoleでログ吐くのは良くない
712 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 05:20:33 ] >>686 パスの設定でも間違えてるんじゃない?
713 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 15:07:22 ] カスタムエフェクトでスプライトをびょうがしてるんだが、 テクニックの変更が何故か出来ない 何が間違ってるんだろう・・・ こんな感じでやってるんだけど・・・ spriteBatch.Begin(SpriteBlendMode.AlphaBlend, SpriteSortMode.Immediate, SaveStateMode.None); effect.CurrentTechnique = effect.Techniques["hoge"]; effect.Begin(); effect.CurrentTechnique.Passes[0].Begin(); spriteBatch.Draw(hogeTexture, hogePosition, Color.White); effect.CurrentTechnique.Passes[0].End(); effect.End(); effect.CurrentTechnique = effect.Techniques["foo"]; effect.Begin(); effect.CurrentTechnique.Passes[0].Begin(); spriteBatch.Draw(fooTexture, fooPosition, Color.White); effect.CurrentTechnique.Passes[0].End(); effect.End(); spriteBatch.End();
714 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 12:41:24 ] 一瞬CommitChangesの話かと思ったが途中で変えるわけではないのね
715 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 05:43:06 ] CommitChanges 使ってみましたが出来ませんでした。 effect.Begin() と effect.End() の途中で変更するときに CommitChanges は使うようなので(違うのかな?) 真ん中の End() と Begin()を消して、CommitChanges を使ってみましたが、やはり出来ませんでした。 何か設定しないといけない部分でもあるのでしょうか?
716 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 07:47:43 ] 解決法だけは知ってるけど 俺もなぜそうなるのか理由を知りたい&情報は共有できたほうがいいから、 公式のフォーラムで聞いてくれ。 ひげねこが理由付きで教えてくれるはずだ。 こんなところで聞くより早いぞ。
717 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 10:09:51 ] このスレには情報共有する価値はないって事ですね、わかります。
718 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 12:07:55 ] 過去ログ行きしたら見られないからな
719 名前:>>713>>715 mailto:sage [2010/02/28(日) 19:14:07 ] すいません。しばらく別のことをやっていて、気づきませんでした。 ついさっき質問してきました。
720 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 21:07:12 ] spriteBatchはバッチつうくらいだから ”同種のスプライト”をspriteBatch.End()のとこで”一気描画”するもんだと想像してる。 だからテクニックとかパスとかでスプライトの性質を変えるたびに spriteBatch.Begin-Endで囲ってやらなきゃいけないもんであると、 そういうもんなのだと、俺は無理やり思い込むことにしている。 にしても、ひげねこも回答くれなくなってしまったな。 ブログも全然更新してないし。 なんかもうサポート体制ダメすぎだな。
721 名前:>>719 mailto:sage [2010/03/04(木) 22:42:30 ] なるほど。とりあえず、 エフェクトの変更時は spriteBatch.Begin() - End() で囲んであげた方がよさそうですね ちょっと実験してみて、Effect の動作が少々分かったので書いておきます。(役に立てれば、と) spriteBatch.Begin() - End() で囲った中で、 エフェクトの変更を行い描画を行うと、 1 回前に描画したテクスチャの描画方法も 変更後のエフェクトで描画されるようです。 ただし、連続して同じテクスチャを描画する場合は、 それらをひとまとまりのグループとしてみる必要があります。 ( ただし、 SpriteSortMode.Immediate の時のみ。 ) ( 他は全て BasicEffect によって描画されてる気がした。) サンプルコードは書くととても長くなるので、 簡単な記述で例(実験結果)を示します。 その前に書いておきますが、CommitChanges() は 使ってもまったく効果がありませんでした。 また、以下の例では全て technique の変更についてのみ 書いてありますが、 pass の変更も同様の動作をします。 ( pass の実験はちょっとしかやってないから、 ) ( 自身はあまりありませんが... ) また、 spriteBatch.Begin(SpriteBlendMode.AlphaBlend, SpriteSortMode.Immediate, SaveStateMode.None); と spriteBatch.End() で囲っていると、脳内補完してください
722 名前:>>719 続き mailto:sage [2010/03/04(木) 22:43:31 ] 以下、例(実験結果) ----------------------------------------------- @ technique1 で texture1 を描画しようとする A technique2 で texture2 を描画しようとする B technique3 で texture3 を描画しようとする C technique4 で texture4 を描画しようとする ----------------------------------------------- @は 1 つ後ろのAの影響を受け、 Aの描画方法である technique2 で描画されます。 Aも同様にBの technique3 で描画され、 Bも同様にCの technique4 で描画され、 Cは 1 つ後ろに何も描画命令が無いため、 普通に、自身の technique4 で描画されます。 ----------------------------------------------- @ technique1 で texture1 を描画しようとする A technique2 で texture1 を描画しようとする B technique3 で texture1 を描画しようとする C technique4 で texture1 を描画しようとする ----------------------------------------------- @ABCは全て texture1 を描画しようとしている為、 これらを 1 つのグループとして扱います。 この場合は、1 番最後の描画方法である technique4 で このグループは描画されます。
723 名前:>>719 続きの続き mailto:sage [2010/03/04(木) 22:44:48 ] ----------------------------------------------- @ technique1 で texture1 を描画しようとする A technique2 で texture1 を描画しようとする B technique3 で texture1 を描画しようとする C technique4 で texture1 を描画しようとする D technique5 で texture2 を描画しようとする ----------------------------------------------- @ABCは全て texture1 を連続で描画しようとしている為、 これらを 1 つのグループとして扱います。 しかし、このグループは、次の描画命令Dの影響を受け、 technique5 で描画されます。 D は普通に technique5 で描画されます
724 名前:>>719 続きの続きの続き mailto:sage [2010/03/04(木) 22:45:30 ] ----------------------------------------------- @ technique1 で texture1 を描画しようとする A technique2 で texture1 を描画しようとする B technique3 で texture2 を描画しようとする C technique4 で texture1 を描画しようとする D technique5 で texture1 を描画しようとする E technique6 で texture3 を描画しようとする ----------------------------------------------- @Aは連続で texture1 を描画しようとする為、 形式上、これをグループA として扱います。 グループA は 1 つ後ろの描画方法である technique3 で 描画されます。 Bは 1 つ後ろの描画方法である technique4 で描画されます。 CDは連続で texture1 を描画しようとする為、 形式上、これをグループB として扱います。 グループB は 1 つ後ろの描画方法である technique6 で 描画されます。 Eは普通に technique6 で描画されるようです。 ( グループA とグループBは、間にtexture2(B)の描画命令が ) ( 入っているので、別物として扱います。 ) 以上が実験結果です。動作原因なんかは当然分かりません。
725 名前:>>719 mailto:sage [2010/03/04(木) 22:46:24 ] 解決策を考えてみました @全ての描画命令を spriteBatch.Begin()-End()で囲ってやる A連続しないテクスチャ描画の場合は 1 つだけ描画方法 をずらして描画する (最後の描画方法は、画面外にテクスチャを描画することで解決) B1 つテクスチャを描画するごとに、同じ描画方法でもう一度 画面外に別のテクスチャを描画する。
726 名前:>>719 [2010/03/04(木) 22:58:19 ] @は 1 番簡単な方法です。が、グラボを効果的に使用できない可能性が あります。 ( グラボは描画自体は速いが、描画の準備にかかる時間がとても長い ) ( らしいので ) Aは全ての状況には対応出来ない上、苦労に伴わない。 (if文などで描画命令を制御する時なんかはとてもしんどいと思う。) Bの方法は、画面外へ描画したテクスチャが、1 つ後ろの描画方法の 影響を受けても、見えないので問題はない。しかし、画面外に描画す るテクスチャは、そのゲーム中では使わないものを使う必要があります。 ( 連続で同じテクスチャの描画を行う時は、3 番目の例から分かるように ) ( グループ化されてしまう為、グループごと描画方法が変わってしまう ) ただし、描画枚数が 2 倍になるため、速度がどうなるかはわかりません。 他に方法があれば、教えてください。 と、いうよりここまで書いておいて、もし根本的に違うなら 教えてください orz
727 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 07:03:38 ] う〜ん、バグとしか思えない。
728 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 11:25:56 ] スプライトにエフェクトを適用するとき、 BeginとEndの中に入れる必要すらないことに気づいた。 とりあえず、異なるスプライトにそれぞれエフェクトのパスを適用するには、 ↓みたいにやればできた。 spriteBatch.Begin(SpriteBlendMode.AlphaBlend, SpriteSortMode.Immediate, SaveStateMode.None); effect.Begin(); spriteBatch.Draw(texture1, position1, Color.White); effect.CurrentTechnique.Passes["Pass1"].Begin(); effect.CurrentTechnique.Passes["Pass1"].End(); spriteBatch.Draw(texture2, position2, Color.White); effect.CurrentTechnique.Passes["Pass2"].Begin(); effect.CurrentTechnique.Passes["Pass2"].End(); spriteBatch.Draw(texture3, position3, Color.White); effect.CurrentTechnique.Passes["Pass3"].Begin(); effect.CurrentTechnique.Passes["Pass3"].End(); effect.End(); spriteBatch.End();
729 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 13:09:18 ] Vector2.ZeroをノーマライズしたらNaNになるの初めて知った…… /(^0^)\なんてこった
730 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 00:58:55 ] まあ、.NET の float, double の 0/0 は NaN だからねぇ。
731 名前:デフォルトの名無しさん [2010/03/22(月) 22:26:03 ] XNA4.0出るね。 バグを早くなおしてほしいな。
732 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 22:46:32 ] 久々に見にきたらまだpart1でわろた
733 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 22:59:22 ] お前らのようなヘタレどもと会話するネタもないし。 質問があれば公式でするし。
734 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:02:50 ] かっこいいすね先輩
735 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:03:33 ] まぁな
736 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 02:55:03 ] XNAクリエーターズクラブオンラインに入る時に入力するクリエーターの名称=360で表示される開発元の名前なのでしょうか? そうだとするとうっかり普段のHNとかを入力すると変更不能で後で酷い事に・・・
737 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 16:09:16 ] そうだな
738 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 16:55:26 ] 普段のHNが「うんこちんちんまん」とか?
739 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 18:20:35 ] アイマスやりすぎてるとかばれると恥ずかしい
740 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 21:22:04 ] 動画再生なんだけどみんな問題なく動く? 再生途中でフリーズするんだけど。 フリーズ場所はランダム。 やっぱりエンコードの設定が悪いのかなぁー
741 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 11:29:59 ] >>739 今はアイマスより恥ずかしいのがたくさんあるから安心しようw
742 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 11:30:43 ] >>740 メモリ足りなくなってない?
743 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 17:30:58 ] ACLがうまくいかない チュートリアルに従っても キーが見つかりません、って
744 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 22:24:33 ] 解決したと思ったのに 今度は予期しないエラーで落ちた どうしてかなぁ
745 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 15:42:45 ] まあ不安定なのはまずメモリから
746 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 01:54:45 ] 744解決
747 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 21:05:56 ] 2Dのゲーム作ってるのですが、ディスプレイによって フルスクリーン時に右端が切れることがあるみたいなのですが、 映画みたいな上下に黒い枠をつけてサイズをあわせることってできませんか?
748 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 21:40:21 ] つければいいじゃない
749 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 15:37:50 ] SpriteBatch.BeginのパラメタとDrawableGameComponent組み合わせれば できないこともないが、縮小入っちゃうよ
750 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 21:11:56 ] XNA4.0では、上で語られてたSpriteBatchの問題解決したっぽいね。
751 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 23:44:35 ] 何か問題あったの?
752 名前:デフォルトの名無しさん mailto:sage [2010/04/27(火) 00:19:24 ] >>750 なんと!! くわしく頼む。
753 名前:750 mailto:sage [2010/05/02(日) 04:30:42 ] SpriteBatchの問題て、>>721-726 で書かれていた件ね。 もともと、ひげねこのブログにXNA4.0について以下のように書いてあったんだ。 >以前はSpriteSortMode.Immediateを指定してもテクスチャが同じ場合はSpriteBatch.End >メソッドが呼ばれたときにまとめて描画するようになっていましたが、4.0ではSpriteB >atch.Being/End間でEffectのパラメーターを変更しながら描画するというシナリオに対 >応する為にSpriteSortMode.Immediateを指定した場合はDrawを呼ぶごとに実際に描画 >するようになりました。 んで、確認してみた。
754 名前:750 mailto:sage [2010/05/02(日) 04:36:23 ] 結果。 @Effectが一個ずれて適用される。 →EffectのBegin()-End()がなくなり、Apply()を使用するようになりずれなくなってた。 →CommitChangesも不要。 A同じテクスチャを連続して描画すると、最後のEffectが全部に適用されてしまう →個別にちゃんと適用されるようになってた。 って感じだった。 XNA Game Studio 4.0 CTPで確認。 いじょー、ねよっと
755 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 09:25:35 ] 確認超おつ!!
756 名前:>>719 mailto:sage [2010/05/02(日) 14:51:03 ] うぉぉぉぉぉぉぉぉっおっおっお これでめんどくさいメソッド作ったりダミー作らなくてもすむわけだな。 確認ありがとう
757 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 01:26:54 ] しつもん ノベルゲーム作ってて、 文字列を都度読み込みDrawString()で描画してます で、画面右端にいったら、自動で改行するようにしたいんだけど、どうやればいいかわかりませんでしょうか プロポーショナルフォント使うつもりなので、文字幅が一定じゃないです… スプライトフォントの文字幅を取得する事ってできないですかね
758 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 09:44:13 ] 文字の幅を返してくれるAPIがあったとおもう。 で、一文字ずつ計測して表示限界まで達したら折り返し処理を自前で実装。 まあ大体自動で折り返しとかやってないよ。 X文字までとか言う制限をチェックするツールを作って、 それにとおして検出された行を手直し。 自動で折り返しとかするとゲームのメッセージウィンドウで 読みにくかったりするからね。
759 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 09:45:03 ] SpriteFont f f.MeasureString(s)
760 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 00:20:57 ] >>758-759 できましたー、ありがとうございます >まあ大体自動で折り返しとかやってないよ。 ふむー、そうなんですか・・・ とりあえず、自分の思うようにつくってみて、 不自然なら、やり方を変えてみます 助かりましたー
761 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 22:43:38 ] C#とXNA初めて一週間の初心者です。 モデルのテクスチャー自身の中身を書き換えたいので、 GraphicsDevice.SetRenderTarget関数を使って、矛先をテクスチャー素材に向けて、spriteBatch.Drawをやろうとしたんですが、 サーフェースの型が合わないと怒られてしまいます。 基本部分は3Dなので深度込みのサーフェースで、矛先がテクスチャーはRGB24ビットと違う型なので エラーの言いたい事は分かるのですが、グラフィックデバイスとシェーダー(BasicEffect)の相関関係が理解できていないので、 対処法が分かりません。 グラフィックデバイスのインスタンスってやはり一個に限定されたりするんでしょうか。 ど〜かアドバイスをお願い致します。 orz
762 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 23:42:45 ] ど〜か orz がむかつくので教えない。
763 名前:761 mailto:sage [2010/05/08(土) 06:26:11 ] 自己解決 作ったサーフェースがデカかっただけのエラーでした。 512*512なら通るのに1024*1024だとエラーになるのねw
764 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 06:51:28 ] 教えないでよかった。 なんかこいつ生理的にムカつく。
765 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 08:54:21 ] すごい・・・ よくクズだと見抜いたな
766 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 09:30:17 ] 俺のクズセンサーは感度高いからな。
767 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 10:06:56 ] クズはクズ感度高いからね
768 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 11:19:01 ] XNAでLua使える? 360でも動く?
769 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 12:12:40 ] どうしても使いたかったらJavaで実装されてるやつを移植するのが一番手っ取り早い でもIronRubyがWP7に対応してるらしいから360でも動くんじゃないかな
770 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 13:22:50 ] Lua.NET か IronLua ってなかったっけ?
771 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 13:34:17 ] pure.NETな実装で使い物になるレベルのものはないよ LuaInterfaceはまともだけどネイティブのLuaのラッパーだから360では使えない IronLuaはどっちみち使えないけどIron〜系はLCG使ってるから 基本的にcompact frameworkでは動かない WP7版のIronRubyはCFで動くようにLCG削ってインタプリタモードだけにしてある
772 名前:デフォルトの名無しさん [2010/05/17(月) 23:39:02 ] xna入れたいけど、visual studio 2010しかもうダウンロード出来なくて詰んだw
773 名前:デフォルトの名無しさん mailto:sage [2010/05/18(火) 02:26:14 ] >>772 2008EEのsp1が本体含んでるよ まだ落とせる
774 名前:デフォルトの名無しさん mailto:sage [2010/05/18(火) 04:11:28 ] >>772 XNAなんかで遠回りするのはやめておけ 必ず後悔するぞw
775 名前:デフォルトの名無しさん [2010/05/18(火) 08:43:54 ] >>774 360でゲーム作るならXNA使うしかないじゃん
776 名前:デフォルトの名無しさん mailto:sage [2010/05/18(火) 22:38:49 ] インディーズのみならな
777 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 22:01:55 ] Windowsでゲーム作る場合、なにで作れば後悔しないんだ? C#使ってると、いまさらC++には戻りたくないんだが・・・
778 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 23:12:36 ] アクツク
779 名前:デフォルトの名無しさん mailto:sage [2010/05/22(土) 20:04:21 ] 2DならSilverlightで十分じゃね .NET系の中では最も配布が簡単
780 名前:デフォルトの名無しさん [2010/05/23(日) 14:54:35 ] モデルってX、Y、Z軸の3つを回転軸にした回転しかできないのでしょうか?
781 名前:デフォルトの名無しさん mailto:sage [2010/05/23(日) 15:04:10 ] それ以外って例えば?
782 名前:デフォルトの名無しさん mailto:sage [2010/05/23(日) 15:07:24 ] 任意軸回転でしょ
783 名前:デフォルトの名無しさん [2010/05/23(日) 15:47:24 ] >>782 もしかしてCreateFromAxisAngleのことですか?
784 名前:デフォルトの名無しさん mailto:sage [2010/05/23(日) 19:15:36 ] まあな
785 名前:デフォルトの名無しさん [2010/05/24(月) 10:43:07 ] Matrix.CreateFromAxisAngle(new Vector3(1, 0, -1), MathHelper.ToRadians(this.degree)); これで回転させているのですが、回転させたときにモデルが横に引き伸ばされてしまいます。 どなたか原因が分かる方はいらっしゃいますでしょうか? もしいるのであれば原因と解決法をお教えいただけないでしょうか? お願いします。
786 名前:デフォルトの名無しさん mailto:sage [2010/05/24(月) 13:27:03 ] Vector3を正規化したらだめかな
787 名前:デフォルトの名無しさん [2010/05/24(月) 13:50:33 ] >>786 ありがとうごさいます。解決しました。
788 名前:デフォルトの名無しさん [2010/05/24(月) 23:27:58 ] ドラッグでモデルを回転させるにはどのようにしたらよいのでしょうか? どなたか教えてください、お願いします。
789 名前:デフォルトの名無しさん mailto:sage [2010/05/24(月) 23:34:51 ] なんの薬?
790 名前:デフォルトの名無しさん mailto:sage [2010/05/24(月) 23:43:11 ] XNAにドラッグなんていう概念はない if (現在のフレームでマウスボタンが押されている) { if (!A) { A = true; B = 現在のマウス座標; } else { var d = 現在のマウス座標 - B; dに応じてモデル回転; B = 現在のマウス座標; } } else { A = false;
791 名前:デフォルトの名無しさん [2010/05/25(火) 00:03:38 ] >>790 ありがとうございました!
792 名前:デフォルトの名無しさん mailto:sage [2010/05/26(水) 03:18:07 ] まあな
793 名前:デフォルトの名無しさん [2010/05/26(水) 22:17:24 ] ttp://blogs.msdn.com/b/ito/archive/2009/06/15/automatic-xnb-serialization.aspx 上記のひにけにさんのサイトにある自動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]] が見つかりません。 どなたかエラー原因がわかる方がいませんでしょうか? よろしくお願いします
794 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 02:00:48 ] まあな
795 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 10:53:29 ] それ難しいところは無いと思うけど。 話がよくわからないけど、こっちで再現できるだけの材料ある?
796 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 10:55:18 ] あ、あと下のコメントは見た?
797 名前:デフォルトの名無しさん [2010/05/27(木) 19:06:18 ] 再現に必要な材料は新規プロジェクトと↑のURLのcats.xmlだけです まだXNA初めて4ヶ月ぐらいなので、もしかしたら根本的な部分が間違っている のかもしれません・・・。 下のコメントは読みましたが、すでに本文の方も修正されているみたいです
798 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 11:23:08 ] ちょっと休みでスレ見てなかったよ。 これ、3.1の新機能なんだけどバージョンは3.1になってる?
799 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 11:33:15 ] って3.0だとビルド時に失敗するな・・・ プロジェクト新規作成 WindowsGame1 プロジェクト新規追加 MyDataTypes MyDataTypesプロジェクトにNekoクラス作成 WindowsGame1プロジェクトの参照設定、本体、Contentの両方にMyDataTypes追加 WindowsGame1プロジェクトにContent追加XMLファイルでcats.xml WindowsGame1プロジェクトでContent.Load<Neko[]>("cats")追加 これだけだったよ、実行時もエラー出ない。
800 名前:デフォルトの名無しさん [2010/05/30(日) 21:25:12 ] モデルの回転についてお聞きしたいことがあります。 Y軸を回転軸に180°回転させた後、 X軸やZ軸を回転軸に回転させると、自分から見て回転する方向が反対になってしまいます。 このような現象を解消し、自分から見て常に同じ方向に回転させるにはどのようにしたらよろしいでしょうか? もし解る方がいらっしゃるのでしたらお教え願いませんでしょうか? お願いします。
801 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 21:58:20 ] >>800 そりゃ、回転軸も180度回転させるしか。
802 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 22:54:40 ] >>800 オイラー角で姿勢を保持するのをやめる。