【初心者】スレを立てる前にココで質問を【Part17】at GAMEDEV
【初心者】スレを立てる前にココで質問を【Part17】 - 暇つぶし2ch19:名前は開発中のものです。
08/05/12 04:58:35 jcyFtCNB
希望にがっつり合うようなサイトに心当たりは無いけれども
パラパラ漫画的な物ならGIFアニメの解説サイトとか参考に
絵描いて、後はフリーの画像結合ツールで画像並べれば作れるのでは

20:名前は開発中のものです。
08/05/12 12:25:29 19Tx/8kq
C++DXライブラリと、HSPみたいなスクリプト言語って
どんな風に使い勝手が違うの?

Nscripterを使い倒して機能に不満が出てきたので、
C++を勉強しようかと思ってるんだけど、HSPも評判いいみたいなので。

21:名前は開発中のものです。
08/05/12 12:56:02 IO1q9XZt
そもそも同列で比較するという行為自体に
違和感を覚えるくらいの違い

22:名前は開発中のものです。
08/05/12 13:03:59 A6+YoAjl
無理やり使い勝手を比較するなら
C++は一応オブジェクト指向、HSPは手続き型のはず。

データ構造や設計を理解するとかプログラミングが好きならC++、
あくまでゲーム製作が好きならHSPとか?
Nscripterのどこに不満があるかわからないから適当だが。

23:名前は開発中のものです。
08/05/12 13:05:05 rbWTz6EM
Nscripterから移行するんならHSPの方が取っ付き易いかも。

24:名前は開発中のものです。
08/05/12 13:13:29 APepjHTz
まともにC++やろうと思ったらかなりがんばらないと挫折する
HSPは入門用に紹介されることが多いことからも分かるようにC++に比べたら楽に習得できる。その代わりやれることに限界がある

25:名前は開発中のものです。
08/05/12 13:16:25 19Tx/8kq
>>21-24
ありがとう。色々とやってみたいことがあるので、
とりあえずc++を頑張って勉強してみます。

26:名前は開発中のものです。
08/05/12 14:50:25 IVpFkmHL
ゲーム作るなら吉里吉里あたりにしとけ

27:名前は開発中のものです。
08/05/12 16:21:46 /kMKyBV2
HSPが侮られてると聞いてかっ飛んできました

>>24
E3Dを使えば無限の可能性が開けます!
飲尿信者なめんなよ

28:名前は開発中のものです。
08/05/12 17:05:34 b/Jc/NV+
誰も3Dの話しなんかしてないと思うが

29:名前は開発中のものです。
08/05/12 18:01:42 19Tx/8kq
c++専門スレがない・・・

30:名前は開発中のものです。
08/05/12 19:40:20 APepjHTz
DXライブラリ スレじゃないが
スレリンク(tech板)l50

31:名前は開発中のものです。
08/05/12 19:44:57 5+u4u5ld
というかCやるまえにC++でおかしくないか?
Cの拡張版がC++ってイメージなんだけど
C++のスレはプログラム板にあるよ

32:名前は開発中のものです。
08/05/12 19:48:42 IO1q9XZt
別におかしくない

33:名前は開発中のものです。
08/05/12 19:54:42 APepjHTz
C++はCのスーパーセットだから
C++を勉強する=CとC++を勉強する
ってとらえればOK
いきなりクラスやテンプレートからやらないだろうし

34:名前は開発中のものです。
08/05/12 20:14:01 2qDM2TbO
>>19
ありがとうございます

35:名前は開発中のものです。
08/05/12 20:21:44 19Tx/8kq
>>30-33
ありがとう。
初心者向けの解説サイト見てみたけど思っていたよりは簡単そう。
クラスよりもポインタ変数がややこしそうではあるけど・・・使わなければいっか。


36:名前は開発中のものです。
08/05/12 22:06:24 IO1q9XZt
>クラスよりもポインタ変数がややこしそうではあるけど・・・使わなければいっか。
クラスとは違って、ポインタはいつか使わなければいけない場面に必ず遭遇するぞ。

37:名前は開発中のものです。
08/05/12 23:12:49 Piz+VUpK
んだな、つかわないとクラス使う意味も半減するし

38:名前は開発中のものです。
08/05/13 00:41:55 ww5Fq5zr
設計スレが埋まってもう何日か経つが、徘徊先が無くなって新スレが立たないのは案外さびしいものなんだな

39:名前は開発中のものです。
08/05/13 03:06:36 CkvIRLqT
そういや、設計スレもここの前スレも荒っぽい流れで一気に埋まっちゃったねぇ
次スレどうするか的な余裕のある終わり方がいいなぁ

40:名前は開発中のものです。
08/05/13 04:13:39 C9/LRw/O
>>38
ゲームにおけるデータ構造・クラス設計・パターン スレのことだろうか?
今2スレ目を立てようとしたんだが立てられなかった。
ちなみに、タイトルがやたら長いので、直後に2をくっつけるくらいしかできない。
まさか2スレ目まで到達するとは思わんかったから盲点だった。

41:名前は開発中のものです。
08/05/13 10:02:36 YdFDH72t
上の方でポインタとかクラスの話題があったので便乗なんですが
ゲーム制作においてポインタやクラスの使い方がいまいちよく解りません
たとえばスーパーマリオやドラクエといったゲームをC++で作るなら
どんなシーンどんな機能でポインタ、クラスを有効に使うべきなんでしょうか?

42:名前は開発中のものです。
08/05/13 10:39:00 Y6WA9Bnb
ポインタとかクラスのある言語で開発してれば、ポインタとかクラスなんてものは
「どこで」と問うまでもなく使うものだと思うと思うわけだが。

43:名前は開発中のものです。
08/05/13 10:45:12 GHV14UvK
>>41
ポインタもクラスもどういうものか理解していないようなので、きちんと勉強しませう
初めから説明するとここで講座開くようなものになってしまう

44:名前は開発中のものです。
08/05/13 10:48:20 C9/LRw/O
>どんなシーンどんな機能でポインタ、クラスを有効に使うべきなんでしょうか?
オブジェクト指向がよくわからないから
クラスをうまく設計できない、というのならまだわかるが、
どこでポインタを有効に使うべきか?などという質問をしている時点で
ポインタに関してほとんど理解できていないんじゃないかと思う。

45:名前は開発中のものです。
08/05/13 13:13:42 +1nwYs62
自分が必要だと思ったときに使えばいいよ

46:名前は開発中のものです。
08/05/13 13:17:39 +1nwYs62
ちなみに僕なら自機クラスとか敵クラス作るよ(マリオ)
というかStateクラスつくって管理すると思うし、ほとんど全てクラスで作る

47:名前は開発中のものです。
08/05/13 13:27:15 XRCAKSvx
ポインタは?

48:名前は開発中のものです。
08/05/13 13:39:46 +1nwYs62
ポインタは・・・色々なときに使うとしか言えない
ポインタのことを詳しく書いてる本やサイトを読んでみると違うと思う

49:名前は開発中のものです。
08/05/13 13:51:42 ieJZKF7i
ポインタを使わずに済むというのならそれに越したことはないと思う
様々なバグの元凶だし

50:名前は開発中のものです。
08/05/13 13:55:49 W+YhV3a4
ふむぅ・・フルボッコで気の毒なので、>>20の人にもあわせて少し説明するとね

ゲーム向けスクリプト言語とか、HSPなどのBASIC系ゲーム開発言語とかってのは
ゲームのそれぞれのシーンに必要な機能を持った命令群をまず用意して、それらを
うまくつなぎあわせて完成形に仕上げるために必要な制御構造を取り入れた感じ。
たとえばスプライトを動かすとか、画像を読み込んで画面表示するとか、
フォントと表示位置と色を指定して文字列を表示するとか・・
だから、「こういうことがやりたい」→「実現する命令を探してきて使う」という
自然な発想でどんどん進めるね

これに対して、CとかC++のような言語はいわゆる汎用言語と呼ばれていて、言語だけでは
ゲームに必要な機能は何も持っていない。標準ライブラリとかSTLというものが
付属で用意されてるけど、それらもごく低レベルな入出力と、プログラムが
書きやすくなるような仕掛けを用意してくれるに過ぎない。
それ以上のことがしたければ、システムコールやAPIを介してOSの機能を利用したり、
DirectXなどのライブラリを利用することで初めてまともにゲームが作れる環境になる。
そのかわり・・言語自体はコンパイルされて直接機械語に落ちるので、腕と知識があれば
なんでもできるね。極端なことを言えば、WindowsやLinuxなどのOSも、大部分はC/C++で書かれている。
逆にゲーム向け言語ではもちろんゲームは簡単に作れるけど、すでに用意されている以上のことを
やりたくなったときには機能追加・拡張は難しい。そういうときは開発者に要望を出すか、
自力でなんとかしたければ汎用言語の力を借りてDLLやプラグインを作ったりすることになる。

クラスとかポインタとかってのは言語そのものの機能であって、それ自体でなにか
目に見える役に立つことをするわけじゃない。
大工さんの金槌やのこぎり、コックさんの鍋釜や包丁に相当する道具だ。
「角切りの人参とじゃがいもを柔らかくなるまでゆでて、下ごしらえした鶏肉を入れてじっくり煮込む」
という説明に、鍋釜や包丁の使い方は出てこないよね。それと同じで、なにをするにしても
それが自由に使えることが前提の機能であって、逆にそれを使いさえすればすごいことができる、という
性質のものではない。

51:名前は開発中のものです。
08/05/13 14:05:16 M+6BW7uu
まあポインタくらいは当たり前に使えたいよな
ポインタのバグならまだデバッガですぐ見つかること多いし
マルチスレッドのバグの凶悪さに比べれば。。。

52:名前は開発中のものです。
08/05/13 14:13:35 Y6WA9Bnb
以下C言語で普通なアドレスを生で扱うポインタか、Javaのオブジェクト型の変数のような
抽象化されてるほうがいいかの議論が5レスほど続き、さらにC++の参照の話まで混入して
てんやわんやになる展開は嫌だw

というか>>20の人にはゲームを作るという目的があるなら吉里吉里を勧める。
いきなりC++を基礎から始めたらゲームにたどり着く前に沈没するぞまず確実に。

53:名前は開発中のものです。
08/05/13 15:37:35 CkvIRLqT
>>47
メモリ領域の確保
関数の引数戻り値
状態遷移
foreach
配列で出来ることすべて
こんなの使ったり使えたりすると思う。

>>52
ひとつのスクリプト言語を使い倒したって人が
さすがにゲームにたどり着く前に沈没するってことも無いと思うけど・・・
Nscripterってそんなにちゃっちいもんなの?

54:名前は開発中のものです。
08/05/13 15:46:16 M+6BW7uu
というか、>>20が言ってるいろいろやりたい事がどんなことなのか分からない以上、どれを薦めるかなんて決めようがないと思うが
やりたいことが出来ることが第一条件だろう

55:名前は開発中のものです。
08/05/13 16:41:01 GHV14UvK
ノベルにミニゲームつけたいとか、3Dオブジェクト動かしたいとかじゃないのか?

スクリプト系言語でやると無理矢理感はぬぐえない。
速度が出ない。無い処理はDLLを別に作る必要があるなど色々と壁も多い。

かといってVCで一から作るとなると多大な労力が必要。

なのでその中間を! などと求め、HSPやpython、VCライブラリなどに走る人も多いが、資料が少なかったり機能制限で急がば回れになることも……。
まあ、どれでやっても色々苦労はあるから、とりあえずこれでやると決めたら最後までやろう。

56:名前は開発中のものです。
08/05/13 17:19:57 W+YhV3a4
>とりあえずこれでやると決めたら最後までやろう。

それがいちばん大事だねー
ああ、耳が痛い・・・

57:名前は開発中のものです。
08/05/13 22:04:36 vTCMtqj+
だな中途半端だとただの徒労におわる

58:名前は開発中のものです。
08/05/14 15:01:41 sE+cy/S5
>>55
HSPは資料豊富です!

59:名前は開発中のものです。
08/05/14 23:19:01 Yg8LRiKZ
LGPは電波豊富です!

60:名前は開発中のものです。
08/05/14 23:29:23 5Hm/tyIE
RPGで以下のようにしてキャラクターを描いてるんですが
for ( int i = 0; i < charas.length; ++i ){
  charas[i].draw( g, );
}
キャラクターは縦の部分が大きいので、配列の順ではなく
座標の後ろにいるものから描画する必要があります
何かスマートにソートできる方法はありますか?


61:名前は開発中のものです。
08/05/14 23:37:14 qqA5cjLJ
二分木

62:名前は開発中のものです。
08/05/14 23:38:28 Yg8LRiKZ
algorithm の std::sort を使うとか?
いちおうO(log(n))でソートしてくれるはず…。

それで処理時間不足なら、もっと根本的な部分にトリックを入れないと。

63:名前は開発中のものです。
08/05/15 00:08:27 w7L/v6hS
>>61>>62
二分木はいい方法だと思いましたが、面倒なので描画前にバブルソートすることにしました
ありがとうございました

