トップページgamedev
984コメント258KB

【Xbox 360】 XNA Game Studio その10 【C#】

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2009/10/01(木) 09:14:47ID:pBZjJHux
XNA Creators Club Online (日本語)
http://creators.xna.com/ja-JP

XNA デベロッパー センター (日本語 - 「XNA Japan Team Blog」、「ひにけに XNA」ブログもこちら)
http://msdn.microsoft.com/ja-jp/xna/default.aspx

XNA Team Blog (英語)
http://blogs.msdn.com/xna/default.aspx
07897852010/07/26(月) 12:46:34ID:WpGwyppd
>>787そういう意地悪な回答はやめてください><
0790名前は開発中のものです。2010/07/26(月) 12:47:19ID:D0ityX+N
回答ありがとうございます。
>>787
出力ウィンドウ見たら、文字が表示されていました!
こちらへの出力だったんですね。
>>788
てっきり画面のほうに出るのかと思っていました。

これで承継やメソッドが機能しているか確かめるのにつかえます。
>それどこで覚えてきたの?
「ゲーム作りで学ぶVisualC#」「独習C#」という本です。
変数・式・配列・承継・オーバーロードなどなど理解できたかなと
感じてXNAのほうに入ったところです。
0791名前は開発中のものです。2010/07/26(月) 12:52:39ID:4eYzDjpe
XNAはC#が使えるだけで、作法はゲーム製作のそれに通じるものが多いので
言語解説本は捨てるべし
0792名前は開発中のものです。2010/07/26(月) 13:02:30ID:jQ9XJeQI
言語理解してないとサンプル読めないでしょ
XNAのサンプルやオープンソースはOOでないと認めないみたいなノリのやつばっか
0793名前は開発中のものです。2010/07/26(月) 14:16:26ID:D0ityX+N
>>791
C#に関して完全にゼロからなので、そういう本でクラスとかメソッドとか
から覚えないと何もわからないレベルだったので必要でした。

C#から実際のゲーム製作に移るに際して参考になる本などはあるでしょうか?

上で書いた解説書などにもXNAでのゲーム製作の例はあるのですが、一つのクラスに
収まるシンプルゲーム(ブロック崩しなど)で、ステージ構成を持ったゲームや
複数の敵キャラの処理方法などがわかりません。
きっとコンポーネントが実用できればと思うのですが、そういったもののゲームでの
運用を学ぶ良い方法はありますでしょうか。
0794名前は開発中のものです。2010/07/26(月) 17:52:39ID:z3Xa1U1/
お前には無理。
0795名前は開発中のものです。2010/07/26(月) 19:28:29ID:JdQH6uHW
>>793
>C#から実際のゲーム製作に移るに際して参考になる本などはあるでしょうか?
>>373
0796名前は開発中のものです。2010/07/26(月) 21:43:10ID:X3Ed1AoL
がんばれ
0797名前は開発中のものです。2010/07/26(月) 22:23:18ID:z3Xa1U1/
がんばってたらこんな糞みたいな質問しない。
0798名前は開発中のものです。2010/07/27(火) 00:44:32ID:QZn/fdfk
>>793
まずネット上からコントローラーで一枚絵を動かすサンプルを見つけて、中身を理解する。
変数、式、配列まで理解しているなら、あとは条件式とループ命令を覚えれば簡単なゲームは作れるから頑張れ。
0799名前は開発中のものです。2010/07/27(火) 20:23:02ID:3wk/T3Q2
何度も回答(と激励)していただきありがとうございます。
>>795の本ですが、前者は読み終え理解しました。クラスとメソッドの意味から
解説してくれていて、他の初心者本と比べても第一歩に最適でした。

>>798
シンプル(自機を動かして攻撃判定ある弾を撃つ)なゲームを動かせる
ぐらいになりました。ただ、カタチになるゲームにするとなると
Updateメソッドが巨大で雑然としすぎてしまいそうです。

解決のカギはコンポーネントと思うので、コンポーネントを使って
種類の違う敵やステージや弾丸やアイテムを整然と管理できるように
勉強中です。しかし参考書のサンプルは1つのクラス・Updateメソッドで
処理しつくしているものが多いんですね・・・。課題です。
もっと煮詰めて理解をふかめようと思います。
0800名前は開発中のものです。2010/07/28(水) 16:17:56ID:dPdwSEyO
>>799

