[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 06/11 19:11 / Filesize : 240 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

DXライブラリ 総合スレッド その12



1 名前:名前は開発中のものです。 mailto:sage [2012/02/23(木) 21:35:32.53 ID:Si08WDH/]
Cを習得した程度のスキルでも、
ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

【公式】
homepage2.nifty.com/natupaji/DxLib/

【過去スレ】
DXライブラリ 総合スレッド
pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
pc11.2ch.net/test/read.cgi/gamedev/1224923873/
DXライブラリ 総合スレッド その3
pc11.2ch.net/test/read.cgi/gamedev/1238429676/
DXライブラリ 総合スレッド その4
pc11.2ch.net/test/read.cgi/gamedev/1249822550/
DXライブラリ 総合スレッド その5
pc11.2ch.net/test/read.cgi/gamedev/1259912953/
DXライブラリ 総合スレッド その6
hibari.2ch.net/test/read.cgi/gamedev/1267108154/
DXライブラリ 総合スレッド その7
hibari.2ch.net/test/read.cgi/gamedev/1286180687/
DXライブラリ 総合スレッド その8
hibari.2ch.net/test/read.cgi/gamedev/1301818631/
DXライブラリ 総合スレッド その9
hibari.2ch.net/test/read.cgi/gamedev/1310904069/
DXライブラリ 総合スレッド その10
hibari.2ch.net/test/read.cgi/gamedev/1313655495/
DXライブラリ 総合スレッド その11
toro.2ch.net/test/read.cgi/gamedev/1322844235/

712 名前:名前は開発中のものです。 mailto:sage [2012/05/14(月) 20:59:03.55 ID:nfhDOHHW]
DXライブラリスレで質問したということは、
ツクールなどでなく、プログラムを0から作るということだよね
プログラムの経験がないなら、プログラムのやり方をつかむまでにも、時間がかかると思う

713 名前:名前は開発中のものです。 mailto:sage [2012/05/14(月) 21:00:26.92 ID:ARfdhxrz]
使う言語が分からん。
使うツールが分からん。
どんな設計するか分からん。
そもそもどんなゲームか分からん。
>>709の技量が分からん。

本当に>>709だけだったら1時間もかからないんじゃない?
__人≡_扉_敵≡_扉___
↑を適当に表示すれば?

714 名前:名前は開発中のものです。 mailto:sage [2012/05/14(月) 21:13:16.20 ID:fXKpuvEK]
手を動かさない限りは100万年あってもできないからw

715 名前:名前は開発中のものです。 mailto:sage [2012/05/14(月) 21:48:26.61 ID:nluLiaGY]
>>711
難しくはないけど、何時間で作れるかはわからない。開発時間なんて測ったことないから。昨年作った自分のゲーム(STG)見たらデバッグでのプレイ時間は今調べたら12時間くらい。だから製作時間は100時間は超えてると思う。
俺は1年で1作品作ってるけど1年の内この期間は言語の勉強して、この期間はライブラリ作って、みたいな感じ。ゲーム作ってる期間は3ヶ月くらい。
参考になりましたでしょうか?

716 名前:名前は開発中のものです。 [2012/05/14(月) 21:51:45.72 ID:FOic/R1y]
話変わるけど、>>715さん。
シンプル500って知ってるかい?

あぁいう感じのゲーム好きなんだわ。
500の脱出ってしってる?

あんな感じのインターフェースが良いな。
初心者です^ω^
言語はCです。(C++は無理)
ライブラリはDxlibraryとvisualC++

717 名前:名前は開発中のものです。 mailto:sage [2012/05/14(月) 21:58:12.39 ID:nHTiVln5]
(C++は無理)

visualC++

718 名前:名前は開発中のものです。 mailto:sage [2012/05/14(月) 22:28:40.41 ID:Fjz7pfxe]
>>716
ああいうのはフラッシュのほうがいい

719 名前:名前は開発中のものです。 mailto:sage [2012/05/14(月) 22:37:14.19 ID:M7E7ECcT]
>>716
ClassはまだしもStringとか使ってないの?

720 名前:名前は開発中のものです。 [2012/05/14(月) 22:39:41.11 ID:FdCjrB5P]
「free game classic(フリーゲームクラシック)」とは?
3ヶ月ごとに開催される個人運営のコンテストでみんなの投票で
順位を決めます。
「プレイ時間は90分内」「先行公開が可能」など、ルールがあるので要注意。
3位までにギフト券3000〜1万円が贈られるます。
ゲームを作ってコンテストに参加するもよし、ただ遊ぶでもよしです。




721 名前:名前は開発中のものです。 [2012/05/14(月) 22:54:07.17 ID:FOic/R1y]
>>718
フラッシュだとツール臭するからな。

CやBASICで10年以上前の簡単なPCゲームみたいなん作るのが楽しいんだよ。

あーコン部思い出すわ。

722 名前:名前は開発中のものです。 mailto:sage [2012/05/14(月) 23:07:35.73 ID:Y0QiG0Ej]
10年程度じゃまだレベルたけーぞ。

723 名前:名前は開発中のものです。 mailto:sage [2012/05/14(月) 23:13:10.08 ID:ZvZF0l1B]
>>720
ぐぐった。そしてなんだこの残念感。

724 名前:名前は開発中のものです。 mailto:sage [2012/05/14(月) 23:16:49.28 ID:FOic/R1y]
>>722
違うって。
12年前くらいのPCゲーム。
Shock Priceの500円の脱出ってゲームしってるか?

あぁいう簡素だけど、コミカルでわくわくする雰囲気の
レトロゲー作りたいんだよ。

昔に戻れる。
パソコン部思い出せる。あーあのころに帰りたい。


725 名前:名前は開発中のものです。 mailto:sage [2012/05/14(月) 23:21:21.72 ID:FOic/R1y]
>>722
お前コン部の楽しさしらないだろ?

公立なのに夏にクーラー利いた部屋に出入りしたら
勉強できないのにコンピュータだけは得意なメガネ君がカタカタやってる。
で俺は話ついていけないから、今度のコンクルール何出そうか?みたいな
話題提供したら乗ってくれる、色々教えてくれる。楽しいぜ?和気藹藹。
女子はパソコン苦手だから、固まってお喋りしてる。可愛い子もいた。
土曜日なら先生少ないから、サッカー部の生徒が可愛い女子目当てに
乱入しちゃったりしてさ。
あのころに戻りたい。





726 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 00:21:21.90 ID:I2SNujz0]
コンピュータ部ってX6800、PC98、FMタウンズの勢力争い三国志みたいなとこだった