64:名前は開発中のものです。
08/05/15 00:48:17 Gl4dlh+0
バブルス君は大人気だな
コードが超絶単純って以外は何の取り柄も無い
ムキマッチョ力任せソートなのに

65:名前は開発中のものです。
08/05/15 04:22:11 g/HDx7As
何故qsortを使わないんだ
自分でソート関数を書くなんざ愚の骨頂
しかもバブル

66:名前は開発中のものです。
08/05/15 07:00:59 jv4lXIM8
     バブリー
まさに、“富豪”プログラミング

67:名前は開発中のものです。
08/05/15 10:02:20 kuC7xyz9
事前にほとんど整列されているデータだったらインサートソートのほうがいいけどな。
デプスバッファはそういうデータの一例。

68:名前は開発中のものです。
08/05/15 10:58:36 5n0BNL7n
縦が横の2倍の長さなんで
画像の下半分を全キャラ分描画してから
上半分を
ってやり方してる人がいたな

69:名前は開発中のものです。
08/05/15 11:29:53 V8oW8gea
>>68
メリットが全然思いつかないんだが、解説してくれないか?

70:名前は開発中のものです。
08/05/15 12:19:17 IU+6nfI3
68じゃないけど、

上下の重なりについて、
・上部分は他の上部分と重ならない
・下部分はどちらにも重ならない
と言う条件が成り立つなら、分けて書けばソートしなくてもいけるってことだと

左右の重なりは配列の格納順依存になるだろうけど(か左右も重ならないか)

71:名前は開発中のものです。
08/05/15 19:12:23 OUsbi8Ht
よくある手法だよな



72:名前は開発中のものです。
08/05/17 01:25:08 cMCwwZkP
>>70
その条件が成り立つようなゲーム画面ってのが
思いつかないんだが、具体例ないかな?

その条件であればソートが必要ないってのは理解できるんだが。

73:名前は開発中のものです。
08/05/17 01:33:16 Mor7MLIr
>>72
こんな感じのじゃないかな?

     _______________________
    /     ●    /
   / ○   大    /
  /  大 ○     /
 /      大    /
/_________________________/


74:名前は開発中のものです。
08/05/17 02:38:25 /2NTQuaY
>>72
確実にお前の想像力が足りない

75:名前は開発中のものです。
08/05/17 09:35:11 vDw+eL7+
>>73の描画力に感動した

76:名前は開発中のものです。
08/05/17 14:09:58 blnyncg7
公式アップローダが消えてるようです。
もし、これから先も復活しないとすれば、
どこの予備アップローダにアップするのがベストですか?

77:名前は開発中のものです。
08/05/17 14:37:55 PlBbyS21
ここじゃね?
URLリンク(gamdev3.hp.infoseek.co.jp)

78:名前は開発中のものです。
08/05/17 17:40:19 y3BHDcwc
>>77
㌧クス!!!

79:名前は開発中のものです。
08/05/18 00:25:30 DsHxgchl
質問させてください。

ピンボールのゲームを作ってみたいのですが、
玉の当たり判定の処理がどうしていいかわからない状態です。

参考になりそうなサイトやこのキーワードでググれってのがあったら
教えて頂けませんか?

80:名前は開発中のものです。
08/05/18 00:33:59 snkXiIy1
URLリンク(www.euclideanspace.com)
ここを読んでみ

81:名前は開発中のものです。
08/05/18 00:47:30 DsHxgchl
英語はあまり読めませんが、
なんか自分が知りたい事が色々書いてありそうな予感です。
とにかく見てみます。
ありがとうございました!

82:名前は開発中のものです。
08/05/18 09:35:51 0DwqQh0v
DirectXで2Dのゲームを作っているんですが、
選択した範囲だけを二倍にズームすることってできますか?

83:名前は開発中のものです。
08/05/18 11:18:14 sHsXa+J5
>>82
2Dのゲームでも、「3Dを使って2Dを描画する」方針に変更した方がいいよ。
拡大、縮小どころか、回転、半透明、思いのままだ。

84:名前は開発中のものです。
08/05/18 11:45:10 r+eRGkR5
しかし拡大縮小回転すると、せっかくのドットが汚くなるというw

85:名前は開発中のものです。
08/05/18 12:07:59 SPllmA4A
選択した範囲をIDirectDrawSurfaceX::Bltで他のサーフェスにコピーすれば済む
拡大をサポートしてないビデオボードもあるが。

86:名前は開発中のものです。
08/05/18 12:16:16 SPllmA4A
コピー先の第1引数のRECT構造体の示す大きさをコピー元の第3引数の2倍にすると
2倍の大きさでコピーされる。長方形に限るが。

87:82
08/05/18 12:25:22 0DwqQh0v
StretchRecttで出来そうだったので、
GetRenderTarget( 0, &pTargetSurface );
StretchRect( pTargetSurface, pSourceRect, pTargetSurface, pDestRect, D3DTEXF_LINEAR);
(pDestRectは、pSourceRectを二倍に拡大した座標)
とやってみたんですが、まったく画面に変化がありません・・・
どこが駄目なんでしょうか?

88:名前は開発中のものです。
08/05/18 12:34:19 SPllmA4A
Direct3Dは知らない

89:名前は開発中のものです。
08/05/18 18:08:44 wdL/017F
3Dゲームを制作したいのですが、やはり相当なコストやPCスペックを要求されるのでしょうか・・・?
宜しければご回答お願いします。

90:名前は開発中のものです。
08/05/18 18:14:42 G3uZU/ha
3DゲームにふさわしいPCスペックやコストという
意味の「相当」というのなら、当然必要。

91:名前は開発中のものです。
08/05/18 18:21:54 1EGOAFgA
CPUはいまどきの普通のやつでいいけど
グラボはGeForce系のちゃんとしたものを用意したほうがいいと思う

92:89
08/05/18 18:34:49 3Ql+h/GG
>>91
やはり自分がプログラミングに踏み出す為にはPCの買い替えが必要そうです・・・。
ご回答ありがとうございました。

93:名前は開発中のものです。
08/05/18 18:43:23 N3ZAJXeh
今ドラクエ風の戦闘を作ってるんですが、どんな風にやるといいんでしょうか?

考えたのは、コマンドを選択したあと、素早さから行動の順番を決定、
ダメージも計算して敵の生死なんかも決定する
その決定したのを元に文字列を作ってメッセージボックスに送る
あとはメッセージボックスに値を色々と返させて、それに合わせて
敵を倒したり、アニメーションなんかを表示する

こんな感じで自動再生みたいに進めていくのが普通なんですかね?

94:名前は開発中のものです。
08/05/18 19:09:02 sHsXa+J5
それにしても、最近の糞ガキは、手を動かす前に屁理屈を並べるよな。

自分のPCのスペックが足りてるか足りてないかなんざ、
使い倒して限界まで性能を引き出そうとしてみて、
それで無理だったら無理なんだろ。

やり方を思いついたならさっさと手を動かせよ。
作ってからうまくいかなかったらそれからじっくり検討しろよ。

95:名前は開発中のものです。
08/05/18 19:20:44 5E0J94y9
市販で売られているような格闘ゲームで
キャラを変更(自分で作る)したければ何を勉強したらいいのでしょうか?

96:名前は開発中のものです。
08/05/18 19:23:51 s4Gn4P61
グラボはとりあえず安いモデルで十分だよ。
逆にロースペックお断りなゲーム作っちゃうと、
なかなか遊んで貰えなくて寂しいかもw

マザボについてるVGA出力とかだと、
3Dがきつい事があるけどこれはボードによるのでなんとも言えない。
作りたいジャンルのフリゲをダウンロードして試してみるといいと思う。

97:名前は開発中のものです。
08/05/18 19:25:12 s4Gn4P61
>>95
市販ゲームの改造は板違いっぽい。

98:名前は開発中のものです。
08/05/18 19:26:38 5E0J94y9
>>97
どこに行けばいいでしょうか?

99:名前は開発中のものです。
08/05/18 19:32:25 6cf82B7x
>>98
制作会社に就職することが一番じゃね?
あと、ローカルルール読め

100:名前は開発中のものです。
08/05/18 19:43:25 1EGOAFgA
>>96
いやまあ、リファレンス環境がある人ならいいんだけどね

自分のプログラムが悪いのかドライバが悪いのかVRAMが足りないのかGPUが馬鹿なのか
妖しいグラボだと悩んだりするから・・
解説書どおりにプログラム組んでも思った画面にならなかったりすると、これから始める人にはきついっしょ

101:名前は開発中のものです。
08/05/18 22:44:49 XX/E8PWy
>>98
ゲームカテゴリ内の裏技・改造板だよ

102:名前は開発中のものです。
08/05/20 21:02:02 bK0lYkAn
M.U.G.E.Nみたいに外部ファイルから設定とかプログラムとかを読み込むのってどうやるんですか?

103:名前は開発中のものです。
08/05/20 22:18:48 siwl7MdZ
>>102
何の言語使ってるのか知らんが、とりあえずファイル入出力とかでググレ。
ゲーム以前の汎用ネタだからム板の初心者系スレ、くだすれに行き
同レベルのお仲間のやりとりを眺めるよろし

104:素人
08/05/21 23:28:28 cHQmP5AO
ゲームを作りながら C言語、もしくはC++が学べるような初心者に優しい書物があれば教えてください。

105:名前は開発中のものです。
08/05/21 23:51:26 COKSs3LT
猫でも分かる~シリーズはどうかね
まぁもっと由緒ある書籍なら他にもあるが

106:名前は開発中のものです。
08/05/21 23:55:34 sJpwZiCy
難しい注文だな。制御構造とか関数、クラス構造、ポインタは普通に勉強するしかない。
基本的な知識を身に付けたら本屋を物色するのが一番だと思うが。

107:名前は開発中のものです。
08/05/22 00:04:21 5sZksyKr
構文とか基礎的な部分が分かってないと
どうプログラムを組んだらいいのか分からないと思うけどな

108:名前は開発中のものです。
08/05/22 00:05:57 A1qlM1Gd
まあこの手の質問するやつはどうやっても無理

109:名前は開発中のものです。
08/05/22 00:12:32 /vMIXFV2
実際、中学生からプログラミング身につけた奴は身近にアドヴァイスできる奴がいたし、
高校で身につけた奴は質問する前にそれっぽい本を読んでいるもんね。

匿名掲示板で必死になって模索している時点で、
環境が整っていないとしか言いようがない。

110:名前は開発中のものです。
08/05/22 00:22:53 UetNODR3
おまいら冷たいな・・

DXライブラリのサイトの表紙に載ってたやつはどうかな
俺は読んだことないのでなんとも言えんが、わりと好評らしいぞ
URLリンク(homepage2.nifty.com)

111:素人
08/05/22 00:34:20 3sh3o3/n
皆さん、アドバイスどうもです。とりあえずクラスはまだ勉強してませんが、あとの基本的なのは多分大丈夫な感じです。
今はvisual basic C++とダイレクトXを使って頑張ってるのですが…。なんかよく分からないのがあって…。
なんかちゃんとやってるのに「.○○の左は構造体じゃないとダメです」的なことが出たりしてます。アドバイスできる人が身近にほしいですね…

112:名前は開発中のものです。
08/05/22 09:23:28 Tb+uR3WZ
ちゃんとやってないからコンパイルエラーがでる


113:名前は開発中のものです。
08/05/22 09:25:59 RDNMYXyd
>112
でもまあ気持ちは分かる気はするぜw
いや、今でもだが。

114:名前は開発中のものです。
08/05/22 09:45:41 cs12m4El
>>111
コンパイルエラー時のメッセージは理解するように練習したほうがいいよ
エラーの内容からどう直せばいいかすぐわかるものが多いから
中にはまったく探しようの無いエラーもあるけどね

115:名前は開発中のものです。
08/05/22 11:02:25 1x8OwtFX
きっちりK&RでC言語の勉強をするべき時ではないかと思うわけだがどうか

116:名前は開発中のものです。
08/05/22 13:02:47 HmDnhIoe
>>115
それは、 正解

117:名前は開発中のものです。
08/05/22 18:36:16 srrTvr6L
DxSDK2008/3をインストールしてVC++2008でコンパイルしようとしたらエラーが出ました。
#include <windows.h>
using namespace Microsoft::DirectX;
using namespace Microsoft::DirectX::Direct3D;

'DirectX' : 'Microsoft' のメンバではありません。
'DirectX' : この名前を指定された名前空間は存在しません。
どうも参照がうまくいってないようです。どうしたらいいですか?

118:名前は開発中のものです。
08/05/22 18:37:19 srrTvr6L
もうひとつ
VC++2008で下の出力欄に文字を表示するときの命令を忘れてしまいました。printfじゃだめなんですよね。どなたか教えてください

119:名前は開発中のものです。
08/05/22 19:48:39 ed9tScfd
DirectX使おうとしたんですが
ノーパソ CentrinoDuo1.GHz メモリ2G VC++ の環境でコンパイル、実行すると止まるんですが
どのくらいの環境が快適でしょうか?


120:名前は開発中のものです。
08/05/22 20:08:33 fD48KItG
>>118
.Netはキライだから良く知らないが、TRACE文で良い筈。
TRACE("A:%d\n", a);
こんな感じ。