お、すげーじゃん。
そこまで行ったんなら、あとはひたすら頑張って書くだけ。
ただし、コードがゴチャゴチャにならないよう努力しよう。

Updateが巨大になりすぎるなら、こんもりとある処理を整理して内容ごとに
いくつかのメソッドに分け、Updateはそれらを呼び出すだけにすれば良いよ。
0801名前は開発中のものです。2010/07/28(水) 21:43:02ID:I8ba/k2g
まともな話なら公式フォーラムでやったほうが答えてもらえるのに
0802名前は開発中のものです。2010/07/28(水) 22:22:58ID:GFVAsthH
英語で回答があってもなんだか分からんけどねー
0803名前は開発中のものです。2010/07/28(水) 22:39:53ID:1gCvsPLM
じゃあ日本語がよめるんじゃねーかよ
0804名前は開発中のものです。2010/07/28(水) 22:58:01ID:eyV9KEFF
>>800
ありがとうございます。

コンポーネントばかり考えていましたが、おかげで
GameTimeを使っていない命令をメソッドでUpdateメソッドから分ける
ことができました。(基本を忘れていました)
0805名前は開発中のものです。2010/07/30(金) 01:19:40ID:mR8LyZ8J
ひげねこさん夏休みなのにフォーラムで回答とか仕事しすぎ?
他の社員の方もがんばって下さい
0806名前は開発中のものです。2010/07/30(金) 07:28:32ID:ztJpsLFf
VS2010への対応はまだですか?
0807名前は開発中のものです。2010/07/31(土) 19:21:50ID:NzSzlOCe
やっぱりXNAですら初心者には敷居が高いみたいだな。
フォーラムを見てて思った
0808名前は開発中のものです。2010/07/31(土) 19:51:30ID:bQIQPEc7
公式のフォーラムじゃないところでくだらない質問をバリバリ受け付けるところが無いんだよね
0809名前は開発中のものです。2010/07/31(土) 20:15:46ID:AA/vufAk
えっ、ここがその受け皿じゃないのか
0810名前は開発中のものです。2010/07/31(土) 21:43:25ID:NzSzlOCe
ここで質問するとフルボッコにされそうだわw
0811名前は開発中のものです。2010/08/01(日) 13:07:34ID:Mw5+o/TE
前回、質問に答えていただきありがとうございました。
今あたり判定で行き詰っています。

//ショットの衝突判定
for (int i = 0; i < enemy1s.Count; i++)
{
BoundingBox shotClsn1 = new BoundingBox(
new Vector3(shot1pos[i].X, shot1pos[i].Y, 0),
new Vector3(shot1pos[i].X + 30, shot1pos[i].Y + 30, 0));
}

//敵さんの衝突判定
for (int i = 0; i < enemy1s.Count; i++)
{
BoundingBox enemyClsn1 = new BoundingBox(
new Vector3(enemy1s[i].X, enemy1s[i].Y, 0),
new Vector3(enemy1s[i].X + 30, enemy1s[i].Y + 30, 0));
}

と、このように設定したBoundingBoxですが、for文のブロック外に
BoundingBoxの効力が及びません。
本来なら、上記のようにつけた互いの判定を使って、たとえば
if (shotClsn1.Intersects(enemyClsn1) == true){}
のような条件文で判定を照らし合わせて各種処理をしたいのですが
よい方法はありませんでしょうか?
0812名前は開発中のものです。2010/08/01(日) 13:23:38ID:Lz7ORa8o
== trueなんて書いちゃうレベルで効率的な方法を探り出したらゲーム完成しないだろうな。
まず泥臭いやり方でもゲームを完成させることに集中した方がいいね。
0813名前は開発中のものです。2010/08/01(日) 14:00:47ID:PhpNw+LL
BoundingBox shotClsn1 = new BoundingBox(new Vector3(shot1pos[0].X, shot1pos[0].Y, 0),
                      new Vector3(shot1pos[0].X + 30, shot1pos[0].Y + 30, 0));