727 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 01:02:26.15 ID:3TH09wJu]
>>725
俺の知ってる部活と違う。クーラーしか共通点がない。
全員でエロゲのセーブデータ解析&先公から頼まれた市販ソフトのコピー遂行。
解析データは投稿。>>725はどこの世界に生きてたんだよ・・・

728 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 01:09:35.50 ID:G9xvbrPp]
>>725
俺もdoubtだわw
「パソコン」が通称だった時代は、まだ全く身近じゃなかったんじゃないか?
サッカー部に女子がまとわりついてるってんなら分かるが。

あと、
>Shock Priceの500円の脱出ってゲーム
アマゾンのユーザレビューでボロクソ言われてんなww

729 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 02:01:02.79 ID:G9xvbrPp]
「パソコン」はまだ言うなw
スマソ

730 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 02:28:36.70 ID:I26iNYfr]
マイコン



731 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 04:55:54.75 ID:l3PfYtxB]
コンピュータの話をするとそんなもん何の役に立つんだと
老害教師に鼻で笑われたなー

732 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 06:22:59.75 ID:WoSDo/nx]
実際役に立たないから困る

733 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 08:27:06.44 ID:n+C8wzG1]
実際ゲームのメイン部分ってwhileじゃないと駄目なの?
GPの館に書いてあったんだが

734 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 08:46:09.63 ID:P26WoJ+E]
他の制御構文は
for:初期化式と再初期化式が省略可能だが余分
do〜while:初回無条件に実行が必要じゃない
goto:基本的に使用は避ける

無駄が無いからwhileを使う

735 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 10:45:28.39 ID:/AN6bfUC]
while以外に何を使いたいんだ?w