>>119
他の環境で試したの?止まってまず疑うのはバグ。

121:名前は開発中のものです。
08/05/22 20:32:37 iVsmliFI
>>118
OutputDebugStringとか


122:名前は開発中のものです。
08/05/22 21:12:26 Z72V7toO
C言語で基礎学んでないのに教えてもだだこねるだけ

123:素人
08/05/23 00:44:55 kHIJe2uH
>>115
K&Rってなんでしょう?

124:名前は開発中のものです。
08/05/23 00:50:51 ljWF2dQj
C言語のバイブルと言われていた本の作者の名前です

125:名前は開発中のものです。
08/05/23 01:34:44 bNiAe4iJ
K&Rが読めたら、一人前と言われている。

126:名前は開発中のものです。
08/05/23 01:59:00 xCgEokuw
今となっては古いけどね。
C言語の開発者自らの手によるC言語の仕様書。
リッチーとカーニハンの頭文字を取って K&R と呼ばれる。

キリスト教における旧約聖書のようなものなので一度は目を通しておいた方がいい。
ちなみに新約聖書は「プログラミング言語C++」であり、C#はコーラン。


127:名前は開発中のものです。
08/05/23 02:20:29 POBW8K3m
違う。
K&Rは「蟹飯リッチ」と読む。

128:名前は開発中のものです。
08/05/23 07:24:37 KYZLgWWh
結局設計スレは続き立ってないの?

129:名前は開発中のものです。
08/05/23 10:10:50 YesBxlyq
>>126
旧約聖書と新約聖書と言われるのはK&Rの1版と2版
訳本は「プログラミング言語C」

関数ヘッダとかの古いスタイルとかについて「K&R」と言う場合は1版のこと。
foo(a)
int a;
{
}
こういうスタイル

130:名前は開発中のものです。
08/05/23 10:13:00 YesBxlyq
>>128
立てる? 1 の内容は前のと同じで良い?