BoundingBox shotClsn1 = new BoundingBox(new Vector3(shot1pos[1].X, shot1pos[1].Y, 0),
                      new Vector3(shot1pos[1].X + 30, shot1pos[1].Y + 30, 0));
  ・
  ・
BoundingBox shotClsn1 = new BoundingBox(new Vector3(shot1pos[enemy1s.Count-1].X, shot1pos[enemy1s.Count-1].Y, 0),
                      new Vector3(shot1pos[enemy1s.Count-1].X + 30, shot1pos[enemy1s.Count-1].Y + 30, 0));


shotClsn1には一番最後のデータしか入ってないとか?
でもshotもenemyも1つずつだったらいけるのだろうか…
BoundingBoxの効力が及ばないという意味を詳しく
08148112010/08/01(日) 14:03:32ID:53uAWxuq
>>812コンパイラが最適してくれるからいーんです!!
0815名前は開発中のものです。2010/08/01(日) 14:09:54ID:Xyr32qD3
コンパイラが万能だと思っていた時期が私にもありました
0816名前は開発中のものです。2010/08/01(日) 14:11:42ID:NqTphvUa
>>811
ローカル変数は宣言されたブロック内でしか使えないので、この場合はforブロックの外で変数宣言しないといけない。
あとshotClsn1もenemyClsn1も配列やリストにしないといけないんじゃないかな。
今のままじゃBoundingBoxを1つずつしか保存しておけないし・・・
0817名前は開発中のものです。2010/08/01(日) 14:21:44ID:53uAWxuq
プログラム覚えるなら普通のベーシックが一番だよね
書くところがブロック状に分かれてたり宣言するところとか複雑すぎる
0818名前は開発中のものです。2010/08/01(日) 14:24:16ID:XkPXUg4k
自分が気持ちよくなりたいがためにアホがバカを甘やかすから
バカがこうして付け上がる。
0819名前は開発中のものです。2010/08/01(日) 14:50:24ID:LmMIA1oP
バカはバカなりのことしか為し得ないんだから
そんなのほっといて違うとこいけばいいだけのはなし。
0820名前は開発中のものです。2010/08/01(日) 15:16:51ID:nNreTycZ
2chっていうといちいち無駄に戦闘モードになるヤツいるよな
0821名前は開発中のものです。2010/08/01(日) 15:54:40ID:7OTuBTt2
>>818
反省しました。ごめんなさい。
0822名前は開発中のものです。2010/08/01(日) 16:22:52ID:Mw5+o/TE
回答ありがとうございました。
>>812
効率を目指しているわけではないのですが、他が思いつきませんでした。
泥臭いやり方とは敵ごとにBoundingBoxなしで接近を条件に処理するような
方法でしょうか。
>>813
BoundingBox shotClsn1 = new BoundingBox(
new Vector3(shot1pos[0].X, shot1pos[0].Y, 0),
new Vector3(shot1pos[0].X + 30, shot1pos[0].Y + 30, 0));
BoundingBox shotClsn1 = new BoundingBox(
new Vector3(shot1pos[1].X, shot1pos[1].Y, 0),
new Vector3(shot1pos[1].X + 30, shot1pos[1].Y + 30, 0));
と、過去このようにもやってみたのですが
「shotClsn1はスコープで宣言されています」というように警告が出てしまいました。
>>816の方のおっしゃるように1つしか保存できないという事かもしれません。
(つづく)
0823名前は開発中のものです。2010/08/01(日) 16:29:26ID:PhpNw+LL
あー、すまん
>>813>>811のfor文だとこんな結果になるっていうのを書いただけなんだ
0824名前は開発中のものです。2010/08/01(日) 16:32:42ID:Mw5+o/TE
(続き)
ただ、上で書いたように敵の配列にBoundingBoxを設定したのについて
きちんと働いているようです。

BoundingBox shotClsn1 = new BoundingBox(
new Vector3(shot1pos[0].X, shot1pos[0].Y, 0),
new Vector3(shot1pos[0].X + 30, shot1pos[0].Y + 30, 0));