736 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 11:24:27.70 ID:7q5MiGtI]
do〜whileを使うプログラマ、使わせるSEはクズ

737 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 13:32:48.02 ID:DvZhu9E1]
統一させないといけない仕事ならともかく、
趣味でやる分には好きにすればいいと思うよ

738 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 15:26:41.12 ID:WoSDo/nx]
while(true)よりfor(;;)の方が速いらしい

739 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 15:36:07.96 ID:7MbmXZQt]
そもそもそれぞれ機能が違うんだから「ループ処理」みたいにバカな一括りにしてないで使い分けろよw

740 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 17:48:29.94 ID:K4tOkwgR]
そんな微妙な差をきにするほどのゲームなのかと聞きたい



741 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 18:39:55.59 ID:WoSDo/nx]
for, foreach, while, doはforに統一してもいいよな。

for(int i=0; i<5; i++){}
for(Type object : array){}
for(true){}
{}for(true)

742 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 20:11:20.70 ID:jK/Ti//s]
>>740
宗教寄りな個々の拘りの問題で、出来上がる物にそこまで影響してこないでしょ
>>736 がそう思う理由を聞きたい。普段から殆ど使わないけど、なにかか不味かったけ?

743 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 20:18:12.31 ID:FJN+ySbI]
do〜whileの存在なんて忘れかけてたわw

744 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 20:30:17.74 ID:Q/+zfBD6]
do〜whileは一生使わないと思う

745 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 21:38:56.48 ID:NycYNCvV]
僕この前使ったことあるよ!!
二次元上の点をランダムな点(ただしPCの半径n以外)を得るコードの時に人生で初めて

746 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 21:42:25.47 ID:I2CLfunR]
do whileはstd::next_permutationで使うくらい

747 名前:名前は開発中のものです。 [2012/05/15(火) 22:14:03.49 ID:AbQ+Urgd]
do{
処理;
if(エラーチェック1) break;
処理;
if(エラーチェック2) break;
処理;
return;//正常終了
}while(false);
エラー処理
return;

これでgoto要らず・・・

748 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 22:15:08.62 ID:SjeSUqBD]
構文がもし do while(条件) { ... } だったら、もうちょっと使ってたかもしれない

749 名前:名前は開発中のものです。 mailto:sage [2012/05/15(火) 22:34:26.99 ID:AbQ+Urgd]
あと有名なのははDuff's Device
send(to, from, count)
register short *to, *from;
register count;
{
register n=(count+7)/8;
switch(count%8){
case 0: do{ *to = *from++;
case 7: *to = *from++;
case 6: *to = *from++;
case 5: *to = *from++;
case 4: *to = *from++;
case 3: *to = *from++;
case 2: *to = *from++;
case 1: *to = *from++;
} while(--n>0);
}
}

750 名前:名前は開発中のものです。 mailto:sage [2012/05/16(水) 01:14:43.27 ID:E/82p3zm]
>>749
なんだこれは



751 名前:名前は開発中のものです。 mailto:sage [2012/05/16(水) 01:33:14.92 ID:E/82p3zm]
>>659だけど
他で作った好きな要素数の配列をnewしてアドレス変数をポンポン交換してって
使い終わったやつはdeleteで開放
で擬似的に動的配列になるかね

日本語意味不明だけど解読してくれると嬉しい

752 名前:名前は開発中のものです。 mailto:sage [2012/05/16(水) 01:53:38.37 ID:uCI89rGL]
配列は定数しか無理だよ
動的配列のvectorじゃだめなん?

753 名前:名前は開発中のものです。 mailto:sage [2012/05/16(水) 03:41:31.70 ID:veKNCjZ1]
vectorが内部でやってることだろ。
基本を抑えずvector使っても結局詰まるよ。

754 名前:名前は開発中のものです。 mailto:sage [2012/05/16(水) 04:11:42.74 ID:xN96LXhW]
vectorとか適当にぶん回しても要素1000くらいまでならマジ優等生
何も考えずにvector使えばいいよ

755 名前:名前は開発中のものです。 mailto:sage [2012/05/16(水) 20:28:31.12 ID:veKNCjZ1]
おまじないプログラマーの甘言を真に受けないように