131:名前は開発中のものです。
08/05/23 11:44:49 aiOX/uF/
>>130
Yes(ID的な意味で
いや実際需要あるように思うんだけども

132:素人
08/05/23 14:09:51 kHIJe2uH
K&Rについて教えてくれた方、ありがとうございます。ちょっと興味がわきました

133:名前は開発中のものです。
08/05/23 21:11:37 8M1gqhPX
>>131
たてちゃったよ
スレリンク(gamedev板)l50

134:名前は開発中のものです。
08/05/24 01:56:50 GpETqX7C
将来、PS3や箱●などでも作ってみたい(プログラミング)のですが、何の言語から学ぶのが効率的でしょうか?

135:名前は開発中のものです。
08/05/24 02:01:00 dzMi1mjI
それは、プロ志望を意味します。
死ぬ気でC++を習得しなさい。 もし、死んでしまったなら、あきらめなさい。

136:名前は開発中のものです。
08/05/24 11:35:27 HelyKtWx
>>135
ありがとうございます。
(-人-)

137:名前は開発中のものです。
08/05/24 15:06:13 qYiQVk4b
ロックマンのような2Dゲームの場合、キャラクタの座標は左上を持つのがいいのでしょうか?
真ん中を持つのがいいのでしょうか?

138:名前は開発中のものです。
08/05/24 16:19:09 TGkxEnWZ
左上派もいる。
中央上派もいる。
真ん中の下が良いという人も居る。

139:138
08/05/24 16:27:26 TGkxEnWZ
あー、一応補足。

ロックマンだと微妙なんだけども、
例えばスーパーマリオだと、しゃがみとか、チビマリオとかでキャラの高さが(見た目以外にも)変わるじゃない?
そういうときは、上じゃなく足元を基準にしたほうが楽と聞いた。

140:名前は開発中のものです。
08/05/25 04:33:40 R8jmfOM2
>>137

私の場合、
床に立つキャラは足元
弾とか空中に浮かんでいるキャラは真ん中
にすることが多いです。


141:名前は開発中のものです。
08/05/25 18:59:54 TJvr7Oel
javaでゲーム制作スレまた落ちてね?嫌がらせ?

142:名前は開発中のものです。
08/05/25 19:21:40 mxKe08G6
それは、参加者が少ないから。
誰も興味がない話題は、すぐに落ちる。
それが嫌なら自分で盛り上げるしかない。
それがこの板の掟。

143:名前は開発中のものです。
08/05/25 19:53:18 /vIrNI4n
>>141
おそらくお前以外にjavaスレを望んでいる奴は誰もいない

144:名前は開発中のものです。
08/05/26 10:32:20 /WXIHsTW
フリーゲームを製作し公開して、たくさんの人にプレイしてもらいたいとき
公開場所の宣伝は、どうやってすべきなんでしょうか?
ホームページを作っても人が来ないですし
なんらかの方法を教えていただけませんか?

145:名前は開発中のものです。
08/05/26 10:47:02 D/PfMb/a
>>144
ふりーむやベクターで公開してみてはどう?
サイトにも幾らか人が流れてくるよ。

146:名前は開発中のものです。
08/05/26 11:10:28 KAMugafz
>>143
あったら見るけど、無くても建てようと思うまではないな。

147:名前は開発中のものです。
08/05/26 13:01:59 1kz9u7zy
>>145
レスありがとうございます
ベクターは猛者の溜まり場というイメージがあるので、
フリームの方を調べてみることにします!
ありがとうございましたー!

148:名前は開発中のものです。
08/05/26 13:21:02 ILFhaQlF
>猛者の溜まり場
たぶんそんなことない。

149:名前は開発中のものです。
08/05/26 18:21:57 8yolxzkr
>>147
窓の杜と勘違いしてない?
vectorは玉石混交なんでもあり、最近じゃチェックもゆるゆるだ。

150:名前は開発中のものです。
08/05/26 19:07:12 c4q/dUTL
>>148-149
言われてみれば、
確かにvectorは中にお手軽なプログラムもありますもんね
有名なだけに、かなり先入観を持って見てました
ありがとうございます!


151:137
08/05/27 02:45:18 hFzxTwRd
>>138-139
ありがとうございます!

152:名前は開発中のものです。
08/05/27 07:40:18 3bVOJnp4
>>143
俺も見てるだけだったな、Javaアプレットでゲーム作ってるくせに
書き込み先は開発報告スレだけだった

153:名前は開発中のものです。
08/05/27 08:36:02 Bc8EwUEw
vectorだったかな、RPGツクールのドット絵を用意するときに使えるテンプレートなんてものがあったのは。

154:名前は開発中のものです。
08/05/27 09:23:13 lAsIHOqi
>>152
ROMしかいないスレなんて書き込んでもむなしいだけだな

155:名前は開発中のものです。
08/05/28 19:52:42 rm2+ecl2
>>153
作成ソフトのつもりで落としたのになんだこれ詐欺かよwww
って最初思うけど実際なかなか使えて悔しいアレの事か

156:名前は開発中のものです。
08/05/28 20:25:44 E0z+z694
実用性あんのかよ!?w

157:名前は開発中のものです。
08/05/29 17:45:38 8clLNwpL
質問させて下さい。

Classの中のPrivateな変数を他のClassから受け取りたいのですが
(例えばシューティングでの弾ひとつひとつの座標とか)、
これってポインタで受け取るには例としてどう書けばいいのでしょうか。

158:名前は開発中のものです。
08/05/29 19:14:55 GxecWQ0k
差し出す側のクラスにpublic: const 型* get() { return (const 型*)&変数 }だろか?
生のままポインタ渡したら中身変更出来るからprivateにしてる意味無くなるし

159:名前は開発中のものです。
08/05/29 20:41:35 8clLNwpL
成る程…。よかったら受け取る側の関数の例もお願いします。

160:名前は開発中のものです。
08/05/29 21:00:02 tCIkaZPw
class Airclaft
{
POINT pt;
const POINT* getPoint() const; // 関数につける const は呼び出しによって
// クラスのメンバが変更されない事を宣言する
};


function(const Airclaft *pEnemy)
{
const POINT* p = pEnemy->getPoint();
POINT* pA = pEnemy->getPoint(); // これはエラー

x = p->x -5; // const は参照はできる。
p->y -= 3; // これはエラー 変更はできない
}

161:名前は開発中のものです。
08/05/29 21:13:25 dj2Pxku4
中身替えないならポインタつかわなくても

162:名前は開発中のものです。
08/05/29 21:25:13 tCIkaZPw
これくらいのデータならコピーしても良いけど、使ってる武器のクラスが欲しいとかで
カプセル化を保つには必要になる。

163:名前は開発中のものです。
08/05/29 22:18:30 E5fHQ0XH
どうでもいいがAirclaft⇒Aircraftだろうな!

164:名前は開発中のものです。
08/05/29 22:20:54 xfMX+Xaw
板違いやスレ違いだったらすみません。

質問ですが、ツクールで製作したゲームを公開したいのですが
ブログしか持っていません。
出来上がったゲームディスクのファイルをブログにアップロードして
閲覧者の方にダウンロードしてもらえばいいのでしょうか?
取説を読みましたが今ひとつ理解できないので…。
よろしくお願いします。

165:名前は開発中のものです。
08/05/29 23:07:09 FzMOMeBN
ブログにファイルアップロード機能がついてればそれ使えばいいし、
無かったら、適当にどこかしらでHP領域借りて、ファイルUPしてリンクすればいい。

もしくは ish で、ブログに書き込み。

166:164
08/05/29 23:17:28 xfMX+Xaw
ありがとうございました!
さっそくやってみます

167:名前は開発中のものです。
08/05/29 23:36:12 Zv255bNO
たぶん次は、
「DLした人に『起動できません』と言われました!」
と言ってやってくるんだろうな…。

168:名前は開発中のものです。
08/05/30 00:10:45 rqmZQY+w
>>162
ありがとうございました。参考にさせていただきます。

169:名前は開発中のものです。
08/05/30 00:20:22 bJ1SvrTt
>>167
すみません
どこかにそうなってしまうような要素があるのでしょうか?
「起動できない」としたらアップロードのどういう点について
気をつけるべきでしょうか?

170:名前は開発中のものです。
08/05/30 00:26:13 RL8PCWkp
ランタイム入れてないとかそんなんじゃね?

171:名前は開発中のものです。
08/05/30 00:40:05 MRfmMsVU
多分>>167は、「164の知識の少なさ」について危惧してるんじゃないかな。
つまり>>167から見て、164はそういう質問をするレベルの人物だと思われたんじゃないかな。

172:名前は開発中のものです。
08/05/30 00:54:19 bJ1SvrTt
わかりました
もしも「起動できない」ということが起きた場合、
こちらで質問させていただいていいのでしょうか?

173:名前は開発中のものです。
08/05/30 00:59:47 8ugP9RwT
質問するのは自由だよ。
でも求める回答がもらえるかはわからないし
質問の内容によっては嫌な気分を味わうこともあるかもしれない。

174:名前は開発中のものです。
08/05/30 01:41:38 kkUiHerc
質問しちゃだめw
質問するための材料が集まれば、自ずと答えは出てるものだよ。

175:名前は開発中のものです。
08/05/30 01:56:28 MRfmMsVU
スレ違い、板違いになるだろうから俺はどうかと思う。
ツクールのバグとしか考えられない状況ならツクールスレへ報告/回避方法を相談してもいいかも知れないが、単純に「そういうユーザーがいます。どうすればいいですか」っていうのなら迷惑になるから書き込みは控えて欲しい。
どちらにしろ、このスレで扱う話題では無いだろうね。

176:名前は開発中のものです。
08/05/30 22:24:36 O/Ta6E6S
つーか、VPC辺りでまっさらな環境作って
ゲームを動作させるのに必要なものを洗い出していった方が良くね?

177:名前は開発中のものです。
08/05/31 16:00:39 lgd+z4bw
RPGを作っているんですが、

出現するモンスターの最低数
出現するモンスターのインデックス番号の最小値
出現するモンスターのインデックス番号の最大値

これらの値からモンスターを作成する関数を作ったんですけども、
マップのこの辺りの範囲を歩いてる時は、このデータという風に
この関数に値を指定したい場合、どのようにすればいいと思いますか?

178:名前は開発中のものです。
08/05/31 16:30:51 VPjENQcE
モンスターをどういうコレクションで管理してんのか分からないと答えようがないんじゃない?

179:名前は開発中のものです。
08/05/31 16:59:05 YxvouDHi
マップデータにに出現するモンスターグループ番号を埋める。


180:名前は開発中のものです。
08/05/31 17:09:57 lgd+z4bw
>>178
管理と言うか、関数の内部では
まずモンスターの数を決めて、そのあと入力されたインデックス番号から
以下のような関数をつかって、モンスターを取ってきてセットしています。
Monster getMonster( int index )
{
 switch( index ){
  case 0: return new Monster( "スライム" );;
  case 1: return new Monster( "まほうつかい"):;
  ・・・
 }
 return null;
}
>>179
携帯向けなので、容量があんまり増えない方法を探しています


181:名前は開発中のものです。
08/05/31 17:21:34 YxvouDHi
>>180
使いたくないのは結構だが
この方法のために容量が問題になることはないと思うぞ。

182:名前は開発中のものです。
08/05/31 17:36:17 nsf07gfL
四角いマップなら短形で指定したら?

183:名前は開発中のものです。
08/05/31 17:58:23 Rrtwn19g
>>180
多少節約したいなら、マップ全体を8x8マスごとに区切って、その区切りごとに出現モンスターを指定するってのはどうだろう
マップの大きさにもよるけど、もっと粗くても大丈夫かもしんないし
区切りの境界がちょうど悪い場所もあるかもしれないが、例えば海辺にいるときに向こうの島の敵が出てきたとしても、たぶん大した問題ではない
きっと波にさらわれて流れ着いたんだ

184:名前は開発中のものです。
08/05/31 18:50:14 eQHwyBnA
>>183
アドルがたくさんいるってことか

185:名前は開発中のものです。
08/06/01 03:15:58 RanwvYCE
とりあえずドラクエみたいなのでいいのかな?
なら>>182も言ってるが、
出現するモンスターの最低数
出現するモンスターのインデックス番号の最小値
出現するモンスターのインデックス番号の最大値
マップのX1、Y1、X2、Y2座標
を持つクラスを作成して、(X1,Y1)-(X2,Y2)の範囲にいる場合でわけるとか。

186:名前は開発中のものです。
08/06/01 08:45:28 TSXb5Gr2
ドラクエ1だかで、領域(島)の端を歩いていると、隣のエリアのモンスターが出るってヤツだよな?

187:名前は開発中のものです。
08/06/01 09:22:20 odS/oJGJ
RPGならたいていはマップを都道府県市町村(リージョン)に分割して通し番号ふってるだろうから
各都道府県市町村データの中にその土地の特産品、たとえば珍走団(の通し番号)リストでも入れとけ
リージョンは国→都道府県→市・区→町・村みたいな木構造だから全国区の珍走大連合から
原付で構成される町・村ローカルの弱小珍走団、デコチャリオンリの消防珍走団まで表現可能だ

188:名前は開発中のものです。
08/06/01 16:34:36 tI0O7LAh
剣の効果音のファイルがあるのですが、この音を繋げ連続攻撃音を作り
たいのです。連続攻撃専用のアニメと音が一致しなくなるので繰り返し
再生はできません。なので任意の間を空け音を繋いでいく作業が必要な
わけです。
私は音楽製作には無知です。そんな私でもできそうなこの用途に適した
もっとも扱いやすいフリーの音楽作成ソフトはなんでしょうか。

189:名前は開発中のものです。
08/06/01 17:14:03 Mttvmmqr
>>188
繋ぐだけならWindows標準のサウンドレコーダーでもできるんじゃないかな

録音デバイスを全部無効にして録音すれば任意の長さの無音ファイルが作れる
そこへ効果音ファイルを挿入すれば、再生するタイミングを遅らせた効果音ファイルが作れる
一通り作成できたらミキシングで合成する

Wavに変換してから使う必要があるんだけども

190:名前は開発中のものです。
08/06/01 20:34:26 dBBADxry
連続再生じゃなくて、任意のタイミングで任意の数の音を同時再生すればいいんじゃないの?
環境の都合上、一度に一つの音しか鳴らせないのなら仕方ないけど。

191:名前は開発中のものです。
08/06/03 00:16:19 lUI5yG1f
>>181-187
ありがとうございました


192:名前は開発中のものです。
08/06/03 19:01:50 kEwQxsF0
あ、もしもし?警察ですか?
  _  D
 ( ゚∀゚)○   __
 (  ノD……/◎\

今、インターネット上の掲示板にですね・・・
  _  D 
 ( ゚∀゚)○   __
 (  ノD……/◎\

はいわかりましたURLは、
です・・・
そうです万引きの報告です
はいじゃあ・・・ガチャ
  _  
 ( ゚∀゚)○   __
 (  ノD……/◎\

ホントに通報しちゃった・・・
  _
 ( ゚∀゚){アハハハハ __
 (  ノD……/◎\

193:名前は開発中のものです。
08/06/03 19:12:42 kEwQxsF0
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       |   通報
       \
          ̄∨ ̄ ̄ ̄ ̄ ̄ ̄
         ∧_∧
         ( ´Д`)
       /⌒    ⌒ヽ
      /_/|     へ \
    (ぃ9 ./    /   \ \.∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄
       /    ./     ヽ ( ´Д` )<  しますた
      (    /      ∪ ,  /   \_______
       \ .\\     (ぃ9  |
        .\ .\\    /    /  ,、
          >  ) )  ./   ∧_二∃
         / //   ./     ̄ ̄ ヽ
         / / /  ._/  /~ ̄ ̄/ /
         / / / )⌒ _ ノ     / ./
       ( ヽ ヽ | /       ( ヽ、
        \__つ).し          \__つ


194:素人
08/06/05 00:01:17 x8VtFIp1
質問させてください。visualなんとか(無料でダウンロードできるやつ)のC++で本を見ながら勉強していたのですが、急にコンパイルしたときにエラーが出るようになりました。
さっき打ち込んだのがマズかったのかな?と思い、消してみたのですが効果はありませんでした。いつもなら、どこの何行目が○○です。と表示されるのに、今回は行数などは表示されずによくわからないエラーになります。まったく意味が分かりません。
分かりづらい文章だとは思いますが、どなたかアドバイスお願いします。

195:名前は開発中のものです。
08/06/05 00:06:04 qWToGcIU
>>194
エラーメッセージをコピって貼りましょう
話はそれから

196:素人
08/06/05 00:21:27 x8VtFIp1
すいません
明日はらさせていただきます

197:名前は開発中のものです。
08/06/05 01:12:12 L8rtw37b
今、宇宙からの電波を受信した。
コンパイラがエラーを吐かなくなった代わりにリンカがエラーを吐くようになったのだと
プレアデス星人が言ってました。

198:名前は開発中のものです。
08/06/05 19:48:06 zGo4qXOl
          |
  |          |
  |          |
  |       .  . |
  |     .:     |
  |:   .       |
  |.:    \    |
  |.:      \  |
  .:|   ., -─-、 '.|
  |.:.ζ ( ● )冫| 
  | .. ̄ ̄ ̄.  . |
  :.|.       ;,|
  |:.    ノ .( 、|   
  |:.   .へ ___,|
  |:.: .     |:_.|
  | .: ..     \_|
  |:.::.       |, -─-、
  | . .:..::.    / ,.-─'´
  _|.:. .:. .   ,( ζ___ みーーーーーーーーたーーーーーーーーーーーーーーな
/..:. . :. .  /   __:_冫
  :.     (   (____


199:素人
08/06/05 22:53:34 SvsDqoSX
ごめんなさい。なんか普通にできました・・・。
内容は変えてないはずなのに今日はできました。・・・こういうことってあるのでしょうか?

200:名前は開発中のものです。
08/06/05 22:54:49 sU69KuuW
たまにある

201:名前は開発中のものです。
08/06/05 23:03:12 BhqE17gX
一度、PCの電源を切ってみる。 リセットすると挙動が変わる時がある。

202:名前は開発中のものです。
08/06/05 23:43:38 g9dI6mn+
3DSTGでZ.O.Eのような複数ロックオン後に撃つときに出る細い滑らかな曲線レーザーの
処理をしたいのですがそのような処理を解説したようなサイトがあったら教えて頂けないでしょうか?
良いキーワードが思いつかず検索してもなかなか良いサイトがみつかりません

ロックオンとヒットまでの座標計算部分はできるのですが細い滑らかな曲線レーザーを表現する良い方法が思いつきません
計算した座標に力技で1つずつ小さい光を置いていくかなり重そうな処理しか思いつきませんでした
制作にはDirectXとC++を使用しています

203:名前は開発中のものです。
08/06/06 02:03:38 +VPtVrF0
エスパーお願いしたいんですがマップをスクロールさせている時に
なめらかにスクロールしないのは何が原因だと思いますか?

204:名前は開発中のものです。
08/06/06 07:49:33 W+YaQZWj
ティアリング

205:名前は開発中のものです。
08/06/06 11:44:05 Rd2P2C8Q
>>202
Gemsの何巻かは忘れたがビルボードビームってのがあった
それか、OGRE 3Dっていうエンジンの「BillboardChain」って機能がそのまま使える感じ

仕組みはTRIANGLE_LISTで、Chainの先頭に毎フレーム板ポリを追加してるだけ

206:名前は開発中のものです。
08/06/06 12:03:41 5E9ARiON
>203
2DのRPGやアクションゲームだと考えて。

……1ブロック(または半ブロック)ずつ動かしてるからとか?

207:名前は開発中のものです。
08/06/06 12:52:04 3RFnM29I
>202
Seleneのサンプルにそんなのあったな
DirectXじゃないけど
やってる事は同じだとおも

208:名前は開発中のものです。
08/06/06 13:09:13 sOpTQYJH
>Seleneのサンプルにそんなのあったな

内容の詳細は?

209:名前は開発中のものです。
08/06/06 14:17:27 lVfNvc8R
質問させてください。

コーエーの三国志とか信長の野望にあるような、ユーザーインターフェースをC#で実装したいと思っています。
それは具体的には、例えば、
MAPとして日本地図と城が表示されている→ユーザーがマウスで城をクリックすると、その城情報が別ウインドウで表示される
といったインターフェースです。
で、具体的には、以下のような実装を行えばよいかな?と思っています。

1.ピクチャボックスにMAPを描画し、フォームのコントロールとして追加する ←MAPがフォーム上に表示される
2.マウスクリックイベントを、if(座標が城の位置)→ウインドウ表示のように関連づける

ここの実装手順について2点質問があります。
・もっと良い(もしくはスタンダードとされている)方法はあるか?
・MAPが大きい場合、フォームをオートスクロールにする必要があるが、
そのとき、2の城の座標をオートスクロールに対応した座標にするにはどのような手法を用いればよいか?

以上、宜しくお願いいたします。

210:名前は開発中のものです。
08/06/06 14:23:34 msy3AiaH
javaで似たようなことやったことあるけどそういうクリッカブルなMAP作るときは
まずレイヤシステム作ってそのレイヤが各イベントに反応するようにしてたよ。

あとはレイヤを張り付けていくだけだった。

211:名前は開発中のものです。
08/06/06 14:40:42 lVfNvc8R
レイヤシステムとは初耳なのですが、それはどのようなものか、
できればどのように実装すればいいのか教えていただけませんか。

212:名前は開発中のものです。
08/06/06 14:42:34 lVfNvc8R
あと、スレで説明するのが難しいなら、テキストでも結構です。

213:名前は開発中のものです。
08/06/06 17:32:37 /eYGDsCD
ぐぐれ

214:名前は開発中のものです。
08/06/06 19:42:19 /jI1obVg
いあ、さすがにこれは>>210氏に説明を求めるのが正解だろw

215:名前は開発中のものです。
08/06/06 21:21:36 DcZem/Hw
イベント処理と描画をもったクラスを作る
MAPや各ウィンドウごとに、それを継承したクラスを作る
で、それらをスタックで管理する
ウィンドウが開くごとにインスタンスを生成してスタックに積む
イベント処理はスタック最上位のクラスだけ行う
表示はスタック最下位から行う
ウィンドウを閉じるときは自身のインスタンスをスタックから外して削除
みたいな感じでいいんじゃね?


216:202
08/06/06 22:00:53 uGdDL8+t
>>205,207
ありがとうございました
Gems3巻にビルボードビームとOpenGLのサンプルソースがあったのでそれを参考に挑戦してみます

217:名前は開発中のものです。
08/06/08 01:35:11 rrbE2XWk
矩形(縦横の長さが可変で回転もする)と円との当たり判定を取りたいのですが
解説しているサイトか書籍をご存知の方いましたら教えてください

218:名前は開発中のものです。
08/06/08 04:48:29 6/Y/bc5B
>>217
もう知ってるかもしれんけども
URLリンク(marupeke296.com)

219:名前は開発中のものです。
08/06/08 15:24:16 2rd5wn2F
ゲームの効果音って普通は最初に全て読み込みを行うんですか?
アクションゲームだと必要な効果音が少なそうで読み込んでそうですが
RPGだとかなりの量使ってそうでメモリがやばそうなんですがそこら辺どういうものなのでしょうか・・・?

220:名前は開発中のものです。
08/06/08 15:59:29 Ri9hkCR1
好きにしろよ
毎回読み込むなり、初期化時に全読みするなり
一定のパートごとに必要な音だけ読み込むなり

別にこうしなきゃいけないという規則はない
自分がベストだと思うやり方でやれ

221:名前は開発中のものです。
08/06/08 20:57:17 pjtRF+Hw
典型的なゆとり世代の発想なんだよなぁ。

「計算ドリルのように正答がある」、と考えているから、
やる前に答えを覗き見ようとする。
試しもせずに、他人に正答を教えてもらおうと考える。

222:名前は開発中のものです。
08/06/08 21:26:53 L0irNMtD
場合によって違う、 色々な条件があるので 定型的な答えは無いです。
何度か実験して結果を得る、こんな泥臭い事も技術の範囲内だと思います。

223:名前は開発中のものです。
08/06/08 21:28:55 jBtgZsaY
ファイルを読み込みながら平行して音を再生する方法でおk

224:名前は開発中のものです。
08/06/08 21:54:57 jBtgZsaY
>>223を簡単に説明するならこんな感じ。

2秒分の音領域を準備し、最初に一秒分の音を読み込む。
音の再生を開始し、再生されて無い1秒分の領域に対して、一秒分おきに一秒分の音を読み込む。

キーワードはストリーム・バッファな。あとはDirectX関連の書籍でも嫁。ソースもついてくるから。

225:名前は開発中のものです。
08/06/08 21:58:07 YopfqNYE
>>219
一番簡単なのは、最初に全てのBGMとSEを読み込んでおく方法じゃないかなあ。
全部MIDIなら、問題ないだろ。
仮にSEがwavだとしても、一つ44KHz/16bit(ステレオ)、3秒程度なら、1つあたり528KBくらいだから、
10や20あっても大した問題じゃない。

、、、と思うんだけど。どうよ。

226:219
08/06/09 00:13:59 rm9wQlQ/
色々ありがとうございます。
今まではBGMを丸ごと読み込んで再生してたのをストリーム再生できるようにして
メモリがだいぶ節約できそうですので>>225の方が言ってるように大した量にならないので
全部読み込みって感じでやろうと思います。
他の人もこんな感じなのかなぁ・・・

227:名前は開発中のものです。
08/06/09 16:38:21 nUecU3Ey
ディスプレイの垂直同期に合わせないとダメですか?
timeGetTimeで経過時間を計るのでは不十分なのでしょうか?

228:名前は開発中のものです。
08/06/09 17:24:35 6r1WM63A
>>227
>>221


229:名前は開発中のものです。
08/06/09 18:26:05 DBIgWewE
>>227
俺合わせてないよーw

> timeGetTime
Windows上の開発と仮定すると、
厳密に垂直同期にあわせることはできないみたいな書き込みよく見るけど、
どうなんでしょうねぇ。

230:名前は開発中のものです。
08/06/09 23:33:46 L6Itig/s
>>210の具体的な説明はいただけないのでしょうか?

231:名前は開発中のものです。
08/06/09 23:59:25 HQlmVvbu
C#を使ってる人、いないと思う。

232:名前は開発中のものです。
08/06/10 00:10:46 W+Ff/0l3
>>230
>215みたいなので正解じゃね?

レイヤ管理クラスを作って、イベントに応じたレイヤを起動

233:名前は開発中のものです。
08/06/10 00:20:08 wpwmQgMR
横レスで質問入れて悪いけど、レイヤで管理されたMAPグラフィックをクリッカブルにするにはどうするの?

234:名前は開発中のものです。
08/06/10 00:36:05 kiGBb3yj
クリッカブルってなに?

235:名前は開発中のものです。
08/06/10 00:40:00 wpwmQgMR
>>210に書いてある
MAP部分をクリックするとイベントが起こるって意味だろう

236:名前は開発中のものです。
08/06/10 13:03:02 b0FZhEos
>>233
もともとそういう設計にするんだよ

237:名前は開発中のものです。
08/06/10 14:28:50 nytbfz/3
>>215の「表示はスタック最下位から行う」というのは
背景が透明なpanelを重ねて表示するような感覚でやればいいのかな?

238:名前は開発中のものです。
08/06/10 14:43:48 mUsLFEhP
ノベルゲームエンジン制作だったかのタイトルの本でC使ってADVエンジン作るのにレイヤ管理システム実装してたぞ。
選択肢もレイヤで実装してたからクリッカブルなレイヤを実装してるんだと思う。

239:名前は開発中のものです。
08/06/10 16:41:44 3I/gGTbX
>>229
>不十分なのでしょうか?
>どうなんでしょうねぇ。

自身が気にならないなら「気にしない」でいいと思うよ

240:名前は開発中のものです。
08/06/10 18:05:33 a1ieDkwY
垂直同期しない場合の問題ってティアリングくらい?
自分の目は腐ってるんでティアリングを判別できないんだけど
目のいい人にはどう見えてるんだろう。

まあ、反射神経を要求するゲームじゃない限り気にしないで良いと思う。

241:名前は開発中のものです。
08/06/10 19:25:28 vmMmwty8
あれを判別できないってのはやばいな
連続した2フレームA・Bをそれぞれ2つにぶったぎって、
A上半分とB下半分をくっつけた感じ

デメリットとしては、GPUとかをウェイト無しでぶん回すからアッチッチ

242:名前は開発中のものです。
08/06/11 02:26:47 dl2UA+Ho
RPGで次のレベルまでの経験値だとか敵の強さってどういう風に決めればいいんでしょうか?
適当に決めてから調整していくしかありませんか?

243:名前は開発中のものです。
08/06/11 03:03:06 UjwNo3Ti
ある程度は計算で求められると思う。
経験点の取得方法はゲームによって異なるから、その計算式は自分で導き出すしかないんだけどな。

敵を倒すと経験点がもらえるのか、
プレイヤーの操作(スキル)によって与えられるのか


って書こうとしたけど眠くて力尽きた。おやすみ

244:243
08/06/11 12:22:37 ezoaWSsV
まあ、>243の最初の2行で答えは出ちゃったので。
興味があるならこっちへおいで。

◆ 神のゲームバランスを実現するには 3 ◆
スレリンク(gamedev板)


245:名前は開発中のものです。
08/06/11 12:43:34 dl2UA+Ho
>>243>>244
ありがとうございます、勉強してきます

246:素人
08/06/11 23:10:57 pnwQC7GC
今本を見ながらborland C++を勉強してるのですが、実行とデバッグができません。なんかクリックできないのです。
理由が分かる方、お願いします。教えてください

247:名前は開発中のものです。
08/06/11 23:18:02 klFSvztV
>>246
> なんかクリックできないのです。
マウスのボタンが堅くて押せないとか?

というのは冗談だけど、実行ボタンだかコンパイルボタンだかが無効になってるのは
「今開発しているプログラムがどのファイルをどんな風に使っているのか」を登録する
プロジェクト情報が無いからなんじゃないかと思う。
borland C++は使ったことが無いけど、新規プロジェクトやワークスペースを作成する
みたいな項目は無いですか?

248:名前は開発中のものです。
08/06/12 02:14:29 Uc2wXT7l
ゲームコンテスト
URLリンク(www.tohofuhai.com)  豆腐ゲームコンテスト
URLリンク(kirara111.sakura.ne.jp)  星屑きらら杯
URLリンク(3punge.com) 3分ゲーコンテスト


249:名前は開発中のものです。
08/06/12 05:50:43 gzO65s1E
>>248
ひとつだけ劣悪なものを混ぜてるなw
残り二つとはどう考えても釣り合わない地雷コンテスト

250:名前は開発中のものです。
08/06/12 08:28:39 1Dxos4zW
格闘ゲームを作りたくてgoluahのソースファイルをダウンロードして
見てるんですが、タスクについて質問があります。

goluahには3つのタスクの種類があるみたいなんですが
それぞれどういう役割があるんでしょうか?
・通常タスク
・常駐タスク
・排他タスク

よろしくお願いします。

251:素人
08/06/12 10:14:46 YCgQbZ2q
>>247
ワークスペースは分かりませんが、新規プロジェクトというのはあります。

252:名前は開発中のものです。
08/06/12 12:54:09 aAoeQ5Mp
>>251
BorlandC++と勉強中(フリーソフト?)ってあたりからエスパーすると
もしかしてとBCC Developerと組合わせて使ってるのか?
もしそうならコード打ち込んだ後メイクボタン押した?エラー無く完了した?

つか、いくら素人でわからないって言ってももう少し詳しく書かないと答えられないと思うが。

253:名前は開発中のものです。
08/06/12 16:21:11 gzO65s1E
>>250
ソース読まずにESP

通常→キャラとか弾とか
常駐→名前のとおり。ゲーム起動から終了まで存在するインスタンス
排他→番兵

多分これで正解だ。つか、おめーソース読んでねーだろ
カルト教団に入信してお布施して松浦尊師のタスクシステム本でも買っとけ

254:素人
08/06/12 20:56:36 YCgQbZ2q
Fatal: ファイル VORBISFILE_STATIC.LIB が開けません
** error 1 ** deleting Debug\spgame02.exe
Make End !! (Elapsed time 0:00.375)
ってな感じになります。・・・errorって出てますね・・・


255:名前は開発中のものです。
08/06/12 21:18:00 gzO65s1E
>>254
それはメッセージの通りだな
リンカがVORBISFILE_STATIC.LIBを見つけられないんだ
ライブラリを置いてる場所にパスを通してないんだろ

256:名前は開発中のものです。
08/06/12 23:00:22 xs8x640a
3Dゲームで、
多くの物体同士の当たり判定(1対1ではなく、多対多の当たり判定)ってどうするんですか?
全ての組み合わせでやると物凄い計算量になってしまいそうです。
999+998+987+986...といった具合に。当たり判定にはバウンディングボックスを使います。

257:名前は開発中のものです。
08/06/12 23:54:28 gzO65s1E
>>256
物凄いがどの程度の話なのか知らんけど、富豪厨の俺は
数年前のモバイルノートで1000発のAABB相互作用を力任せ法でやったが
結果は余裕だった。この程度の処理量なら鼻糞だ

それっぽい総当り処理のサンプルソースは某スレに貼ったことあるが
そんなクズソース見なくてもできるだろ

258:名前は開発中のものです。
08/06/13 00:29:37 /jwDkXsA
まあ、あとは、エリア分割なりグループ分けなり、
何らかの方法で計算量を抑えるようにすればいいってことだよな。

あと、数が多いと、ちょっと1つあたりの計算量を減らすだけで大幅に変わったりするので
厳密にやらずに適当にやる、とかも効果的だったりする。


259:名前は開発中のものです。
08/06/13 04:43:05 O4NLI/1r
ゲームコンテストに出しなさい。
URLリンク(www.tohofuhai.com)  豆腐ゲームコンテスト
URLリンク(kirara111.sakura.ne.jp)  星屑きらら杯
URLリンク(3punge.com) 3分ゲーコンテスト(今休止中)


何でもかんでも詰め込もうとしないで、切り捨てるとこころは切り捨てて
完成させねば。。

260:名前は開発中のものです。
08/06/13 10:03:33 FGpNXRkP
すでにそれっぽい指摘が出てるが
星屑きららはやめといた方がいいぞ
主催がDQNてことで知れ渡ってる
詳細はノウハウ板の止めとけスレ
あるいはこの板の語るスレ辺りで

261:名前は開発中のものです。
08/06/13 11:13:31 hIYZdXb5
つか
マルチで宣伝うぜー

262:名前は開発中のものです。
08/06/13 15:01:22 xNnxVjQD
そうなのか。
よく分からんけど、投稿作品一覧のコメントを見て色々と酷いことだけは分かった。


神のゲームバランススレが落ちそう。誰か立てて。

263:名前は開発中のものです。
08/06/13 17:21:08 iI+lriih
>>240
全画面スクロールさせるとズレが上から下に移動しているのが分かる。

264:名前は開発中のものです。
08/06/14 08:10:31 Vx/ilw+o
ところで液晶の場合CRTと違って電子線の走査がないから
液晶の駆動回路が生成するVSYNC信号無視してフレッシュレート60Hzと
決め付けて高精度タイマーでタイミング取って60Hzでフレーム切り替えしても
2Dスクロールのガタツキは体感できても
上側=旧フレーム、下側=新フレーム、みたいな現象は視認できないような
気がするんだが、実際どうなの?

と、未だにトリニトロン管を使ってるマイノリティの俺

体感できなくね?思うのだが

265:名前は開発中のものです。
08/06/14 08:12:18 Vx/ilw+o
最後の一行は消し忘れだ!

266:名前は開発中のものです。
08/06/14 09:41:01 WEqkvEOP
warrockや、バトルフィールドみたいにFPSでコクピット視点で車運転するプログラム作りたいんですが
それ関係のオープンソースや、作り方のHow to とか載ってるサイトや本ってありますか?


267:名前は開発中のものです。
08/06/14 10:17:32 yvWyvXql
>>264
うちのPC2台だと視認できるよ
察するところ、ビデオカードからディスプレイ端子に出力された信号自体が
「上半分と下半分で1フレーム分違う」状態なら、それがきっちり反映されるんだろう

268:名前は開発中のものです。
08/06/14 19:50:19 nT6UYhMt
ESPお願いします
使用言語:C++ 開発環境:製品版VisualStudio2005

問題の部分は恐らくPlayer.cpp&.h Enemy.cpp&.hだと思います
Playerクラスのvoid GetDistance2Target(Enemy *e);という宣言(定義は空実装)に下記のビルドエラーが発生します
error C2061: 構文エラー : 識別子 'Enemy'
Enemyクラス(Playerクラスがフレンド)があるヘッダもインクルードしてあります
Aクラスを宣言し引数を(A *e)に変更するとエラーは発生せずその後AをEnemyに書き換えビルドをするとエラーが発生しません
ただPlayerクラスがあるヘッダを1行でも書き換えると上記のエラーが再び発生します

269:名前は開発中のものです。
08/06/14 19:56:25 BjxsUuMK
>>268
そのヘッダファイルの上のほうに
class Enemy;
と書く

270:名前は開発中のものです。
08/06/14 20:12:45 nT6UYhMt
>>269
ありがとうございました
簡単に解決できるような事を聞いて申し訳ないです
オブジェクト指向の概念ばかりでなくプログラムも弄って勉強するように努めます

271:名前は開発中のものです。
08/06/14 21:09:31 uDqAdFXo
>>270
オブジェクト指向自体ももっと勉強汁
そのクラスの関係は悪手


272:名前は開発中のものです。
08/06/15 12:24:09 EcGkhplh
>>267
レス㌧
そうか。つかよく考えたらビデオカードはあくまでも伝送方式(アナログRGBやDVI
インターフェースの仕様)に従って映像信号を出力(アナログRGBならHSYNC
検知する毎に画面上端ラインから順に、デジタル方式のDVI-DやHDMIも
上端ラインから順だったかな)してるんだよな。だから、例え出力装置の中で
画面切り替えが一瞬で行えようとも、CRTと違いスキャンラインの概念がなかろうとも
ケーブル経由の伝送に時間をかけていれば上側=旧フレーム、下側=旧フレーム
という現象は起きるのか

273:名前は開発中のものです。
08/06/15 12:46:49 EcGkhplh
×下側=旧フレーム
○下側=新フレーム

274:名前は開発中のものです。
08/06/16 01:42:19 jf5cBPIE
  ,..-─- 、
おしえて           /. : : : : : : : : : \
               /.: : : : : : : : : : : : : : ヽ    
               ,!::: : : :,-…-…-ミ: : : : :',
              {:: : : : :i '⌒'  '⌒' i: : : : :}
                 {:: : : : | ェェ  ェェ |: : : : :}
.         , 、      { : : : :|   ,.、   |:: : : :;!
        ヽ ヽ.  _ .ヾ: :: :i r‐-ニ-┐ | : : :ノ    
          }  >'´.-!、 ゞイ! ヽ 二゙ノ イゞ‐′      
          |    -!   \` ー一'´丿 \
         ノ    ,二!\   \___/   /`丶、
        /\  /    \   /~ト、   /    l \
       / 、 `ソ!      \/l::::|ハ/     l-7 _ヽ
      /\  ,へi    ⊂ニ''ー-ゝ_`ヽ、    |_厂 _゙:、
      ∧   ̄ ,ト|    >‐- ̄`    \.  | .r'´  ヽ、
     ,ヘ \_,. ' | |    丁二_     7\、|イ _/ ̄ \
     i   \   ハ∟       |::::|`''ー-、,_/  /\_  _/⌒ヽ

275:名前は開発中のものです。
08/06/16 13:54:36 V29OceOR
BGMにMP3やOGG等の圧縮されたものを使用しているケースが多いですが、
実行時にデコードしているんですよね?
特にOGGはデコードが遅いと聞きますが、
だったら最初からWAVEにしないのはどういった理由なのでしょうか?

276:名前は開発中のものです。
08/06/16 14:10:08 CWBMeGpP
waveだとサイズでかいだろ。
それにいまどきのエンコーダならoggも遅くない。

277:名前は開発中のものです。
08/06/16 14:10:30 yolkQjtt
>だったら最初からWAVEにしないのはどういった理由なのでしょうか?
圧縮できることのメリットすべて

>特にOGGはデコードが遅いと聞きますが
実際にはMP3より少し遅いくらい。(エンコードはかなり遅い)
使うライブラリにもよるが、公式の実装でもあまり問題にならないよ。
このへんは実際にストリーミング再生させて
ゲーム中にどのくらいCPU食ってるのか数字出さないと議論にならんよ。

278:名前は開発中のものです。
08/06/16 14:10:38 CWBMeGpP
×エンコーダ
○デコーダ

279:275
08/06/16 14:43:16 V29OceOR
>>276>>277
返信ありがとうございます。

ということは、WAVEがダメなところはメモリ消費量だけでしょうか?
メモリを気にしなければ数MBあるWAVEをBGMとしても問題ない
ということでしょうか?
デコードしない分CPU負荷も少ないですし

280:名前は開発中のものです。
08/06/16 14:51:04 il/CiK3K
実行時のメモリより配布時のファイルサイズがでかくなる方が問題じゃない?

281:名前は開発中のものです。
08/06/16 14:54:56 ELtfR4ND
>>279
まぁそうだけど、44kHz・16ビット・ステレオのwavで、1分≒10MBだぞ

282:名前は開発中のものです。
08/06/16 15:07:51 S6nxqRuD
>>279
正直俺は、mp3の128位とwav44kHz・16ビットの音質の違いが解らん。
それでもwavが良いんだ!と言うこだわりが無ければ、
データは小さければ小さい程、色々良いと思うな

283:275
08/06/16 16:07:30 V29OceOR
確かにファイルサイズがすごいことになりそうです。
今時のPCならmp3やoggのストリーミングも気にならないようですし、
oggでいこうと思います。
大変参考になりました。
返信ありがとうございました。

284:名前は開発中のものです。
08/06/16 16:55:24 uX6B7Jne
ナローバンダーは、モバイルを含めると意外にまだいるからな。俺とか。


285:名前は開発中のものです。
08/06/16 16:58:18 uX6B7Jne
書き忘れ。

BGMとか長くなりそうなものはmp3やoggなどの圧縮ファイルを使い、
効果音のような比較的短く、かつ再生タイミングがシビアなものはwaveそのまま、なんて人もいる。

あと、ウェブでダウンロードさせるのと、コミケでCDを頒布するのとでは
状況がまた違うから、そこで分けてる人もいるようだ。

286:名前は開発中のものです。
08/06/17 02:25:10 k5Hbpskc
ある敵にいくつかAIパターンがあって、条件で切り替わる場合、
どういう風にして実装してます?
C++という想定で

1.行動を決定するメンバ関数(update()とか)に大量のif文を突っ込んで処理

2.敵クラスは、staticな関数へのポインタをもち、指し示す関数を入れ替えることでAIを切り替える
  関数にthisポインタを渡して処理

3.敵クラスは、AIクラスへのポインタをメンバとしてもち、
  指し示すAIクラス(の継承クラス)を入れ替えることでAIを切り替える
  で、AIクラスのメンバ関数にthisポインタを渡して処理

1が簡単だけど、2、3は同じAIを複数の敵クラスで共有できるって言う利点がありますよね

287:名前は開発中のものです。
08/06/17 02:48:32 sJZvekW7
パターンデザイン的には3だよね。
いわゆるストラテジパターンというやつ。

あとはメンバ関数へのポインタを使って入れ替えるとかね。

class Hoge {
private:
  // メンバ関数型を定義
  typedef void (Hoge::*ACTION_PTR)(void);
  // メンバ関数へのポインタを格納する変数
  ACTION_PTR action;

public:
  // 行動のセット
  void action1(void) {}
  void action2(void) {}
  void action3(void) {}

  // コンストラクタで初期値を設定
  Hoge() { action = &Hoge::action1; }
  // 同様の構文でメンバ関数を変更可能

  //ポインタを通してメンバ関数起動
  void update(void) { (this->*action)(); }
};


288:名前は開発中のものです。
08/06/17 09:37:29 XINqrfBX
ストラテジーパターンだな

289:名前は開発中のものです。
08/06/17 15:08:42 sS8dV5wo
1が簡単とはおもえんのだがw

>>287
C++はよくわからんが、行動のセットってクラス外にださんの?
なんか見通しが悪い気がするんだが

290:名前は開発中のものです。
08/06/17 23:15:33 sJZvekW7
>>289
そうかな?
データと行動セットをひとまとめにして隠蔽しちゃうことにも、
それなりにメリットあると思うんだけどね。
一回作っちゃえば後から考えなくても良い。

でもまぁ、「ふるまい」クラスを作れば、他のクラスにも適用できるというメリットはあるね。
個人的にはオープンすぎるのは逆に不整合を起こしがちだから苦手だけれども。

291:名前は開発中のものです。
08/06/18 21:31:16 WrwNxCgo
良し悪しは別として、ifが並ぶのは個人的にイヤだw

292:名前は開発中のものです。
08/06/18 23:30:26 kSLx4lcS
この板初めてな俺が来ましたよ

この板の人たちはPSPとかDSとかwiiとかのすごいかんじのゲーム作ってるの?
それともケータイのアプリみたいな簡単な作りっぽいゲーム作ってるの?
パソコンでやるゲームを作ってるの?
ネットしてたら、なんか餌とかあげたらなついて誰が一番なついてるみたいなランキング付きのペット育成みたいなんあるじゃん
あんなん勉強したら一人でつくれる?
お金かかる?
作ってみたい

293:名前は開発中のものです。
08/06/18 23:32:07 O5zucpEm
礼儀知らずに答える義務はない

294:名前は開発中のものです。
08/06/18 23:53:36 Q1s+fteM
>>292
紙ですごろく作ったっていう話は聞かないな。
ほとんどがPCで動作するものを前提に話を進めてる気がする。


295:名前は開発中のものです。
08/06/19 00:05:06 g8qpIga7
>>292
PSPとかコンシューマハード向けのゲーム開発は、
ゲームカテゴリーの裏技・改造板の方が詳しい
ゲーム製作技術板は基本的にPC向け

内容はファミコンみたいなミニゲームもあるし、
2000円で販売して飛ぶように売れるゲームを作る人もいる

開発環境はタダで手に入る(Visual Studio Expressでググれ)し、
情報はネット上に転がっているので、金はかからない
出来れば専門の本を買うか、図書館で手に入れて読んだほうが良いけど

ゲームを一人で作るのは限界があるよ
プログラムは勉強するとしても、絵や音楽はどうする気だ
テキストベースのゲームなんて豪快なことしたら誉めてやるが

296:名前は開発中のものです。
08/06/19 00:17:48 VxrSErVz
みんなありがとう
ちょっと楽しそうな板だから勉強してみる
絵くらいはなんとか書くよ 音は鳴らなくてもいいやw
暇潰し程度のもんをネットにあげてみたいな

297:名前は開発中のものです。
08/06/19 12:39:21 8LUlnvdl
ifがネストするのは嫌よね

298:名前は開発中のものです。
08/06/19 21:41:06 /TWRozlQ
while、forなら2回まで、ifなら3回くらいまでなら許せる。switchは1回かな。


299:名前は開発中のものです。
08/06/20 17:43:56 HYR3VEF9
こういうのは特に嫌だな、たまにやっちゃうけど
if(Aの取得){
 if(Bの取得){
  if(Cの取得){
   if(Dの取得){
    if(Eの取得){
     処理
     Eの開放
    }
    Dの開放
   }
   Cの開放
  }
  Bの開放
 }
 Aの開放
}


300:名前は開発中のものです。
08/06/20 18:56:25 smksGIRq
それは単に愚かなだけでは…。

301:名前は開発中のものです。
08/06/20 22:12:26 0jFV+g1O
思いついたアイデアを試験的に実装するときに書くコードだな

302:名前は開発中のものです。
08/06/22 00:46:33 Nh8dlMcG
すいません、質問です。

勉強の為、C++で2Dのシューティングゲームを作っています。
自機や敵などのアニメーションを作ってみたいのですが、
何か一般的な手法とかありますでしょうか?

303:名前は開発中のものです。
08/06/22 00:54:26 i0gJBqIP
楽な手は無い。
爆発するアニメのコマを一つずつ用意して適当な時間間隔ですり替えていく。
ちょっとプログラミング技術を要する。

304:302
08/06/22 02:26:24 Nh8dlMcG
>>303さん
レスありがとうございます。

その手法はなんとなくイメージできたので試してみたいと思います。
実際にプログラムで処理するとしたら、
アニメのコマの範囲や、切り替えの間隔をを管理するようなテーブルみたいなのが必要そうですね。

とりあえず現状は試しでソースにテーブルを直接書いてみる事にしますが、
キャラクタやらアニメーションのパターンやらが増えてきたら、
ソースに直接手書きで作成とかだと効率悪いような気がしました。

アニメーション管理に使えそうなツールとかあるのかな?
その辺も探してみようかと思います。

ありがとうございました。

305:名前は開発中のものです。
08/06/22 11:08:20 g06tuC8K
>304
やり方なんて幾通りもあるが、その方法で別に問題ないと思う。

アニメ管理ツールみたいなのは見たことがある。
企業だと確実に有るだろうな。


306:名前は開発中のものです。
08/06/22 11:33:19 GKAOzkXe
>>304
絵描きとプログラマが別人だとツール無しじゃやっとれんかもね。
俺は複数人での製作経験無いけど。
勉強も兼ねてるんならツール一式も自前で作ってみたらどうだろう。

307:名前は開発中のものです。
08/06/22 18:39:39 8b6P9lU/
簡単なシューティングゲームを作りました。
で、いままですっかり忘れていたんですが、メニュー画面ってどうやって実現しましょう

void main(){
  /*画面とかデバイスの初期化とか*/
  int select;
  while(true){
    select = menu(); //メニュー画面
    switch(select){
      ....
    }
  }
}

で、selectに応じてゲームを始めたり、オプション画面を出したり?

308:名前は開発中のものです。
08/06/22 19:01:36 PrpfkLMi
ほかの状態遷移はどうやってんの?
それと同じで良いと思うんだが・・・。

309:名前は開発中のものです。
08/06/22 19:11:44 8b6P9lU/
やべぇ、キャラセレ画面も考えてなかった

>>308
ゲームそのものはゲームクラスをインスタンス化して、
そのメソッドをmain関数内のループから呼び出してます

310:名前は開発中のものです。
08/06/22 19:20:28 PrpfkLMi
もしかして状態遷移考えて作ってなかったってこと?


311:名前は開発中のものです。
08/06/22 19:22:40 g06tuC8K
正直、>307で何がしたいのか見えてこないんだが。

while(1)
{
  if    (フラグ==タイトル   ) タイトル画面( );
  else if (フラグ==キャラセレ ) キャラセレ画面( );
  else if (フラグ==ゲーム本編) ゲーム本編( );
}

これでいいんじゃない?

312:名前は開発中のものです。
08/06/22 20:25:34 iT3uPeFi
関数のポインタ使うか
"デザインパターン"でググるといいかも

313:名前は開発中のものです。
08/06/23 00:11:11 T4uoidjV
class Scene{
void draw()
void move();
}

class Title : public Scene{
...いろいろ
}

class CharaSelect : public Scene{
...いろいろ
}

こんな感じで
currScene = new Title():
シーンごとに作るのがswitch使わなくてスマートになるんじゃないの?

314:名前は開発中のものです。
08/06/23 00:45:50 mDDnsWDd
>>313
それでどうやってswitch使わなくて済むかよくわからないのですが
while(1){
switch(scene){
case TITLE: currScene = new Title(); break;
case CHARA_SELECT: currScene = new CharaSelect(); break;
....
}
currScene->move();
currScene->draw();
}
自部のがちょうどこんな感じになってるんですがいい方法あるんですかね?

315:名前は開発中のものです。
08/06/23 00:59:18 fMSgUVEh
Scene* move()

p=move()
if(p!=NULL){
  delete currScene;
  currScene=p;
}


我ながら汚すぎて噴いた

316:名前は開発中のものです。
08/06/23 01:03:30 jZlgp0tw
>>314
状態が多くないならそれでいいと思うけど
自分はこんな感じ

class Scene{
virtual void draw() = 0;
virtual void move() = 0;
}
enum SCENE{ TITLE, SELECT, SCENEMAX };
SCENE now_int;
*Scene now;
*Scene scene[SCENEMAX] = { &title, &select};

while(1){
now = scene[now_int];
now->move();
now->draw();
}

317:名前は開発中のものです。
08/06/23 01:07:53 fMSgUVEh
now_intは誰が書き換えるん?

318:名前は開発中のものです。
08/06/23 01:15:36 T4uoidjV
こんなんはどう?

class Scene{
virtual void draw() = 0;
virtual void move() = 0;
virtual Scene sceneChange() = 0;
}

Scene * next;
if( ( next = currScene->sceneChange() ) != NULL )
{
  currScene = next;
}

だめかw

319:名前は開発中のものです。
08/06/23 01:25:34 jZlgp0tw
>>317
titleとかの状態のクラスが

320:名前は開発中のものです。
08/06/23 01:32:04 uo+1ccfk
適当に書いてみた

int SceneManager::receiveMessage(Message* pMsg, int param1, int param2, int param3, int param4)
{
  switch (pMsg->getType()) {
    case MSG_CHANGESCENE:
      assert(SCENE_ID_MIN <= param1 && param1 <= SCENE_ID_MAX);

      m_pNextScene = m_allScenes[param1];
      break;
  }

  return SUCCESS;
}

int SceneManager::execScene()
{
  if (m_pNextScene != NULL) {
    Scene* current = m_pCurrentScene;
    Scene* next = m_pNextScene;

    current->onExit();
    next->onEnter();

    m_pCurrentScene = next;
    m_pNextScene = NULL;
  }

  return m_pCurrentScene->execute(this);
}


321:名前は開発中のものです。
08/06/23 09:12:21 cIfICiuE
// あのね、僕の場合はね、シーンを総括するシナリオクラス作ったの。
// STLのlist(線形リスト)でSceneを管理するんだよ。
// (案外、スタックでもいいような気がするなー)
// (*1)Scenario::start()でシナリオが開始されて、
// (*2)登録されたScene::start()を呼び出すの。
// あ、Scene::start()っていうのは、そのシーンを開始するメソッドね。
// それでね、Sceneの中で次のシーンが決まったら、
// (*3)Scenario::addScene()で、次のシーンを登録して、
// 今実行中のシーンはただちに終わればいいの。
// (*4)登録されたシーンが全部無くなったらゲーム終了ね。

// ところで、これだけの長文読むより、プログラムを読む方が簡単に思えてくるだろ

list<Scene*> Scenario::scenelist;

void Scenario::start() // (*1)
{
while ( scenelist.size() > 0 ) { // (*4)
Scene* s = scenelist.front();
(*s)->start(this); // (*2)

scenelist.pop_front();
}
}

void Scenario::addScene(Scene* scene) // (*3)
{
scenelist.push_back(scene);
}


322:名前は開発中のものです。
08/06/23 22:43:25 SqRC+pBQ
個人的にはswitchやif文羅列が健全だと思うよ

そういえば関数ポインタや多態は最適化が効かないから
速度的に不利って話どうなの?

323:名前は開発中のものです。
08/06/23 23:23:03 0j4G1ygb
最適化する必要無いほど早い。

324:名前は開発中のものです。
08/06/23 23:36:23 /qtuGijz
>>個人的にはswitchやif文羅列が健全だと思うよ
いわれてきづいたけど、小規模のシーン管理だとswitchとかifのほうがいいとおもた
RPGぐらい画面遷移が複雑だとクラスのほうがいいかもしれんけど

>>速度的に不利って話どうなの?
とりあえずクラス自体がわりと重いっぽい、いろいろ調べたら早くする方法が書いてあって
それ全部使えば矩形の当たり判定なら数千個までいけると思う


325:名前は開発中のものです。
08/06/24 19:19:07 YG9wxXVw
関数ポインタ利用して関数並べて実行させるのとswitch/caseって分岐が少ないと殆ど速度に差が無いみたいだな

326:名前は開発中のものです。
08/06/24 20:37:20 qocbnAno
今時関数ポインタ程度で重いって(笑)

327:名前は開発中のものです。
08/06/24 23:07:53 nk5lzdPA
それを言い出すと、いまどき配列走査くらいで、
いまどきnewくらいで……と富豪厨化する
ていうか、それが俺


328:名前は開発中のものです。
08/06/24 23:12:47 vNDV7jMM
javaのスレッドをnewするのはコスト高いぞ。

329:名前は開発中のものです。
08/06/25 03:01:35 c0GyxKOT
どう実装されているかも分からないヴァーチャルマシンのコストを決めつけてかかる328は、
たぶん学歴が低い。

330:名前は開発中のものです。
08/06/25 03:23:39 LrDWXSL9
学歴という言葉を出さないでくれ。荒れる。

331:名前は開発中のものです。
08/06/25 20:09:54 /Pf8ls+r
>>329>>328 VMがどう実装されてるか知らないと何故言い切れるんだろう?


332:名前は開発中のものです。
08/06/25 21:18:20 4PLXCLdL
どのVMを利用するか未定であれば、どんな実装なのかも未定だ。
ただ、VMレベルでコストが高いと言っている可能性もあるけどな。

333:名前は開発中のものです。
08/06/25 21:58:19 zW+uiCng
マルチスレッドにするとsynchronized やvolatileを使わざるを得ないから
関数や変数へのアクセスコストが全体的に割高になるという意味でなら納得。


334:素人
08/06/26 00:03:25 FJtaI/dg
ここのみなさんってゲーム会社に入れるくらいスゴいんじゃないかって最近見てて思います。
現実はもっと厳しいものなのでしょうか?

335:名前は開発中のものです。
08/06/26 00:53:43 J+99J/hz
ドラクエみたいにちょこちょこ仲間が着いてくるのを実装したいんですがどうすればいいんでしょう?
考えたのは、入力された上下左右を保存しておいて、一個遅らせながら次のキャラに適応って感じなんですが
うまくいかないです。どういう考え方をすればいいんでしょ?

336:名前は開発中のものです。
08/06/26 00:58:21 7RoWXjdF
考え方はそれで問題ないと思う
実装でミスってるんじゃない?

337:名前は開発中のものです。
08/06/26 01:00:06 J+99J/hz
ありがとうございます
そうですか、もう一遍見直してきます

338:名前は開発中のものです。
08/06/26 04:03:21 08fIa4T9
>334
ゲーム会社であることは、おそらく全く関係が無い。

339:名前は開発中のものです。
08/06/26 10:07:11 TBkGU+/r
>>334
実際業務中にここ来てる奴も居るだろ。
俺含め、普段コンシューマやってて趣味でwindowsプログラム
してる奴とか。

340:名前は開発中のものです。
08/06/26 11:43:02 MvZUxeyN
>>334
すごい人は極一部で語るスレみたいなゴミがほとんど

341:名前は開発中のものです。
08/06/26 14:11:44 LcBDfznV
本職PG(非ゲーム系)が趣味でゲーム製作ってのは多そう。

342:名前は開発中のものです。
08/06/26 20:54:16 UkEztdRQ
ゲーム業界自体がそのゴミだよ。

343:名前は開発中のものです。
08/06/26 23:52:36 i6T6uFP1
>335
>入力された上下左右を保存
入力じゃなく、前のキャラクターの座標の数値を入れたら?

344:名前は開発中のものです。
08/06/26 23:57:28 ICzeg2Oh
後ろのキャラは1歩分昔の自キャラ
つまり、1手前の操作を反映してやればいいんだ

もしくは多間接でATAN使って常に前方キャラと一定距離を保つようにすればいい

345:名前は開発中のものです。
08/06/27 00:01:56 JPbTTp2P
>>341
俺そうだよ。
三流と言うのもおこがましいほどの三流で将来が怖いけど。
会社のPCはプロキシに弾かれて2chにアクセスできないなぁ。

>>335
人によって実装方法は違うと思うけど俺の場合……
・X,Yを格納できるバッファを49個用意して適当に初期化する
・先頭キャラの座標に変化があったときのみ、以下の処理を行う
  ・バッファを1つずつスライドしてバッファ[0]に先頭キャラの座標を入れる
  ・2人目の座標をバッファ[16]と同値にする
  ・3人目の座標をバッファ[32]と同値にする
  ・4人目の座標をバッファ[48]と同値にする

346:名前は開発中のものです。
08/06/27 04:58:56 y+uRaN6T
345みたいな実装を行うと、「キャラの並び替え」を追加したときに
拡張地獄に陥るんだよね。
さらにDQ4的な「障害物があったら避ける」メカニズムは絶望的になる。
浅謀近慮の典型例。

347:名前は開発中のものです。
08/06/28 00:56:37 UNOxry2I
並び替えをしたらバッファも"並び替え"をするに決まってるじゃないかHAHAHA

348:名前は開発中のものです。
08/06/28 02:56:38 uLeq9+80
FCドラクエの並び替えって瞬間移動じゃなかったか?
>>345の場合、新しく二人目になった人がバッファ16を参照すりゃいいような

>>346
そういや馬車の動きとか独特だった

349:名前は開発中のものです。
08/06/28 11:23:44 uY+gT1X+
隊列で思い出したけど、
弱いキャラ(魔法使い系)を中央に置く隊列って、あんまり見ないよな。

350:名前は開発中のものです。
08/06/28 12:52:55 UNOxry2I
そもそもオープンフィールド系のゲームで隊列云々をシステムに組み込まれてもあまり説得力なくね?
例えば、敵が8体いて、味方が4人(前列2人後列2人)
こういうケースですら「後列にいるから攻撃される可能性が低くなります」ってそれは違うだろう
TRPGやダンジョン系RPGのシステムを何も考えずに適用するから変なことになるんだ

351:名前は開発中のものです。
08/06/28 14:20:27 mxHBnLLH
敵中に孤立した所を三方向から突き入れられたりした日にゃ、
よっぽどの人間でない限りは突き殺されるんでね?
そういった状況を生み出さないために、隊列には意味がある。
でもな、説明されんと隊列の意味なんて分かんね~よな。

352:名前は開発中のものです。
08/06/28 19:29:34 /wGNqaoZ
激しくスレ違いだけど、ちゃんと軍隊も機能しててそれでいて主人公も
旅をしているRPGってあるんだろうか?

353:名前は開発中のものです。
08/06/28 19:43:05 5mLxNHUh
中東の片田舎で生まれて、
軍隊に入って、
クウェート行ったり、
撤退したり、
米穀人が攻めてきて、
カリブ海の法的に微妙な島の施設に長期に渡って監禁されたり?



つか板違いだからw

354:名前は開発中のものです。
08/06/28 19:44:59 mxHBnLLH
「ちゃんと軍隊が機能してる」をもちょっとkwsk。
どのように機能してるのがちゃんと機能してるとされるのかが分からん。

355:名前は開発中のものです。
08/06/28 19:59:59 4KDS7Fkw
例えばトルコの軍隊は、政治が宗教に流れ始めるとクーデターを起こして
政教分離を保つという役割を持っていたりするが...というわけで、軍なんて
国によってさまざまなんだよな。

356:名前は開発中のものです。
08/06/28 20:02:40 /wGNqaoZ
主人公が倒すべき敵に主人公の祖国が脅威に晒されていて(ドラクエなど)
軍隊が死に物狂いで国を守ってたりするけど、結局少人数の主人公のパーティで
解決してしまうのはガチガチの少年漫画みたいだと思って。

357:名前は開発中のものです。
08/06/28 20:18:02 95DOzYjU
要するに演出面の問題かな?
システムで軍隊まで絡めると、ゲームのジャンルが変わってしまうだろうから。
別に少年マンガでなくとも、指輪物語だって軍隊はそれはそれで戦ってるけど
敵に決定打を与えるのは少数だったり、STAR WARSだってまあそんな感じだし
少人数による解決ってのは古典的英雄譚としての典型だと思う。

358:名前は開発中のものです。
08/06/28 20:20:17 mxHBnLLH
そりゃ無理だろ。RPGは主人公補正の無茶っぷりを楽しむゲームだろ?

359:名前は開発中のものです。
08/06/28 20:39:43 mxHBnLLH
元ネタのTRPGですら、主人公補正を楽しむことがメインのゲームが珍しくはないしな。

360:名前は開発中のものです。
08/06/28 21:14:31 aueJy81E
自分の軍隊を出したら損害もでかいし
そこら辺の適当な奴を勇者とか煽てて
モンスター狩らせて
魔王倒せたらラッキーみたいなー

361:名前は開発中のものです。
08/06/28 21:17:08 ECKeTV2B
主人公一行は王様直轄の特殊部隊だし
各地でそれとなく情報提供してくれるNPCも主人公一行を支援するために隠密作戦行動中の諜報員だ
すべてのお膳立ては軍の組織的支援の賜物


362:名前は開発中のものです。
08/06/28 21:17:15 2Xd2aLuG
>>352
Wizやベイグラ、ソーサリアンみたいに世界を救う話でなく、軍隊が
入れない迷宮に暗殺目的で潜入とか、僻地での小さい事件を淡々と解決
していくものは、それなりに軍隊らしきものがあるようには見えるね。
変り種では7(モールモースの騎兵)みたいに少年主人公達は世界を救えず
その後に軍が対処することになるものもあるけど。

太閤立志伝や大航海時代、ボコスカウォーズ、メタルギア(MSX版とか)も
含めてどこまでをRPGと言うのかはよく分かんないし、あまり考えるのも
スレ違いなのでアレだけど。

363:名前は開発中のものです。
08/06/28 21:18:37 mxHBnLLH
>>357
>ゲームのジャンルが変わってしまうだろうから。

まず9割はSLGになっちまうだろな。
むしろ、卓上で遊ぶSLGをコンピュータ化させたSLGを作る方が話が楽そうだ。

364:名前は開発中のものです。
08/06/28 21:26:23 5mLxNHUh
でおもむろに主人公の居るヘックスの敵カウンター(駒)を摘み上げて盤外に追放するわけですね!

365:名前は開発中のものです。
08/06/28 21:58:04 mxHBnLLH
そろそろ卓ゲー板を紹介した方が良いのかな?

366:名前は開発中のものです。
08/06/28 22:24:39 ECKeTV2B
強力な召喚呪文は近接航空支援とか砲撃支援だし
ルーラはヘリ呼んで緊急脱出だ

お金持ちの国が敵性国家にしかける非対称戦や非正規戦(テロ作戦や暗殺作戦)
みたいなもんだ

367:名前は開発中のものです。
08/06/28 22:43:20 mxHBnLLH
卓ゲー板にこんなスレがある

■ウォーゲーム・シミュレーションゲーム総合63■
スレリンク(cgame板)

368:名前は開発中のものです。
08/06/29 00:40:44 q993c33X
主人公達はがんばってるさ、でもフィン城を奪還したのはミスリルを手に入れた反乱軍達だぜ。
とかあるし、このぐらいのさじ加減がいいんじゃない?

369:名前は開発中のものです。
08/06/29 02:13:00 MunHwh7d
そしてミンウの命懸けの行為は役に立たなかった。

…ってのはともかく。
基本的に、RPGにおける軍隊ってのは推理小説における警察みたいなものかと。
特撮物における自衛隊とかね。
主人公達が精鋭部隊であるにしても、それがメインであるならむしろSLG(含SRPG)に向いた素材だと思うし。
(そういや、軍の作戦行動が出てくるRPGって言われてパッと出てくるのはFF2とかFF4序盤、FF5のビッグブリッジ前後、FF6のレジスタンスまわり、FF7の過去話、FF8の両方の主人公とかFFばっかだなぁ…それ以外にも勿論あるはずだけど)

370:名前は開発中のものです。
08/06/29 02:55:27 U4gZ+hUl
軍隊行動というと、エメラルドドラゴンとか、ヴェインドリームとか、
ヴェインドリームIIとか、アルシャークとか、とにかく、今は無き
グローディア系の記憶が多いな。あと、西風の狂詩曲とか。
軍隊を描けるライターって、意外と貴重なのかもな。

371:名前は開発中のものです。
08/06/29 08:42:13 o2ccU7kP
D&Dからウォーシミュレーションへの先祖返りについて議論するスレはここですか?

372:名前は開発中のものです。
08/06/29 09:09:59 DZgd6AkJ
その軍隊の中に主人公がらみのキャラクターをおくと、軍隊の存在感が上がると思うよ

まぁ最近はそんなのないけど。

373:名前は開発中のものです。
08/06/29 15:30:35 q993c33X
DirectXの3Dで、
武器の着脱等部分的なポリゴンの入換と座標管理や、
アニメーションの管理など解説してるサイトはないでしょうか?



374:名前は開発中のものです。
08/06/29 16:03:18 VJmjeOZb
レミュオールみたいなゲーム作りたいんだがNスクリだとどうやるんですか
一応普通のノベルなら作れるんですが

あとそれ以外にも作り方があったら知りたいんですが

375:名前は開発中のものです。
08/06/29 21:05:31 GLV8FDV4
レミュオールやガストゲーは自分で1から作った方が楽だな。
せいぜい吉里吉里使ってkagいじりまくる位すれば良いじゃない。

376:名前は開発中のものです。
08/06/29 21:21:37 GLyeoiY/
あそこまで複雑だとHSPなり何なり覚えたほうが結果的には楽だと思うな
pygameとかRuby/SDLとかでも良いかも

377:名前は開発中のものです。
08/06/29 22:16:29 iKbwl08w
HSPやるくらいならCやってくれ。変な癖ついてあとから大変だぞ

378:名前は開発中のものです。
08/06/29 22:16:54 IHYBRD67
>>373
D3DXのアニメーションコントローラ使ってるなら
D3DXFRAMEとか D3DXLoadMeshHierarchyFromXとかで
ぐぐると幸せになれると思うよ
書籍ならGame Codingとかいうやつ。あと逆引きDirectXとか。
数年前はこのあたりの解説記事とか参考書ほとんどなかったから
思考錯誤が必要だったけど今は楽チンみたいね

再生中のスケルトンの各ボーンの位置姿勢はD3DXFRAMEの木に
入ってる。普通にアニメーション入りワンスキンモデルのXファイルを読んで
再生するコードが出来上がってるなら、あとは再生中にほしいボーン、
(例えば掌から伸ばした武器ハンドラ)、のD3DXFRAMEから行列を
ひっぱってくる。各D3DXFRAMEに入ってるのは親ボーン基準の
座標系だから、ルートから順に辿って姿勢を乗算してけば所望の
姿勢行列がゲットできる

379:名前は開発中のものです。
08/06/29 23:43:21 q993c33X
>>378
あーそうか。装備する場所のボーンを仕込んどいて、対応する行列を取得すればいいのか
どうもスキンメッシュの外部から武器のメッシュをスキンメッシュ内にぶち込む方法ばかり考えてた。頭かたいorz
ありがとうございました。ワクテクしてきた!!



380:名前は開発中のものです。
08/06/30 05:22:11 WUpWsVvz
global list<cToken> listToken;

{  cToken *tk = new cToken;
  listToken.push_back(*tk);
}

{  list<cToken>::iterator it = listToken.begin();

  delete(*it);
}
の最後deleteで
type `struct std::_List_iterator<cToken>' argument given to `delete', expected pointer
ってエラーが出るんですけどどうすりゃいいんでしょうか
newで確保した分を解放したいだけで、特殊な処理はありません

元々は構造体で同じエラーが出て、「deleteはデストラクタ呼ぶ」って記述から、
デストラクタ導入するためクラスにしてみたんですが変わらないんです
デストラクタには何も記述してません

381:名前は開発中のものです。
08/06/30 05:46:27 MAN7mmN8
>>380
global list<cToken> listToken; // cToken クラスの配列(not cToken* の配列)

{  cToken *tk = new cToken; // (A) cToken* はポインタ型
  listToken.push_back(*tk); //(B) *tkを引数としたコピーコンストラクタを起動し、
                   // 新たに生成したcTokenをlistTokenに追加
// この時点で cToken クラスの実体は2つ。
// (1) (A)でnewしたcToken
// (2) (B)でコピーコンストラクタで生成されたcToken
}
// tkをdeleteしていない…? メモリリークしてますね、きっと。


{  list<cToken>::iterator it = listToken.begin(); //itはイテレータ

  delete(*it); //参照外しした *it は、cTokenクラス扱い

// cToken クラスは cToken* (ポインタ型)とは違うので、delete は イヤン
}
// …みたいな感じー。

382:名前は開発中のものです。
08/06/30 05:51:08 eTwd6t11
そりゃエラーメッセージにもある通り
delete(it);
にするべきだろうよ。

383:名前は開発中のものです。
08/06/30 05:54:40 MAN7mmN8
>>382はウソつきなので気にしないように…

384:名前は開発中のものです。
08/06/30 06:25:05 eTwd6t11
…ああ、すまん、とんでもない早とちりだ。
>>383が言うように気にしないでくれ…

385:名前は開発中のものです。
08/06/30 07:23:04 aLJAk26B
FLASHってゲーム製作にどうですか?
ビットマップの精細なアニメーション加えた作品作りたいんだけど迷ってます。

386:名前は開発中のものです。
08/06/30 08:57:38 WUpWsVvz
>>381-384
ありがとうございました
コピーコンストラクタ知りませんでしたorz
最初のスコープでdelete入れても正常に動作したのでずばりそこだったようです

ということで後のスコープは削除してlistToken.Clear()にします

387:名前は開発中のものです。
08/07/01 08:38:41 +zv2kccG
>>385
シンプルなゲームならいいんじゃね?
でも複雑なflashゲームは嫌い

388:名前は開発中のものです。
08/07/01 09:56:55 qHGY+7bY
誰も好みの話は聞いてないだろうに
FlashはAS3になって言語的にしっかりしてきたので
複雑なゲームにも向くようになったと思う
特にスキン可能なコンポーネントはRPGとかSLGとかに最適
でも激しいアクションゲームにはイマイチ速度が足りない
あと精細なアニメーションってどんなんだ

389:名前は開発中のものです。
08/07/01 10:01:10 SWCY/+7Q
>>388う~ん、キャラとかは決まってるけど時間かかるでなー。
二年後のスペックにあわせた製作をするとして例えばKOF並のドットアニメは
可能ですか?
シンボル化してぐにゃぐにゃ動かすより違うドットに素早く切り替えるタイプの
アニメーションをさせたいんですよ。

390:名前は開発中のものです。
08/07/01 10:03:09 SWCY/+7Q
>>388重スマソ。加えて言うならFLASH独特の奥行き感や空間感が良いと思って
作ろうとしたわけです。素人でも扱い容易いしね。ジャンルはPSテイルズに似た感じに
なると思う

391:名前は開発中のものです。
08/07/01 10:41:00 qHGY+7bY
RPG?なら描画速度は問題ないと思う
でもFlashのビットマップは基本的に24/32bitカラーだからそれなりにメモリを消費する
(もちろん画像に使用したメモリの破棄は可能)
KOF 並のグラフィックがどんだけメモリ食うか知らないので何とも言えないけど
ビットマップでアニメやるんならメモリ量の見積りして、できれば実際にテストした方がいい

392:名前は開発中のものです。
08/07/01 11:30:10 qHGY+7bY
>>390 追記。
試しに800x600の画像を200枚くらい読み込んで30fpsでアニメさせてみたけど
メモリも使い放題だしcpu使用率は10%切ってるし何の問題もなかった
ハードウェアアクセラレーションがきくかどうか注意しながら作ればまず問題ないかと


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