for (int i = 0; i < enemy1s.Count; i++)
{
  BoundingBox enemyClsn1 = new BoundingBox(
      new Vector3(enemy1s[i].X, enemy1s[i].Y, 0),
new Vector3(enemy1s[i].X + 30, enemy1s[i].Y + 30, 0));

  if (shotClsn1.Intersects(enemyClsn1) == true)
  {
enemy1s.Remove(enemy1s[i]);
  }
}
とやった場合、ショット[0]があたった敵から消えてくれます。
この場合はenemyClsn1は配列にはなっていないのですがそれぞれの
値が保持されているように見えます。
このenemyClsn1もまた、ひとつひとつ設定しようとすると
「既にスコープで宣言されています」とエラーがでてしまうのですが・・・
まだ理解しきれていないので中途半端な返事になってしまい申し訳ありません。
0825名前は開発中のものです。2010/08/01(日) 16:44:12ID:Mw5+o/TE
>>823
そういう意味でしたか。たしかにそのように設定しているのと同じですね。
効力が及ばないというのは、>>816の人のとおり、ブロック内でしか
つかえないという意味でいいました。答え忘れていて申し訳ありません。
0826名前は開発中のものです。2010/08/01(日) 17:17:26ID:PhpNw+LL
BoundingBox[] shotClsn1;
BoundingBox[] enemyClsn1;

for (int i = 0; i < enemy1s.Count; i++)
{
   shotClsn1[i] = new BoundingBox(
   new Vector3(shot1pos[i].X, shot1pos[i].Y, 0),
   new Vector3(shot1pos[i].X + 30, shot1pos[i].Y + 30, 0));

enemyClsn1[i] = new BoundingBox(
new Vector3(enemy1s[i].X, enemy1s[i].Y, 0),
new Vector3(enemy1s[i].X + 30, enemy1s[i].Y + 30, 0));
}
for (int i = 0; i < enemy1s.Count; i++)
{
  for(int j = 0; j < enemy1s.Count; j++)
  {
    if (shotClsn1[j].Intersects(enemyClsn1[i]))
    {
       enemy1s.Remove(enemy1s[i]);
    }
  }
}

こんな感じだろうか
2Dの当たり判定にBoundingBox使った事ないから間違ってるかもしれない
0827名前は開発中のものです。2010/08/01(日) 17:22:18ID:5h5RdW7Z
if (shotClsn1.Intersects(enemyClsn1) == true)
じゃ心配だから
if (((shotClsn1.Intersects(enemyClsn1) == true) == true) == true)
くらいやろうぜ
0828名前は開発中のものです。2010/08/01(日) 17:24:56ID:XUWKzdSJ
>for (int i = 0; i < enemy1s.Count; i++)