756 名前:名前は開発中のものです。 mailto:sage [2012/05/16(水) 21:05:20.10 ID:Zs3i0kMO]
プログラマーとして一流になる必要などなくて、ゲームが作れればいいんだから、
さっさとvector使えばええやん
C++ STL vectorとかでぐぐれば資料もたくさんあるから、必要な情報も得やすい

757 名前:名前は開発中のものです。 [2012/05/16(水) 21:17:43.67 ID:xcEAC60x]
名前空間とかわけわからんdせう

758 名前:名前は開発中のものです。 [2012/05/16(水) 21:22:50.79 ID:xcEAC60x]
クラスをインスタンス化する時コンストラクタやiniメソッドでメンバを初期化するとする
この時わざわざ
class Constructor{
private:
 int x,y,z;
public:
 Constructor(tmpx,tmpy,tmpz){
  x=tmpx;
  y=tmpy;
  z=tmpz;
 }
}
って名前変えて一個ずつ代入していくのが面倒なんだけど、この方法しかないの?

 Constructor(x,y,z){}
が出来るならいいんだけど

759 名前:名前は開発中のものです。 mailto:sage [2012/05/16(水) 21:52:32.82 ID:Ii6Gjoka]
Constructor(int tmpx, int tmpy, int tmpz) : x(tmpx), y(tmpy), z(tmpz) {}
とかどうよ

760 名前:名前は開発中のものです。 [2012/05/16(水) 22:06:52.36 ID:xcEAC60x]
やっぱなんかダサイねん(´・ω・`)
tmpとか無くしたい
x→tmpx→x

 ↓

x→x



761 名前:名前は開発中のものです。 mailto:sage [2012/05/16(水) 22:10:09.69 ID:DWTPf8LX]
テンプレートで初期化を自動化するstatic関数作ればいいじゃん
こういうのってC++でもできるよね?

762 名前:名前は開発中のものです。 [2012/05/16(水) 22:13:40.69 ID:xcEAC60x]
なんかこう、パラメータヒントの変数名がtmpでダサい(´・ω・`)

763 名前:名前は開発中のものです。 mailto:sage [2012/05/16(水) 22:22:46.08 ID:GI6piSjh]
大文字・小文字で区別ができるんじゃ?

764 名前:名前は開発中のものです。 mailto:sage [2012/05/16(水) 22:23:30.21 ID:aRUZ3+na]
同じ名前でもいいぞ、混乱しないようにメンバ変数にthis付けたほうが安全だけど

765 名前:名前は開発中のものです。 mailto:sage [2012/05/16(水) 22:30:48.24 ID:uOBgzP4U]
class point {
private:
 int x,y;
public:
 point()
 {
  *this = point(x,y);
 }
 point(int x,int y) : x(x),y(y)
 {
 }
};
ってダメかね

766 名前:名前は開発中のものです。 mailto:sage [2012/05/16(水) 22:54:49.23 ID:vXiMaXO2]
>>758
内部変数とアクセッサ・引数用の変数ネーミングのルールを作る。
内部変数は省略形で書き易く、アクセッサ・引数用は分かりやすく。
それ以上気にすると先に進まん。
なんかいい方法があれば後で直せば良いや、くらいで。

767 名前:名前は開発中のものです。 mailto:sage [2012/05/16(水) 23:53:20.10 ID:O28tHfhr]
>>764
安全っつーか、thisつけないとアクセスできないでしょ

768 名前:名前は開発中のものです。 mailto:sage [2012/05/17(木) 00:12:52.18 ID:lbGUPy7y]
俺ならこうだな
変数は構造体の中にまとめる
変数が増えても構造体をいじるだけでいい

typedef struct xyz
{
int x;
int y;
int z;
}stXYZ;

class Constructor
{
private:
stXYZ xyz;
public:
Constructor(stXYZ *pstTmp)
{
memcpy(&xyz,pstTmp,sizeof xyz);
}
};

//呼び出し側
stXYZ stTmp = {1,2,3};
Constructor constructor(&stTmp);