>   shotClsn1[i] = new BoundingBox(

>enemyClsn1[i] = new BoundingBox(

なに? この素敵な 変数i w
enemy1s.Countからshot1pos.Countが解るの?
配列初期化時からサイズ指定も無いし
0829名前は開発中のものです。2010/08/01(日) 17:49:44ID:PhpNw+LL
>>828
間違い指摘してくれるなんてお前優しいのな
配列のサイズ指定してないとか自分自身ドン引きだわw

フォーラムでもこんな風におかしいとこバンバン指摘してくれる奴がいれば使いやすいのに
08308112010/08/01(日) 18:08:01ID:Mw5+o/TE
僕が最初の質問のときショットの数は
for (int i = 0; i < 20; i++) にすべきところ間違って
for (int i = 0; i < enemy1s.Count; i++)
としていたのにつられて>>826のかたも書き間違えたかな、と。
08318112010/08/01(日) 19:57:04ID:XkPXUg4k
最近、暑いのでオナニーするときにお尻の割れ目や股ぐらに汗をかいて気持ちが悪いのですが
これをXNAで表現したいです。どうしたらよいでしょうか。
0832名前は開発中のものです。2010/08/01(日) 21:19:00ID:bmJvBBFp
ID:XkPXUg4k キモすぎる
08338112010/08/02(月) 07:17:28ID:PQY34HQy
アナルの匂いをXNAで作りたいのですが、どうしたらいいですか?
とくにfor文の使い方が分かりません。
0834名前は開発中のものです。2010/08/02(月) 07:36:24ID:67fbxq+E
>>824
>この場合はenemyClsn1は配列にはなっていないのですがそれぞれの
>値が保持されているように見えます。
i=1のとき(1ループ目)はenemyClsn1にenemy1s[0]のBoundingBoxが保存されているけど、i=1のとき(2ループ目)はこれは破棄されるよ。
これで問題ないのは同じブロック内でshotClsn1.Intersects(enemyClsn1)を呼び出してるから。
08358112010/08/02(月) 07:58:35ID:PQY34HQy
>>834
ありがとうございました。
08368112010/08/04(水) 06:24:11ID:CKJePkqj
>>834
回答いただいたのに、お礼遅れました。
なるほど、forループの中で
enemy1s[0](敵位置)とshot1posを比較→enemy1s[0]を破棄→
enemy1s[1](二体目の敵位置)とshot1posを比較→enemy1s[1]を破棄→・・・
とやっていっているということですね。
理解できましたし、言われて見直した事でforループの理解が深まりました。
どうもありがとうございました。
08378112010/08/04(水) 13:02:01ID:G3jjVyJA
お礼は次の質問への布石です。
本当は用が済んだ時点で面倒なので御礼なんかしないつもりでした。
でも次の質問ができたのでとりあえず御礼しました。
0838名前は開発中のものです。2010/08/04(水) 13:25:37ID:NnWhPTgG
クソが!
もう答えねえよ!
0839名前は開発中のものです。2010/08/04(水) 14:11:20ID:/ftZ7ia5
次の質問を予測するスレになりました
0840名前は開発中のものです。2010/08/06(金) 21:55:37ID:Rcue8lgD
いや、質問がなくてもガンガン回答を書いてくれていいよ
0841名前は開発中のものです。2010/08/06(金) 22:03:03ID:WFsQpU+h
書店見てきたんだが2.0とかver古いのばかりだったんだけど
ソースとか4.0でもそのまま動くかなー
夏休みなんで勉強しようと思ったんだけど
0842名前は開発中のものです。2010/08/07(土) 00:38:37ID:6poli/44
君の書いたプログラムが動くかのほうが心配だ
0843名前は開発中のものです。2010/08/07(土) 02:32:24ID:uMnBlcZb
>>841
おk。基本がC#なので。
初なら中島省吾著のゲーム作りで学ぶ〜がオヌヌメ。
シルト著の独習C#とあわせて読むといいよ。
>>842
君みたいな僻みクンは1ヶ月たらずで841ら新鋭に
追い抜かされるだろうから心配する必要は何もないよ。
0844名前は開発中のものです。2010/08/07(土) 07:32:03ID:08PO8w0g
>>841
>ソースとか4.0でもそのまま動くかなー
そのままは動かない。
でも4.0の正式リリースを待ってたら夏休みは終わってしまうので3.1で始めればいいよ。
0845名前は開発中のものです。2010/08/07(土) 08:40:30ID:Zsuo8Nwt
>>843
中島乙。
0846名前は開発中のものです。2010/08/07(土) 09:57:25ID:Zsuo8Nwt
つうかよ、そんなレベルの高い新鋭君がいるならお目にかかりたいよ。
なんだよあのインディーゲームの品揃えの惨状。
しかもあれでさえアンケート結果からすると30代やそれなりの経験者だっつうんだから
日本はなんともお寒い状況だよな。
0847名前は開発中のものです。2010/08/07(土) 10:04:36ID:b2X+HOzI
当然何か作品を創った上での発言だよね?w
0848名前は開発中のものです。2010/08/07(土) 10:16:00ID:08PO8w0g
クリエーター調査結果
ttp://creators.xna.com/ja-JP/news/surveyresults2010

30代が67%、プロの開発者が42%か・・・
海外では12%ある17歳以下の開発者が日本では0%って本当なんだろうか?
0849名前は開発中のものです。2010/08/07(土) 10:21:32ID:/b5bdH1z
日本じゃそういう層はツクールとかに行くんじゃねーの?
0850名前は開発中のものです。2010/08/07(土) 10:22:29ID:Zsuo8Nwt
そしてそれがそのまま高齢化して香ばしいサークルメンバー募集とかかけるんだろw
0851名前は開発中のものです。2010/08/07(土) 10:42:12ID:/b5bdH1z
確かに30過ぎていいおっさんのツクラーいるよな。それもクリエイター気取りの
0852名前は開発中のものです。2010/08/07(土) 13:04:37ID:TKF+CVdu
ゲーム作成初心者から質問です
XNAでのプログラムのやりかたについて

オレは、ゲームキャラクタなり、建物なりがオブジェクトに所属していて
オブジェクトのDrawメソッドをたたくと画面に書かれる処理が好みの人間だが
サンプルみてると、そういう具合には書いてないみたいに見えるんだよね。

Game1.Drawが他のオブジェクトを参照して、全部書くみたいな感じ?

オレの好みだと、Game1.Drawで各オブジェクトのDraw叩くだけの処理の方が
スマートにみえるんだが、XNA的にはこっちが主流なんだろうか?
0853名前は開発中のものです。2010/08/07(土) 13:16:37ID:b2X+HOzI
処理と描画が全く同じタイミングならオブジェクト処理のついでに描画バッファへの登録なんだろうけどね。
0854名前は開発中のものです。2010/08/07(土) 13:27:47ID:9tTcozHM
>>851
ギギギ
0855名前は開発中のものです。2010/08/08(日) 16:23:46ID:w/H1Q08Q
>>851
ぐぬぬ
0856名前は開発中のものです。2010/08/08(日) 17:19:06ID:2MK/RFGq
>>851
同人ゲーム制作で最も重要なのは言語やプラットフォームといった技術よりも完成させ発表することだ
0857名前は開発中のものです。2010/08/08(日) 17:31:37ID:GRPAW51L
(キリ
0858名前は開発中のものです。2010/08/08(日) 18:09:50ID:zFKoIKJD
完成させることなんて大前提で当たり前のことだろそんなのwwwww
完成させられない事が当たり前とかそんなレベルのゴミはしゃべるなwwww
0859名前は開発中のものです。2010/08/08(日) 18:11:03ID:zFKoIKJD
ツクールでなきゃ完成させられないゴミが偉そう
マジうけるwwww
0860名前は開発中のものです。2010/08/08(日) 18:43:30ID:zFKoIKJD
普通の目標: 価値のあるゲームを作ること。
ゴミ(なぜか偉そう)の目標: ゲームを完成させること。
0861名前は開発中のものです。2010/08/08(日) 20:26:07ID:cwOGHCO0
実際問題、設定とかクソシナリオ妄想するだけで力尽きるのも結構多いよな
勢いは大事だと思う。
0862名前は開発中のものです。2010/08/08(日) 21:18:55ID:JbWPlsYy
ツクラー語に【エターナる】ってのがあってだな
0863名前は開発中のものです。2010/08/08(日) 21:21:18ID:GpgMtN3v
完成してない物をレビューに出すなと
0864名前は開発中のものです。2010/08/08(日) 23:32:43ID:UUJjxWRO
アクツクでつくろうがXNAのみでやろうが遊ぶ人間には関係ない。
面白いものを作ったときだけ誇っていいぞ。
0865名前は開発中のものです。2010/08/08(日) 23:51:59ID:zFKoIKJD
アクツクで面白いゲームなんて作れるわけ無いじゃん。
アクツクなんか選ぶ時点でそいつのセンスが絶望的。
0866名前は開発中のものです。2010/08/09(月) 01:59:30ID:vhBvnTBj
ビルボードに透過PNGはったら
透過部分と非透過部分の境界に、背景色の輪郭ができた
これ、どうやったら消えるの?

っていうか、おれ悪いことした?
0867名前は開発中のものです。2010/08/09(月) 02:13:28ID:N4dgnjlw
バイリニアフィルタの色漏れ問題じゃない?
読んでないんだが、ひにけにXNAに何か書かれてたような
08688112010/08/09(月) 08:54:48ID:aFKIMxDX
上で質問に答えていただきましたが、経過は順調です。
おかげさまで過去の自分のコードがなぜうまくいかなかったのか
見直してもよくわかるようになりました。

現在、BoundingBoxでの判定ではなく距離でヒット判定をとるようにしました。
08698112010/08/09(月) 11:10:27ID:sxSu8HqC
新たな質問を連発するための地ならしに来ました。
0870名前は開発中のものです。2010/08/09(月) 19:21:55ID:wAtcoGNW
次の質問からは一回200円な
0871名前は開発中のものです。2010/08/09(月) 20:53:50ID:oKAcgcVu
モリタポでおk?
0872名前は開発中のものです。2010/08/09(月) 22:06:23ID:TpX4tgzO
インディーズのゲームを1本買ったら1回答えてやる
0873名前は開発中のものです。2010/08/09(月) 22:14:56ID:aFmaPGKJ
インディーズゲームってXbox持ってないと買えないんだよな?
0874名前は開発中のものです。2010/08/10(火) 07:27:38ID:+X31XwbG
>>873
買うだけならWebから出来るかも
0875名前は開発中のものです。2010/08/10(火) 07:32:18ID:dtw5rmGI
本体との紐付け必要じゃね?
まぁどっちにしてもプレイするのにXBOX必須だけど
0876名前は開発中のものです。2010/08/11(水) 23:01:55ID:qjVVlR3k
VS2008買ったのでざっとサンプルとかひにけに見てみた。
独自のポリゴンデータ使うのにコンテントライターを書かなきゃならん
ってことでいいのかな。
0877名前は開発中のものです。2010/08/12(木) 08:58:16ID:eK2X0t3M
ポリゴンとテクスチャーデータはそれぞれModelContentとTextureContentに合わせてコンテントプロセッサー書けば
コンテントライター・リーダーは必要ないと思われ。
Xnaの内部で扱うフォーマットを根底から覆してもいいこと無いだろうし。
0878名前は開発中のものです。2010/08/13(金) 12:36:05ID:uV4nH7d6
>>877
理解できてきましたよ〜ありがとうございます。

モデル、テクスチャあたりは.FBXや.Xでいいけど、自作ツールで作ったパーティクル制御のような
バイナリデータはXMLにしないといけないようですね。はぁぁ
0879名前は開発中のものです。2010/08/13(金) 18:22:14ID:muUBjgUH
XML任せは読み込み時多少遅いとか書かれてたので、結局ライター・リーダー書いたけどねw
どんだけ差が出るかは試してないけど。
0880名前は開発中のものです。2010/08/23(月) 21:43:02ID:AvAp16No
おい・・・
公式の4.0ダウンロードできないの俺だけか?
0881名前は開発中のものです。2010/08/23(月) 23:44:50ID:b/BzG5+q
>>880
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=c8496c2a-54d9-4b11-9491-a1bfaf32f2e3&displaylang=en
0882名前は開発中のものです。2010/08/24(火) 11:30:50ID:pr+3rQnX
おっといつのまにかベータになってたのか
08838112010/08/26(木) 23:23:28ID:+pKfAKLv
アニメーションをさせるための画像結合で、分割結合「あ」というツールは
シンプルで使いやすいですね。

アニメーションは各々のキャラクターとその状態ごとの変数をUpdateの冒頭で
加算して絵をアニメーションさせることにしました。

Updateで
 if (myStates == 0) { myStateTime0++; }
 if (myStates != 0) { myStateTime0 = 0; }

SpriteBatchのDrawで
 int sp_no = (int)((myStateTime0 / 5) % 7);
 spriteBatch.Draw(myStand, myPos, new Rectangle(sp_no * 100, 0, 100, 100), Color.White);

ちなみにmyStates==0はキー入力のないニュートラル状態で、キー入力時は
myStates==1にして、その状態での時間計測のMyStateTime1を加算させて
各々のアニメーションをさせています。
0884名前は開発中のものです。2010/08/29(日) 01:26:47ID:8DA354R5
カキコ少ないけどまだ規制やってるん?
0885名前は開発中のものです。2010/08/29(日) 02:18:01ID:E2ovMkBi
話題がないし。。。
0886名前は開発中のものです。2010/08/29(日) 02:24:50ID:8DA354R5
お前ら製作はしてないの?
0887名前は開発中のものです。2010/08/29(日) 23:17:12ID:sOVjpcUZ
それはもうすごいよ
0888名前は開発中のものです。2010/08/30(月) 09:24:47ID:xMS8ICS9
FPSゲームを作ってるがカメラ操作まで出来てストップしてる
数学的知識が乏しいから、壁ずりや地形との当たり判定で挫折してるとこ
■ このスレッドは過去ログ倉庫に格納されています