769 名前:名前は開発中のものです。 [2012/05/17(木) 00:24:19.25 ID:Jj8o5dc4]
>>768
(・δ・`)

770 名前:名前は開発中のものです。 mailto:sage [2012/05/17(木) 04:59:40.80 ID:4FnschNb]
>>767
初期化子リストじゃだめなの?

class foo
{
public:
foo (int x, int y) : x(x), y(x) {}
private:
int x,y;
};




771 名前:名前は開発中のものです。 mailto:sage [2012/05/17(木) 08:20:02.90 ID:XdhnKfWC]
できればコンストラクタに引数渡したくないな

772 名前:名前は開発中のものです。 mailto:sage [2012/05/17(木) 09:51:33.09 ID:Jj8o5dc4]
よくわからんけど引数から直接メンバにデータを渡す事は変数介さないと無理でok?

773 名前:名前は開発中のものです。 mailto:sage [2012/05/17(木) 10:48:59.52 ID:72LABUA9]
そこは見た目だけの問題だからintとか組み込み型だと最適化で消える場合もある

774 名前:名前は開発中のものです。 mailto:sage [2012/05/17(木) 12:18:20.00 ID:kt0acN7f]
レベル高すぎてついていけない

775 名前:名前は開発中のものです。 mailto:sage [2012/05/17(木) 12:51:45.63 ID:XdhnKfWC]
別にsetter, getterない publicなメンバ変数を持ってもいいし、
visual studio c++ 専用だけどpropertyという機能もある

776 名前:名前は開発中のものです。 mailto:sage [2012/05/17(木) 16:09:41.33 ID:jk5kVr/j]
>>774
安心しろ、俺もだ

777 名前:名前は開発中のものです。 mailto:sage [2012/05/17(木) 16:36:03.67 ID:LEC6LKtf]
C++の構造体ってデフォがpublicなクラスみたいなもんだし
メンバ関数作って使い方の感覚得るとかいんじゃね

778 名前:名前は開発中のものです。 [2012/05/17(木) 17:43:23.17 ID:ucuijB6C]
厨房だけど、何からすればいいか分からん
C言語は入門書一冊熟読した
知識はそれだけです

779 名前:名前は開発中のものです。 mailto:sage [2012/05/17(木) 17:53:24.70 ID:A/eH0jcf]
何すれば良いか分からんやつは大抵できないから好き勝手ゲーム作ったりしてれば良いと思う

780 名前:名前は開発中のものです。 mailto:sage [2012/05/17(木) 18:19:27.36 ID:Le624jWk]
ファミコンのマリオみたいなの作るといいよ
あの滑らかなジャンプの曲線の動きとか作るのすげー勉強になるし、実際に動いてるの見ると楽しい



781 名前:名前は開発中のものです。 mailto:sage [2012/05/17(木) 18:25:10.94 ID:sA5HBbyr]
>>778
作りたいもの作ればいいよ。
作りたいものがなければ違うことやればいいと思うよ

782 名前:名前は開発中のものです。 mailto:sage [2012/05/17(木) 18:42:01.27 ID:Lq82mTDs]
ちょっと待て、熟読したとは言ったが、実際にコードを入力して試したのか?
ともかく、DxLibとC言語で簡単なゲーム作る本があるから探して買うか図書館で借りるかして試してみればいいよ。

783 名前:名前は開発中のものです。 mailto:sage [2012/05/17(木) 18:44:31.06 ID:CIWlPPKp]
昔はベーマガを見て覚えたもんだが

784 名前:名前は開発中のものです。 mailto:sage [2012/05/17(木) 19:04:17.83 ID:1miPR200]
俺は見た(読む)だけじゃ絶対身につかなかったな。
実際に動かして見てやっと理解できる。

785 名前:名前は開発中のものです。 mailto:sage [2012/05/17(木) 21:17:20.29 ID:MVax3Amg]
俺はサンプルプログラムを1個改造して、
次のサンプルプログラムを1個改造して、
気に入ったのがあったら沢山改造して、というのを繰り返して身に着けたな

786 名前:名前は開発中のものです。 mailto:age [2012/05/18(金) 00:14:29.29 ID:4zRGqSRr]
rpg.nengu.jp/game/dl/

このサイトのソース読みながら覚えたいのですが
RPG.vcprojをドラッグアンドドロップして
vc++2008に変換しようとすると
「ゲームファイルの初期化に失敗しました」と何度試しても出ます。
VC++2010は低スペなので使えないのですがどうすれば変換できるのでしょうか

もしダメならこれ以外でVC++2008で公開されているrpgのサンプルがあれば教えてください

お願いします


787 名前:名前は開発中のものです。 mailto:sage [2012/05/18(金) 00:56:44.66 ID:Kw1eEMY1]
staticで保持して置いた配列を使い終わったら開放したいんだけどどうしたらいいでしょうか?

788 名前:名前は開発中のものです。 mailto:sage [2012/05/18(金) 00:58:13.40 ID:gx1xQNnD]
staticの固定長配列はプログラムが終了すると自動的に解放されます
それ以外に開放手段はありません

789 名前:名前は開発中のものです。 mailto:sage [2012/05/18(金) 00:59:03.38 ID:Kw1eEMY1]
関数func1,func2でそれぞれstatic変数を宣言した時、中身は共通になりますか?


790 名前:名前は開発中のものです。 mailto:sage [2012/05/18(金) 00:59:42.96 ID:mamO/m7+]
C++なら終了するまでスコープから外れないので解放されない。

解放する必要があるなら、
配列へのポインタで変数を確保してnewでヒープを確保、
必要になったらdeleteすればok



791 名前:名前は開発中のものです。 mailto:sage [2012/05/18(金) 00:59:50.88 ID:Kw1eEMY1]
>>788
ありがとうございます

792 名前:名前は開発中のものです。 mailto:sage [2012/05/18(金) 01:00:56.05 ID:mamO/m7+]
>>789
関数内で宣言されるstatic変数はスコープは関数の内部のみ。
従って別物。

793 名前:名前は開発中のものです。 mailto:sage [2012/05/18(金) 01:04:36.26 ID:Kw1eEMY1]
>>790
なんかよくわからないので具体的にコード書いてくれると嬉しいです。
・配列arrの引数m分だけ要素数を持つint型配列を引数&pに作成する関数
とかだとわかりやすくて自分が喜びます。
図々しくてすみません。

794 名前:名前は開発中のものです。 mailto:sage [2012/05/18(金) 01:05:51.71 ID:Kw1eEMY1]
やはり某製作支援サイトのようにメインループの前に変数宣言した方が良いのかな・・・

795 名前:名前は開発中のものです。 mailto:sage [2012/05/18(金) 01:20:06.21 ID:mamO/m7+]
>>793
//えーと、

// 適当な配列
int[] arr = {0,1,2,3,4,5,6,7,8,9,}

void dynamic_array(int*& p, int length)
{
  //lengthnこのintを確保
  p = new int[length];

  // arrからコピー
  for(int i = 0; i < length; ++i)
  {
    p[i] = arr[i];
  }
}

// pを解放するときは、
// delete[] p;

796 名前:名前は開発中のものです。 mailto:sage [2012/05/18(金) 02:44:50.20 ID:g6CQrJUG]
>>793
>>795 のSTL版
#include <vector>
void dynamic_array(int*& p, int length)
{
 auto v = std::vector<int>(length);
 p = v.data();
}

797 名前:名前は開発中のものです。 mailto:sage [2012/05/18(金) 12:33:49.02 ID:AXglkRe5]
なんでここC++スレになってるんだ

798 名前:名前は開発中のものです。 mailto:sage [2012/05/18(金) 12:39:42.25 ID:aBuN5zeL]
DXライブラリで詰まる人はcなのかライブラリなのか区別が付かないからではないでしょうか

799 名前:名前は開発中のものです。 mailto:sage [2012/05/18(金) 12:52:20.63 ID:tTxAGc55]
俺みたいにDXライブラリに頼らなくてはゲームも作れないレベルの人間だと
C++についてもよくわかってなかったりするからつい、だろうね。

他のスレだと”DXライブラリに頼らなくていい人”ばかりに思えて気後れする。


800 名前:名前は開発中のものです。 mailto:sage [2012/05/18(金) 14:58:56.44 ID:AqX5CuAi]
>>796
dynamic_array終了時に開放されね?
>>787が単にヒープに置きたいということでなければ>>795の方法しかないと思う

もしくはvector自体new/deleteするか



801 名前:名前は開発中のものです。 mailto:sage [2012/05/18(金) 21:35:11.00 ID:0qQFV47b]
今時ダウンロードしてまでゲームやる人いるのかね

802 名前:名前は開発中のものです。 mailto:sage [2012/05/18(金) 22:52:22.12 ID:Avt8/Znc]
>>800
>vector自体new/delete
スマポをnewするとか意味ないだろ。
>>796はドヤ顔でSTL勧める本人がSTLを理解してなかった良い例。

803 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 00:27:03.52 ID:VD4oJ3BE]
STLのmapに(キー重複しない)insertを繰り返していくと、
メモリはわずかながら消費されていくと思うんだけど、
それってnewが繰り返されてるってことだよね。

アクション性の高いゲームでメインループ内でnewとか使っていいのかな。
普段は軽い処理でも、メモリ確保と開放が絡むと、どこかでカクついたりしないか心配。
気にせずやってるけどカクつきなんて発生したことないよ、ということなら安心なんだけど。

804 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 00:28:28.08 ID:r1qEY4jZ]
冷静に考えて、今時って携帯ゲームやネトゲが主体だろ?
DXライブラリでパソコンで動くゲームって当たり前だが
そういうのが逆に新鮮じゃね?


805 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 00:49:21.53 ID:TBtSNI4j]
>>803
もしも、メインループで毎フレームほど行なうっていうのなら、
そういう処理を行なう事自体を、見直す必要があると思うけど。

806 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 01:02:15.71 ID:a+urZXjQ]
GCが起動するわけでもないならnew/deleteにあまり神経質になる必要はないと思うけど・・

807 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 01:10:30.26 ID:ZOsD1vO4]
>>803
new deleteが重いというけど、なにをnew deleteするかでまた違うのよ。
new int とか new char[32] みたいに1回で終われば気にするほどでもない。

new Hoge で Hogeのコンストラクタの中でまたたくさん new() よばれているような
階層深く大きいクラスのnew, deleteが重いから、
その場合だけオブジェクトプールを検討すればいい。

808 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 01:27:35.13 ID:QmsbQiPL]
一応ラウンド(ステージ)管理クラス生成時に
設定されたキャラクターの数だけ配列を宣言する形なんだけど
配列用ポインタを持たせたら、参照先が使い捨てになる。
で、動的に配列の要素数を操作すればポインタで使い捨てじゃなくてもいいんじゃないかと


809 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 02:35:24.88 ID:ZOsD1vO4]
それは最大数がステージの開始時にわかってて、
最大数分のメモリを確保しっぱなしにするって話だろ?

それができる(普通な)規模のステージならそれがいい。
ステージだとかシーンと呼ばれる単位で一括確保・解放できればそれがベスト。

810 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 09:17:44.64 ID:9Hyd3HTN]
最近のPCの場合、個人制作のゲームなら
全部メモリ確保してもいいともうけどな



811 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 10:43:57.82 ID:lxOdfsYj]
new/delete遅い遅いっつーけどwinの実装はくそ速いぞ。
一定サイズ以下ならただのプールからの切り出しだし。


812 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 10:46:39.32 ID:VD4oJ3BE]
>>807
オブジェクトはゲーム起動時に最大数をメモリ確保してある前提だったりする。

そこで、mapにinsertするpairが仮にintとポインタだったとして、
insertのときにそのintとポインタ分の小さいnewが起動するし、
eraseのときにはそれがdeleteされると思う。

で、その回数が膨大になったとき、GCみたいな時間くう処理が起動して
カクついたら困るなーと。特にアクション性の高いゲームだと。
たとえばメモリを新たに大量確保する処理が起動して時間くうとか。
そんなものは発生しない、なら、安心してコンテナ使ってゲーム作れるんだけど。

アクション性の高いゲームでも普通にコンテナ使うのが定番だよ、ということなら安心なんだけど、
そのあたりよくわからなくて。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<240KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef