DXライブラリ 総合スレッド その19at GAMEDEV
DXライブラリ 総合スレッド その19 - 暇つぶし2ch488:名前は開発中のものです。
18/09/07 17:09:17.90 stA8I9vh.net
良く分からんけど、こんな感じの事がしたいの?
void LoadData( int t_Width, int t_Height, std::string t_FileName )
{
int t_FileHandle = FileRead_open( t_FileName.c_str() );
int t_FileSize = FileRead_size( t_FileName.c_str() );
std::vector< std::vector< int > > t_MapDataVec;
int t_LoadNum = 0;
char t_Char;
//マップの配列を確保
t_MapDataVec.resize( t_Height );
for( int i = 0; i < t_Height; i++ )
{
t_MapDataVec[ i ].resize( t_Width );
}
//正常に1文字を読み込める間、繰り返す
while( ( t_Char = FileRead_getc( t_FileHandle ) ) != -1 ){
if( isdigit( t_Char ) != 0 ){
int t_Sum = 0;
do{
t_Sum = ( t_Sum * 10 ) + ( t_Char - '0' );
t_Char = FileRead_getc( t_FileHandle );
}while( isdigit( t_Char ) != 0 );
t_MapDataVec[ t_LoadNum / t_Width ][ t_LoadNum % t_Width ] = t_Sum;
++t_LoadNum;
}
}
FileRead_close( t_FileHandle );
}

489:名前は開発中のものです。
18/09/07 20:11:51.17 stA8I9vh.net
>>473
int fh = FileRead_open(s.c_str());
while(fh && getline(fh,buf[line])){line++;}
ん?
FileRead_readとかのDXライブラリ関数じゃなくて
getlineが使われてる様だが?
例えばabc.csvを他のファイルと纏めて
Archive.dxaっていうアーカイブにした場合、
std::ifstream t;
t.open( "abc.csv");とかしたって読み込まないよ
そんなファイル無いんだから
DXライブラリ用のArchive作ってるのに
それを通常の入出力関数で読み出そうとしてるのがバグの原因だよ

490:名前は開発中のものです。
18/09/07 22:11:13.47 SP/YWN4v.net
>>477
>getlineが使われてる様だが?
int fh = FileRead_open(s.c_str());
えっと、まずこれをした時点で、
ファイル内の文字がfh


491:に入ってると思ってるんで それをgetline(fh,buf[line]))するわけですから 問題ないかと思っているんですが、、私、なにか勘違いしてるのでしょうか、、 >t.open( "abc.csv");とかしたって読み込まないよ >そんなファイル無いんだから これはどーいうことですか?パスの表記の話でしたら ここでは割愛しただけですので実際は頭のフォルダとファイル名と入力してます。 t.open( "フォルダ名/abc.csv");な感じで。 、、そー言う問題ではなくて、archiveした場合 "abc.csv"というファイル名ではなくなるという話ですか?? >>476 まさか、これ、自分と同じことやってるプログラムですか? まさかこんなに短くできますよ、とかじゃないですよね? すごく興味深いのでちょっと処理をじっくり読ませて頂きます。



492:名前は開発中のものです。
18/09/07 22:15:41.50 SP/YWN4v.net
>>477
あ、今気づきました、
自分FileRead_read使ってないですね、、、
FileRead_openとFileRead_readと一緒くたに考えてソース作ってしまってました。
FileRead_openもDXライブラリの関数でそれで開いてるから
DXライブラリArchiveしたファイルを開く問題はすでにクリアしたと。

493:名前は開発中のものです。
18/09/07 22:26:57.73 2W2TZVJf.net
薄々気づいていたけど、あまりにも基本的なことがわかってなさすぎる
勘違いですらなくて、全くわかってない
int fn はただのハンドル(識別番号)だし、ファイルオープンと読み込みは違うし、アーカイブファイルについても全くわかってないし、その知識でバイナリファイルを理解できるわけがない
あんま厳しいこと言いたくないけど、拾ってきたコピペを組み合わせて作ろうと思わず
c++の基本から勉強して、一文字ずつ自分で打ち込んだほうがいい

494:名前は開発中のものです。
18/09/07 23:04:19.42 SP/YWN4v.net
>>476
すみません、今まで使ったことない関数や表現がありますのでよかったら教えて頂けませんでしょうか、、
自分は今成長したいんで、非常に関心がありますのでぜひともお願いします。
質問1、
if( isdigit( t_Char ) != 0 )
ここの意味は、isdigitで「t_Charの(頭が)空じゃ無いなら」の認識で正解ですか?
判定関数のisdigitを利用したことないもので、、
質問2、
もし1の私の認識が当たっているとすれば
do{ t_Sum = ( t_Sum * 10 ) + ( t_Char - '0' );
t_Char = FileRead_getc( t_FileHandle ); }while( isdigit( t_Char ) != 0 );
ここの条件式は、t_Charの中の文字を読み進めながら
「空の領域になるまで」という理解になりますが、それで間違いないですか?
質問3、
t_Sum = ( t_Sum * 10 ) + ( t_Char - '0' );
すみません、ここのt_Char - '0'の理解ができてないんですがこれはなにを意味していますか?
推測では「,」の場所を判断するために記載していると思うのですが
「- '0'」は文字の0と文字の「,」は同義語ですか?
t_Sum = ( t_Sum * 10 ) + ( t_Char - '0' ); はなにをしているのか
解説して頂けませんでしょうか、、
4、究極に理解が足りず困っているのが
t_MapDataVec[ t_LoadNum / t_Width ][ t_LoadNum % t_Width ] = t_Sum;
です。
本当に、これは初めて見た表現なんですが
t_LoadNum / t_Widthでなぜその時の行数の添字が割り出せるのか、
t_LoadNum % t_Widthでなぜその時の要素数の添字が割り出せるのか
お願いします、解説を、、、、すごく関心があります。そもそも、誰もが記載するであろう、
for(int line=0; line<y; line++){
    for(int col=0; col<x; col++){
の式が無いプログラムで、二次元配列を回している様子が
自分の想像限度外で、もうなにがなんだか。
t_LoadNumの値だけをインクリメントしてるだけでなぜ二次元配列をすべて回すことが可能になるんですか?

495:名前は開発中のものです。
18/09/07 23:12:10.86 SP/YWN4v.net
>>480
経験が浅いのは認めます、、
特に外部ファイルをいじるのと、archiveファイルについてはほんと理解度が低いです。
でも、ここでそう指摘されることも、
また私が質問させていただくことも自分が成長するひとつの事柄にはなりませんでしょうか、、
ただコピペしたいのでは無く、ソースを理解したくて>>481でも質問させて頂きました。
未熟者なのは認めます、疑問に思ったことをまず自分で検索で調べてみての質問です。
教えて頂けないでしょうか。。
正直、DXライブラリのアーカイブを使わなければ
ゲームは動くのですが、DXライブラリのアーカイブでつまずいてしまっています。
releaseビルドしたあとにバグ�


496:ナ遊べないのでほんと辛いのです。



497:名前は開発中のものです。
18/09/07 23:21:53.72 SP/YWN4v.net
>>480
C++を熟知せずとも、便利な関数のおかげで
手軽にゲームを作れる、それがDXライブラリの良さであり、
短所でもあるのだと思います。
画像を描画するのも関数ひとつです。それで表示できるので
つまずきませんでした。
でもmap情報を外部ファイルにして読むことは、つまずています。
厳密にはアーカイブしなけば読むことは成功していますが、、
「お前は基本がなっていない」と言われたらそうなんですが
でもチュートリアル的なブログや参考書でも、ひとつひとつ完全に理解しようとすると挫折するから
今の自分ではわからなくてもとりあえずそうなんだという精神で進めていきましょう的な
助言も多かったです。ぶつかるたびに覚えていけばいい的な、、違いますでしょうか?
ファイルを扱う、バイナリ形式とかは、初めてです。なのでソースも見苦しいです。
でもそんな私でも>>476のプログラムはすごく魅力的だということがわかるんです。
学びたいんです、、簡単な解説でいいので、お願いできませんか?

498:名前は開発中のものです。
18/09/07 23:54:23.29 VUsIud2k.net
長い。
【1・2】isdigitが分からないならisdigitについて調べれば?
【3】教科書の最初に載ってるはずだが「'0'」は0という文字そのものを表す
【4】適当に数字を入れて計算してみれば?

499:名前は開発中のものです。
18/09/08 00:37:34.88 DgEMMqli.net
>>484
【4】適当に数字を入れて計算してみれば?
これ、今やってるんですが、目から鱗です、、、
すごい、添字の回し方、こんなシンプルな表現方法がったなんで
すごい!

500:名前は開発中のものです。
18/09/08 00:38:42.99 DgEMMqli.net
stA8I9vhさん、天才だ、、参考書やブログで見たことないですよ、
こんな回し方してる人。

501:名前は開発中のものです。
18/09/08 00:46:42.46 DgEMMqli.net
>>481の4、まじでやばい質問でしたね。アホすぎる、というか
検証しろって感じですよね。ほんとすみません。
ただ、[ t_LoadNum / t_Width ][ t_LoadNum % t_Width ]では
配列の列数と添字とが同じ値だからこそできる計算式ですね。
ちぐはぐの場合は、やはり
for(int line=0; line<y; line++){
    for(int col=0; col<x; col++){
を使うしか無い。
ネットで見たことないのは、
配列の列数と添字とが同じ数にぶちこむケースがあまりないから
ですね、、なんだそういうことか、、、

502:名前は開発中のものです。
18/09/08 00:51:04.46 zhYpFAkU.net
>>486
やり方としては定番だよ
初心者向けの記事とかだと説明しないだけで

503:名前は開発中のものです。
18/09/08 00:57:50.45 DgEMMqli.net
>>488
はい、シンプルですごく驚きました。
それに、二次元配列の要素を回す場合は
これが使えるのは両方の値が同じ場合だけですよね?
自分が要する配列は添字より列数が多い場合ばかりなので
この方法は使えない。
要は>>476さんはソースの参考にということで
記載してくれたので、ちゃんと自分のやりたいことに
組み込めってことですよね。

504:名前は開発中のものです。
18/09/08 01:05:53.57 DgEMMqli.net
でも少しでも認めて頂けると嬉しいのです。
初心者ですが、昨今ゲーム制作においてもっともポピュラーなUnityでは無く
人口が減少しつつあるC++やDXライブラリでゲームを作ろうとしてる私のこのヤル気を。
まあ、csvのarchiveファイルから読み込む云々でモチベ下がりましたけど
なんで画像やサウンドみたくスムーズに利用できないのか、と
なんら問題なく進められたのに。。
簡単な話、DXライブラリの関数に
getline(識別番号,配列[]))の代わりになるものがあればよかったのに。
引数が違うじゃないですが、どれも。

505:名前は開発中のものです。
18/09/08 01:09:04.45 zhYpFAkU.net
し らんがな
ね ろ

506:名前は開発中のものです。
18/09/08 01:12:38.23 DgEMMqli.net
>>491
この問題を考えているので寝ることができないです
t_Sum = ( t_Sum * 10 ) + ( t_Char - '0' );
これの ( t_Char - '0' ); はなにを表しているんですか?
t_Char - '0'です。
なぜ、文字列の'0'を引く必要があるのか、知りたいのです。

507:名前は開発中のものです。
18/09/08 01:18:28.37 vg2kVoor.net
URLリンク(dixq.net)
URLリンク(dixq.net)

あっちの回答は当てにならないってか

508:名前は開発中のものです。
18/09/08 01:28:20.69 DgEMMqli.net
t_Sum = ( t_Sum * 10 ) + ( t_Char - '0' ); の意味や
'0'がなにを表しているのか検索しようにも
現状のワードだけで検索するのは無理ですよ。。
なぜ俺が長文のプログラムでしていることを
たった一行にできているのか、さっぱりです。

509:名前は開発中のものです。
18/09/08 01:34:42.92 DgEMMqli.net
>>476の処理なんですが
二行目のint t_FileSize = FileRead_size( t_FileName.c_str() );
をしたあと、変数t_FileSizeは一切使用されておりませんが
ここでファイルのサイズを得る必要があるのはなぜですか?
どなたかわかる方、解説おねがします。

510:名前は開発中のものです。
18/09/08 02:39:16.41 38R4ypyC.net
>>495
あぁごめんね
FileSizeの部分は消して良いよ
あとシングルクォートで囲んでるのは文字を示すよ C言語の基礎ね
で、'0'~'9'までの文字コードの値は順に並んでいる事が保証されてるから
'0'を引くと整数値に変換出来る
'0' → 48
'1' → 49
'2' → 50 //以下略

511:名前は開発中のものです。
18/09/08 02:50:26.67 zhYpFAkU.net
まあ文字周りのの仕様から考えると決してC/C++的には正しくないんだろうけどな
やっちゃうよな

512:名前は開発中のものです。
18/09/08 03:32:28.47 DgEMMqli.net
>>496
>FileSizeの部分は消して良いよ
ありがとうございます、FileSize、なぜ読むのか検索したり情報読んだりで
ずっと悩んでいました。必要無いんですね。
>'0' → 48
なるほど、"-48"を>>496さんは"-'0'"で表していたんですね。
勉強になりました。
ご迷惑かけまくって申し訳ありません。
あと、ひとつだけ質問させて頂いていいですか?
FileRead_openでハンドルを取得したあと、
string型のbuf配列を作って、まずは一旦そこに全部を入れ込みたいんですが
「getline(fh,buf[line])」の様な感じで使えるDXライブラリファイル読み込み関数が
判断つきません。もしかして、無い感じですか?
FileRead_getsを使って、
string buf[3000];&#160;
FileRead_gets( buf,3000, t_FileName ) ;
とか、いけませんか?
私は、一旦buf[]にぶち込んで、
そのあとはもうDXライブラリ関数とか必要無しの状態にして
buf[]の中を回して1文字を読み込んで二次元配列に格納していくって
処理をしたいのですが、、、、それが無理なら
やっぱり、FileRead_getcをつかって
一文字ずつ読んで格納することを考えていこうと思いますが、、

513:名前は開発中のものです。
18/09/08 03:46:12.30 f8SOqHWR.net
>>498
何回か言われてたと思うんだけど
FileRead_read関数を使えば良いんじゃないの?

514:名前は開発中のものです。
18/09/08 04:11:23.63 DgEMMqli.net
>>499
DXライブラリのリファレンスページの
「FileRead_read」のサンプルのプログラムは
画像データの取り込みなので
FileRead_read( Buffer, FileSize, FileHandle ) ;
が配列に使えるのか、わからないのです。
int t_FileSize = FileRead_size( t_FileName.c_str() );
string buf[3000];
FileRead_read( buf,FileRead_size,t_FileName );
これでいけますか?

515:名前は開発中のものです。
18/09/08 04:21:08.99 f8SOqHWR.net
STLのstring?
それを3000個も用意する意味ないでしょ
配列やstringが何なのか分かってないとしか
やるなら
char t[ 3000 ]でしょ (要素数は3000から可変にすべきだけど)
FileRead_read( buf,FileRead_size,t_FileName );
何でファイルハンドル指定する第3匹数にstringをぶち込んでるの?
訳分からん事してるよ

516:名前は開発中のものです。
18/09/08 04:34:19.67 DgEMMqli.net
>>501
あ、すみません。
間違えました。
int t_FileHandle = FileRead_open( t_FileName.c_str() );
int t_FileSize = FileRead_size( t_FileName.c_str() );
string buf[3000];
FileRead_read( buf,FileRead_size,t_FileHandle );
これです。
これなら問題ないですか?

517:名前は開発中のものです。
18/09/08 04:57:08.51 f8SOqHWR.net
string3000個もいらねーって言ってるだろーが!
バッファの先頭アドレスを指定する所にstringの実体を入れてるのも駄目だと思うけど
あと夜遅くてPC使えないとかで手元に実行環境が無いんだ�


518:チたら 使える様になるまで待ってみては?当てずっぽでソースコードっぽいものを書かれても困る



519:名前は開発中のものです。
18/09/08 05:41:44.22 DgEMMqli.net
>>503
String型(文字列型)とchar型(文字型)と勉強したんで、
csvに入った長い文字列(3,12,43,34,0,32,2,....が数百並ぶとかザラです)を
入れるためにString型を用意したつもりです。
実際、エラーは出ずに今まで動いているのですが、問題になっている理由を
聞かせてください。
char型でも
while(ifs && getline(ifs,buf[line])){
    line++;
   }&#160;
は正常に動くんですよね?
ちなみに3000というのは、csvの文字列がどれだけ長くても対応できるように、、
と思ってそうしているんですが、、、文字列の量によっては無駄になるメモリもありますが、、
>当てずっぽでソースコードっぽいものを書かれても困る
確かにまだ確認はしていませんが、熟練の方でしたら
どうなるのか、わかるかなと思いまして、、聞いてみました。
(確かにいちいち自分で試せばいいですが、以前予期せぬエラーというか
無限ループとか、そういう危ないエラーを食らったことがあるので
なるべく聞いて確認したい気持ちもあります)

520:名前は開発中のものです。
18/09/08 05:49:23.91 DgEMMqli.net
結局、今夜も夜通しで進展せず朝を迎えた。
プログラムとサイトやブログとにらめっこしてました。
外部ファイル扱いの理解度が足りないせいもありますが
一番は、DXライブラリサイトのリファレンスが親切じゃないこと。
archiveファイル読み込み関数でcsvファイルを扱う場合の説明が不十分。
ifstreamやgetlineで問題なく動くプログラムをやっとこさ組めたのに。。
画像やサウンドなんてFileReadで触らずとも、それぞれ描画関数や再生関数で
archiveファイルから勝手に開けるのに、、、なぜリファレンスサンプルに
テキストファイル取り上げないの、、、、、、

521:名前は開発中のものです。
18/09/08 06:26:04.85 2HdjcsD1.net
C/C++にはString型(文字列型)なんてものは無く
std::stringクラスオブジェクトを3000個も用意するなって事でしょう
基礎の理解がおぼつかないまま先に進もうとしてめちゃくちゃになってる
DXのサンプル無くてもCのfopen/fread辺りのTXT読み込みサンプルを探して試してみて
デバッガで動きが理解できたら対応するDXライブラリのAPIに置き換えればいい

522:名前は開発中のものです。
18/09/08 06:40:52.25 t6UqvRI+.net
>>504
例え話をしよう
新居を購入して、そこに引っ越し用のダンボール箱を3000個 搬入したいとする
※新居はダンボール箱3000個まで収容可能とする
でもあなたは"家"を3000個用意してる訳 おかしい事してるの、わかる?
プログラムでいうと、buf[ 0 ]のstringにデータが入ってて
buf[ 1 ] ~ buf[ 2999 ]は無駄になってる
あと文字列 = stringって思ってるみたいだけど
文字列って要はchar型の配列だから別にstringである必要は無いよ
文字列比較とかするつもりが無いんだったら、
std::vector< char > t_DataVec;で充分だと思うけど

523:名前は開発中のものです。
18/09/08 06:46:54.61 DgEMMqli.net
>>506
>Cのfopen/fread辺りのTXT読み込みサンプルを探して試してみて
fopen/freadあたりの扱い方が近い、ということでしょうか?
了解しました、一度確認してみます。
>>507
ものすごいわかりやすい例え話でした。。
ありがとうございます、ちょっとそれを考慮して修正してみます。

524:名前は開発中のものです。
18/09/08 09:14:50.02 nuE0zfH6.net
Ruby では簡単。
Ruby, JavaScript などの動的言語を一通りやっていないと、C などポインタのある言語は無理。
言語の難易度が違いすぎる
# コロン区切りのCSV 入力ファイルを、1行ずつ処理する
input_file = "input.csv"
CSV.foreach(input_file, col_sep: ":") do |row|
puts( row[0] + row[1] )
end


525:



526:名前は開発中のものです。
18/09/08 10:26:18.43 zhYpFAkU.net
>>509
今の話題に関しては、メモリ空間を認識できるかどうかの違いでしか無くね…?

527:名前は開発中のものです。
18/09/08 22:08:22.95 DgEMMqli.net
>>501さん
>配列やstringが何なのか分かってないとしか
>string3000個もいらねーって言ってるだろーが!
>>507さん
>buf[ 1 ] ~ buf[ 2999 ]は無駄になってる
あのうお二人にお聞きしますが、charかstringのどちらがふさわしいかは、今は置いておいて、
stringだと、buf[3000]も要らないんですよね?
私はbuf[3000]のbuf[ 1 ] ~ buf[ 2999 ]は無駄になってるって話でしたよね?
(私は怒っているわけではありません)
string buf[3000];をstring buf[1];に書き換えたら
ビルド後、エラーが出る様になったんですけど、、
もちろん、string buf[3000];に戻せば、正常に動きます。
どういうことでしょうか。
ちなみに私の作ったソースは>>469なんですが、
string buf[1];にしただけでエラーが出始めるということは
列数が足りてないってこと=[0]からも利用してたってことじゃないでしょうか。
お二人は、ちゃんとソースを理解して、無駄だからやめろ、と
ご指摘してくださったのかと思っていたのですが、、、
私はstring buf[];にcsvの文字を入れ込む必要があるので
念のため3000にして、いくらか余りが出てもいいくらいの思いで宣言して利用してるんで
お二人にご指摘された後、ん~、string buf[0];でcsv内の文字列が全部格納できれば
世話ないんだけど本当かな~、ともちょっと疑っていたんですが
先ほど試してみて、やっぱりエラーが出た、とう結果です。
>>469のソースの
while(ifs && getline(ifs,buf[line])){line++;}
ここの部分、このgetlineでbuf[]を使うわけですが、[1]だけじゃ困る、
ということですよね??
[3000]を[1]に変えてエラーになるということは。

528:名前は開発中のものです。
18/09/08 22:19:35.21 /fM1gWQu.net
完全にスレ違いなので他所に行った方がいい
個人的にはc++の教本を一から読み直すことを勧める。
初歩的なことが全くわかってない、ということをまず自覚したほうがいい

529:名前は開発中のものです。
18/09/08 22:42:35.24 DgEMMqli.net
あと、すみません>>476さん、
昨日からずっと>>476さんのソースを研究させて頂いてるんですけど
間違っているのではないかと思われる箇所があるんですが、
自分の思い違いなのか、書いた>>476さんにお尋ねさせてほしいのですが
//マップの配列を確保
t_MapDataVec.resize(t_Height);
for( int i = 0; i < t_Height; i++ ){
   t_MapDataVec[i].resize(t_Width);}

ここで配列t_MapDataVecの行数はt_Height、
t_MapDataVecの要素数はt_Widthからそれぞれ決めていますよね、
ここはそれで正解なんですけど、
問題はこの後、その配列に数値を格納するときなんですが
t_MapDataVec[ t_LoadNum / t_Width ][ t_LoadNum % t_Width ] = t_Sum;
++t_LoadNum;

これでは、行数の添え字の進み方ががおかしくなりませんか?
これ、行数と要素の添え字を両方ともt_Widthを利用して算出してます。
しかし、行数の数はさっきのresizeではt_Heightで決めています。
つまり、t_Widthとt_Heightの値とは必ず同じというわけでは無いはずなので
t_Widthだけを利用した算出方法では行数の添え字の動きに支障が出ませんか?

530:名前は開発中のものです。
18/09/08 22:47:12.28 DgEMMqli.net
>>512
>初歩的なことが全くわかってない
それは>>511の内容(エラー)について
私の方が無知で責められる内容だということですか?
ご指摘頂けませんか?
「あなたが言う様に変更したらエラーが出る様になりました」
「、、お前は初歩がわかってないから消えろ」では
納得いきません。申し訳ありませんが、自分が間違っているのであれば
気付かせてからの「わかったら消えろ」発言にして頂きたいです。

531:名前は開発中のものです。
18/09/08 22:52:29.99 DgEMMqli.net
>>512
もしかしてstringでは配列を作る必要がないということですか?
string buf[1];では無くstring buf;にしろと。
それはそれでエラーになるじゃないですか。
ここで↓
while(ifs && getline(ifs,buf[line])){line++;}
だからbufは配列じゃないと困るんですけど、、

532:名前は開発中のものです。
18/09/08 22:59:20.13 DgEMMqli.net
>>512
ちなみにこの
URLリンク(teratail.com)
PAGEの質問の回答者の中に
>C++なのに、あえてmojiretuをchar配列にする理由があるのでしょうか。
>std::string mojiretu[10];
>このように定義しておけば、
>mojiretu[0] = s;
>mojiretu[1] = s2;
>は問題なく通ります。
とstringで配列を作ることを肯定する記載もあります。
別に、charでは無くstringで配列を作ってもダメな手では無いはずです。

533:名前は開発中のものです。
18/09/08 23:26:58.22 JZkN0uf+.net
なんか変なのわいてんな

534:名前は開発中のものです。
18/09/08 23:29:17.95 2HdjcsD1.net
>>515の2,3行目までは当たりなのでstd::stringクラスについてよく調べること
C/C++の話だけなら別スレに移ろう
C++相談室 part137
スレリンク(tech板)
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
スレリンク(tech板)

535:名前は開発中のものです。
18/09/08 23:45:27.10 DgEMMqli.net
>>518
そもそもstringクラスの話はココの人に「それでは無駄がでている」との指摘を受けて
話に出しているだけで私としては修正することでエラーが出るなら
buf[3000]で無駄が出ていようが構わいことです。
とにかく、何日も悩んでいるのは、archiveしたcsvを読むのに、
DXライブラリ関数を使っているのにビルド上は問題ないのにarchive後は正しく読まない、
その理由がわからない。
>>477さんが指摘したDXライブラリ関数では無いgetlineも
自分で新たにbool getline2(int fh, string& s);と宣言し
bool StageDataBase::getline2(int fh, string& s)
{char buf[1024];
if (FileRead_gets(buf, sizeof buf, fh) == -1) return false;
s = buf;
return true;}
とFileRead_getsを使って入れ込む関数を作っても、archive後は正常に読み込んでいない。
ここの住人さんが提示するソースを研究なり導入しても改善せず、なにがなんだかわからんのです。
私の未熟なのはわかりましたが、私のやりたいことに対して、
現在のソースの間違い個所を指摘してもらいたいんです。
未熟だ、charでは無駄が、とか正直そんなのどうでもいいですよ。
解決したいのは、archiveしたcsvを今のソースでは
正しく読んでくれないんです。どこが間違っているせいですか?
それがご相談したいことなんです。

536:名前は開発中のものです。
18/09/08 23:49:24.65 JZkN0uf+.net
甘ったれんな

537:名前は開発中のものです。
18/09/08 23:49:57.08 TBpj/0tY.net
>>while(ifs && getline(ifs,buf[line])){line++;}
>>ここの部分、このgetlineでbuf[]を使うわけですが、[1]だけじゃ困る、
ということですよね??
「一旦CSVファイルの内容を全部変数に格納して、
その変数からデータを読み込みたい」って話だったでしょ?
バグってんのは、あなたがそういう仕様にコードを修正出来てないから

>>while(ifs && getline(ifs,buf[line])){line++;}
>>だからbufは配列じゃないと困るんですけど、、
bufじゃなくて、そのwhile~の部分のコードの方を修正するって考えに何故ならない?

>>getline(ifs,buf[line])
別の掲示板の書き込みを見る限り、これあなたが独自に定義した関数でしょ?
関数の説明も無く「エラーが出るんですけど」とか言われても他人は答えられんでしょ

>>これでは、行数の添え字の進み方ががおかしくなりませんか?
おかしくないよ?具体的な数値入れて見直してね
基礎が出来てないとこんな有様になるんだねぇ…可哀想に 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)


538:名前は開発中のものです。
18/09/08 23:56:20.39 DgEMMqli.net
そっちは本当に正解が見えているのか、いないのかわからないのに
私の相談内容外の問題ばかり指摘してくる方だろうと
レスをくれたからにはちゃんとこちらも返事しているつもりです。
私のほかの問題はどうでもいい。相談内容に対しての
perfectなご指摘が欲しいんですよ、私は。
今のところ、本当に有益だった解答は、たったひとつだけです。
>>477さんの
「DXライブラリ用のArchive作ってるのに
 それを通常の入出力関数で読み出そうとしてるのがバグの原因だよ」
だけです。
それ以外は、正直どうでもいいことです。
ソースは千差万別、実力によりピンキリでしょ?
無駄があるとか、綺麗じゃないとか、言いたいことはわかりますが
正味の話、ビルド後、思ったことができていれば問題なくないですか?
みんなが見るのはゲーム画面です。


539:ソースじゃないんですよ。 私はブサイクな自分のソースを晒してまでご相談させて頂いてるんです。 自分のソースに対して、なぜarchive後に正常にcsvを読めなくなってしまうのか、 perfectなご指摘を、どうかお願いします。



540:名前は開発中のものです。
18/09/08 23:59:02.85 2HdjcsD1.net
大前提だけどアーカイブにはちゃんと目的のファイル入ってる?
FileRead_gets後のbufの中身はデバッガなりprintf/OutputDebugStringAで見て
正しいデータか壊れているかは確認してるよね

541:名前は開発中のものです。
18/09/09 00:05:17.98 /IlMVd18.net
>>521
あのですねgetline関数は
istream クラスのメンバー関数です。
C++の関数ですよ?
知らないんですか?
ただ、>>477さんにDX専用の関数つかえと
指摘されたので
あとでDXライブり関数を利用するgetline関数を自作しました。
それがこれです↓
bool getline2(int fh, string& s);と宣言し
bool StageDataBase::getline2(int fh, string& s)
{char buf[1024];
if (FileRead_gets(buf, sizeof buf, fh) == -1) return false;
s = buf;
return true;}
で、FileRead_getsを使って入れ込む関数を作った、のに
やっぱりarchive後まだ正常に読んでくれませんでした。
だから未だに困っていますが。

542:名前は開発中のものです。
18/09/09 00:06:48.24 B7UDp+Nk.net
このくそがき、コピペしてそのまま動くパーフェクト(笑)なコードよこせと駄々をこねてるんだろ?
ソース書いてやったらお礼も書かずにすたこらさっさと消えるタイプだから相手にしなくていいよ
C++入門書のメモリ管理とファイルIOの章でも100回読み返せw

543:名前は開発中のものです。
18/09/09 00:07:01.16 Jspb1/om.net
お前らのほとんどのレスが無益だったらしいぞwww
スレチなんだからスルーしとけよ

544:名前は開発中のものです。
18/09/09 00:09:00.72 Jspb1/om.net
今のところ、本当に有益だった解答は、たったひとつだけです。
今のところ、本当に有益だった解答は、たったひとつだけです。
今のところ、本当に有益だった解答は、たったひとつだけです。 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)


545:名前は開発中のものです。
18/09/09 00:09:08.60 /IlMVd18.net
>>523
>正しいデータか壊れているかは確認してるよね
もちろん、デバッグで確認して、bufじゃないですが
最終的な配列の中身を確認し、ちゃんとcvsの数値が
そのまま各要素に入っていることは確認しています。

546:名前は開発中のものです。
18/09/09 00:10:36.82 Jspb1/om.net
それ以外は、正直どうでもいいことです。
まじクソやなこいつwww

547:名前は開発中のものです。
18/09/09 00:11:09.34 /IlMVd18.net
>>525
あなたみたいな人間こそ、必要ありませんよ。
私のレスを見て、どこがコピペで済むソースくれ、と読み取れるんですか?
修正しながら何度も問うているでしょ
何度も修正し、頑張っているんですが?

548:名前は開発中のものです。
18/09/09 00:14:10.09 Jspb1/om.net
>>530
ほぉそれにしては
まともにレスしてるやつに対してよくも「正直どうでもいいことです」とか言えるなお前
消えろカス

549:名前は開発中のものです。
18/09/09 00:15:50.74 /IlMVd18.net
まあこのスレの住人も千差万別、私よりも知識がある人ばかりでも無し。
外部ファイルから読み込んだことも無い様な人もいるんでしょう。
自分は的確な回答ができない人がそうやって煽るしかできないんでしょうね。
DXライブラリでゲーム作りながらも
archiveファイルにしてない人も沢山いますから。
それどころか、ゲームを完成させたことも無い人もいるでしょうから。

550:名前は開発中のものです。
18/09/09 00:16:23.64 fsKOdpIh.net
URLリンク(dixq.net)
class MapCheck {
vector<vector<int>> Map;
int m_line, m_col;
public:
void LoadData(int y, int x, string s);
void ShowData(int y, int x);
bool getline(int fh, string& s);
};
getline を定義してやれば、そのコードで動くことを確認しました。

お前上記の掲示板でgetline独自に定義してるじゃん
お前が使ってるのはistreamクラスのメンバー関数じゃないよ
>>C++の関数ですよ?
>>知らないんですか?
何?その基礎も理解も全く出来てねーくせに喧嘩腰の言い方
もう知らネ 一生困ってろ

551:名前は開発中のものです。
18/09/09 00:18:33.14 /IlMVd18.net
>>531
まともにレスってなんですか?
相談内容とはまったく違うことに目を向けてきて
「基本からやりなおせ」と指摘してくるレスですか?
相談内容とはまったく違うことに目を向けて
そこ無駄だからcherにしろ、と言うレスですか?
私は、私の相談内容を理解して
それで間違い個所を指摘してくれるレスが欲しいんですが。

552:名前は開発中のものです。
18/09/09 00:23:57.63 /IlMVd18.net
>>533
それはあなたがその掲示板を先にみて、
先入観をもってるだけでしょ。
私は、その掲示板で相談する前から
自分のソース内で
#include <iostream>してgetlineを利用しています。
その相手の方が、#include <iostream>してることを
知らないから独自に作っただけです。
私のソースではgetlineを定義せず、動いています。
あなたの勘違いですよ

553:名前は開発中のものです。
18/09/09 00:28:57.36 /IlMVd18.net
ひとつ、言っておきたいのですが、
私のソースは、動くんですよ?
ちゃんと完成してるんです。
ただ、releaseビルドしたあと、素材はフォルダごと
archiveしますよね?
そのarchiveしたフォルダを読むと、うまく読まないんです。
そういう相談なんです。
なのに、archiveファイルを読むのに
関係無い個所の指摘や意見をされても
その話に乗っていくと本題からそれていくので
私も困るのです。

554:名前は開発中のものです。
18/09/09 00:34:54.50 fsKOdpIh.net
>>535
記載されたソースコード見る限り
#include <iostream>してないけどね 勘違いもクソも無いだろ
>>その相手の方が、#include <iostream>してることを
>>知らないから独自に作っただけです。
意味不。
あと「上手くいかない」「エラーが出る」とかじゃ意味分からんね 具体性がない

555:名前は開発中のものです。
18/09/09 00:36:31.83 /IlMVd18.net
素材フォルダをarchiveしなければ、
素材フォルダと実行ファイルとでもう動くんです。
ただ、素材フォルダをarchiveしたいと思ったから
>>477さんのおかげで、archiveしたファイルを扱うなら
DXライブラリ関数にしなければならない、とアドバイスを受け
読み込み部分のプログラムを修正しなければならないと知りました。
で、今、いろいろやってるんですが、正しく読み込まない、
なぜだ?DXライブラリ関数を使っているつもりなのに、、、困った。
そういう現状なんです。
どうか、このバカめに、知識人様のお知恵を貸しください。
どこが間違っているのかの、ご指摘がほしいのです。

556:名前は開発中のものです。
18/09/09 00:42:03.51 Jspb1/om.net
厨房はそろそろ寝る時間だぞ
ママンに怒られっぞ

557:名前は開発中のものです。
18/09/09 00:52:21.26 /IlMVd18.net
>>537
>あと「上手くいかない」「エラーが出る」とかじゃ意味分からんね 具体性がない
まあ、どういう状況かはこのスレに書いてきたんですが
途中から来た貴方に私が過去レスを見てくれというのも
おこがましいので、貴方のために説明します。
経緯は>>538です
で、私のもともとのソースは
>>469です。
これがarchiveファイルにしていなければ正常にcsvファイルの中身を
Map配列に入れ込める関数です。
この段階のgetline関数はiostreamの関数です。
そのgetlineでなにが行われているのかは、もちろん私より承知なんでしょう。
まあ要は、
このソースのどこをDXライブラリ関数に変えたらいいのか、という相談なんです。
ピンポイントで修正個所を言ってくれる人はほとんどおらず、
別の部分をいろいろご指摘されたわけですが。
で、次にDXライブラリ関数を使って
自分なりに完成させたソースを貼りますね

558:名前は開発中のものです。
18/09/09 00:54:20.16 /IlMVd18.net
>>539
ここ毎日夜通しで修正してますし、
夜通しでここに書き込みしています。
こんなにヤル気がある生徒なのに、、

559:名前は開発中のものです。
18/09/09 01:10:26.39 WZz40CCH.net
夜通しやって昼間やらないんじゃ逆効果だろ
自律神経狂うし寝不足で効率落ちるから、休息にもヤル気が必要
ただし煽り猿は気にしなくていい

560:名前は開発中のものです。
18/09/09 01:12:00.66 B7UDp+Nk.net
じゃあもうアーカイブするなよw それで解決じゃんwww

561:名前は開発中のものです。
18/09/09 01:24:13.78 igBBjSKe.net
まず、>477の前に俺が>468と>471でパーフェクトな回答をしたことに気付いてほしい
あと、パーフェクトな答えはいっぱい出てるのに何故できないのかというと、君は「変数の型」のことがわかっていないのに自分ではわかってるつもりになっていて、何度それを指摘されても理解しようとしないから
間違いの一例をあげると
>int fh = FileRead_open(s.c_str());
>ファイル内の文字がfhに入ってると思ってるんで
これはC言語の初歩を勉強した人なら絶対にありえないパーフェクトな間違いで、これに気付かないのが全ての元凶になってる
型も入出力も全くわかってない上に、DXライブラリのリファレンス


562:を読む気まるで無しなので、何を説明しても通じない しかもこういう間違いが書き込みのたびに出てきてるので、皆が基礎を学べと言ってる もうきりがないので究極にパーフェクトな答えをピンポイントで書くと、 DXライブラリのリファレンスをよく読みCのファイル入出力と見比べて FileRead_read、FileRead_getsあたりを使って「型の合った正しい引数」を与えればうまくいく



563:名前は開発中のものです。
18/09/09 01:26:16.05 OabHqojG.net
>>大前提だけどアーカイブにはちゃんと目的のファイル入ってる?
>もちろん、デバッグで確認して、bufじゃないですが
>最終的な配列の中身を確認し、ちゃんとcvsの数値が
>そのまま各要素に入っていることは確認しています。
アーカイブからFileRead_readでCSV読むのは解決済みじゃないか おめでとうさようなら
Releaseビルドすると不安定な挙動になるのはエラーチェック不足や初期化漏れのせい
Debugビルドのときはcharやintのローカル変数が自動で初期値クリアしてもらえてるから

564:名前は開発中のものです。
18/09/09 01:36:18.09 /IlMVd18.net
>>542
本当にその通りです、
この生活を繰り返してたら剥げそうです
優しい言葉に涙が出そうです。
連投したこと、反省します。
>>544
>俺が>468と>471でパーフェクトな回答をしたことに気付いてほしい
はい、実は>>522を書き込んだあとに過去スレ見返して
あなたが真っ先にperfectな回答をくださってると気づきました。
すみません、477さん以外にまともな回答が無いみたいな発言をしてしまって。
あと、あなたのご指摘が胸に刺さりました。
プログラマに向いてない性格の自分を再確認させられました。
実は私はプログラマに向いてないのに無理やり頑張っていた人間で
ゲームが完成して、調子に乗ってしまっていたようで、自分のそれを忘れていました。
私はすべて独学ですので、まともに学んだとは言えません。
>もうきりがないので究極にパーフェクトな答えをピンポイントで書く
ありがとうございます。
それをちゃんと実行して、考えたいと思います。
>>レスくれた皆様がた
皆様、もう一回初心にかえり
リファレンスとにらめっこしてまいります。
ご迷惑おかけして申し訳ありませんでした。
失礼します。

565:名前は開発中のものです。
18/09/09 02:04:50.28 p4JqI5Xf.net
スレが活発なのは嬉しい

566:名前は開発中のものです。
18/09/09 02:50:42.98 YiB/2DVS.net
>>546
ifstream ifs(s);
ここのsに何が入ってるか気になる
まぁとりあえず
現状のDXライブラリの関数しか使ってないソースコード貼ってくれ

567:名前は開発中のものです。
18/09/09 03:59:58.45 B7UDp+Nk.net
プログラマ向いてないのとまともに学んでないのはソース見てわかったよ
こんなところに躓くほどアホなやつ他の初心者スレでも見たことないし

568:名前は開発中のものです。
18/09/09 06:51:24.71 Azvx/JNZ.net
俺かなり真剣に考えてレスしたはずなのに
有益ではないと断言されてしまった

569:名前は開発中のものです。
18/09/09 07:06:14.25 aEJipmjc.net
というか、>>546はちゃんとデバッグしてる?
ステップ実行とかすれば簡単に原因が分かるはずだが?
「アーカイブにした途端読み込まない」って
十中八九ファイルパスが間違っててopen出来てないからそこを確認すべき
大方、下記の状態の時に
f.open("data.csv");とか
f.open("csv/data.csv");とかやってんだろうけど
■Test
┣Archive.dxa
┗game.exe

570:名前は開発中のものです。
18/09/09 17:54:46.31 BNO7fyNj.net
デバックで問題点をぼりこむスキルもないのに、
いきなりゲームを作ろうとするからだよw
そもそもスキル足らない人間の質問なんて要領得ないし、
自分のコードは見せないけど、俺のコードのどこに問題点があるか教えてケロケロって言ってる
アホさ加減にすら気がついてない。

571:名前は開発中のものです。
18/09/09 18:07:35.28 6GoioEmY.net
だから、Ruby から始めればよい。
大学の授業を受けたほとんどの人が、C 言語はわからないし無意味だって、言ってるw
>プログラマに向いてない
C/C++ などポインタのある言語は、
人間には無理なことをやらしているのだから、向いていないのは当たり前。
君らは、多言語の経験が無いから、自分が馬鹿だと思っているけど、全然違う!
漏れは、10言語以上やってるけど、
動的言語・静的言語・ポインタのある言語の順に、難しくなっていく。
人間から離れて、機械に近づいていくから、だんだん無理になっていく
C++ なんて、1万人に1人とかだから、もっと無理。
数年山籠もりが普通
慶応卒の、Rubyの女神・女優の池澤あやかが言ってる。
授業でC を教えるのはおかしい。
Rubyから始めるべきだって!
C/C++が必要だからって、勉強をC/C++から始める必要はない。
ポインタを追っかけ回すのに時間を取られて、勉強にならないから効率が悪い
動的言語から始めて、プログラミング・システムの基礎を学ぶべき

572:553
18/09/09 18:15:12.16 6GoioEmY.net
ゲームプログラマになる前に覚えておきたい技術、平山 尚、2008
これは大賞も取った、俗に言う「セガ本」だけど、
セガの入社試験を受ける前に、読んでおいて下さいって言うけど、
これだけでも、マスターしている人は、セガにほとんどいないだろうw
何歳までに始める言語とか、この手の本も、全く簡単じゃない
この手のタイトルの本を、信用しない方がよい。
C/C++ なんて、簡単に学べるわけがないから!

573:553
18/09/09 18:25:07.50 6GoioEmY.net
>>509
Ruby では、これだけで、CSV ファイルを読み込める。
動的言語では、ファイルI/O なんて読み書きできて当たり前!
ポインタのある言語をやるから、難しくて出来ない
動的言語・静的言語・ポインタのある言語の順に、難しくなっていくから、
ポインタのある言語なんて、多言語でプログラミングして、10年後に始めるべき
言語の難易度が違う
なぜ、C/C++ をやる人が、プログラミング出来ないのかを解説した

574:553
18/09/09 18:41:50.91 6GoioEmY.net
>動的言語・静的言語・ポインタのある言語の順に、難しくなっていくから、
>ポインタのある言語なんて、多言語でプログラミングして、10年後に始めるべき
例えれば、君はヒマラヤ登山をする初心者w
絶対に無理なのが、わかるよね
まず10年は、簡単な山から登って、基礎体力や登山の方法を学ぶ
まず10年は、コンピューターシステム・プログラミングの方法を学ぶ

575:名前は開発中のものです。
18/09/09 18:43:42.20 Azvx/JNZ.net
Cは別にヒマラヤじゃない

576:名前は開発中のものです。
18/09/09 18:45:04.52 Azvx/JNZ.net
あ、すまん、荒らしにレスしちまった……

577:名前は開発中のものです。
18/09/09 19:03:52.04 8HszjCC2.net
>>char buf[1024];
>>if (FileRead_gets(buf, sizeof buf, fh) == -1)
あと高確率で勘違いしてるだろうから
ついでに上記のsizeofについてもダメ出ししとく
sizeof演算子を配列に使用した場合、
得られるのは「配列全体のサイズ」であって「配列の要素数」じゃない
多分、要素数が求められると思ってるでしょ?
char型はどの処理系でも1バイトだからたまたま問題なく動くけど
配列のサイズ/配列の要素1個のサイズにしとかないとintとかdouble型とかだと範囲外エラーになる

578:名前は開発中のものです。
18/09/09 20:35:51.38 Jspb1/om.net
そのsiseofの使い方はなんら問題はない
なぜなら関数はバイト数を入力されることを期待しているから
突っ込みどころはそこじゃない

579:名前は開発中のものです。
18/09/09 21:35:34.64 o9Esn6eC.net
あホントだ この関数はサイズ指定でいいのか すまぬ
しかし「int型に文字列のデータが入っている」と思うレベルで
ゲームを完成させたというのなら逆に凄いと思うわ

580:553
18/09/09 22:00:07.53 6GoioEmY.net
ファイルの読み込みなどは、C でやらない。
Lua, Squirrel などの動的言語を使う
本当は、Rubyが良いけど、ライセンスがGPL だから、アプリに組み込めない

581:名前は開発中のものです。
18/09/09 23:03:21.18 B7UDp+Nk.net
マジかよRubyてゴミだな

582:553
18/09/11 00:00:02.94 ROgWPLgp.net
デバッガーを使って、1行ずつ、デバッグすれば?
それか、Rubyみたいに各行に、Print文を入れていく
p 0
文1
p 1
文2
p 2
これで、どこまで処理が進んだかわかる
例えば、0, 1 と表示されれば、文2 でエラーを起こしているとわかる

583:名前は開発中のものです。
18/09/11 13:59:01.43 KgRZ3rsd.net
本当の入門用言語はPYTHONだと思う

584:名前は開発中のものです。
18/09/13 00:54:18.17 OVIBOeJk.net
sp4用のDXライブラリ使いたいのに、自由に使わしてもらえないの?
DXライブラリ製作者じゃ無く、変な運営団体が牛耳ってないか?

585:名前は開発中のものです。
18/09/13 00:54:55.89 OVIBOeJk.net
ごめん、ps4ね

586:名前は開発中のものです。
18/09/13 01:21:08.56 8MyNpCBt.net
PS4に限らず、CS向けの開発資料関係はソニーと要契約だし、
PS4向けのDXライブラリにはそういう情報も含まれてるでしょう。
いづれにしても個人が契約結ぶのは無理だし、この会社が窓口請け負ってんじゃないかな。
おそらくOSSにはならないと言うかなれないと思うよ。

587:名前は開発中のものです。
18/09/14 01:05:52.78 Iy4HGXit.net
CS開発にDXライブラリの知識や資産が活かせるってだけであって
DXライブラリを使えばCS開発ができるという意味ではないからなあ

588:名前は開発中のものです。
18/09/14 05:06:48.74 NxI6was4.net
勝手にPS4のアプリ作るのは法的に無理だよね

589:名前は開発中のものです。
18/09/14 10:29:51.74 Iy4HGXit.net
定期的に同じような質問見る気がする

590:名前は開発中のものです。
18/09/14 10:44:49.19 DNWN2h3R.net
結局この前のやつはアーカイブから読み込めたのかね
教えてクレクレ君は大体が初歩的な内容をマルチポストして
解決するか挫折するかして失踪するから困る
基礎を学ぶ気が無いんだったら◯◯ツクールとかの製作支援ソフトでも使ってりゃいいのに

591:名前は開発中のものです。
18/09/14 13:16:02.99 W0Rg80rW.net
PS4の開発機材要るしね。実行環境なければソフトウェアだけではどうにもらなん。

592:名前は開発中のものです。
18/09/15 02:17:37.10 /xcvtQHo.net
C/C++ は、ポインタがある言語だから、難しい
機械に近い言語だから、人間の感覚に合わない。
一つ一つのチェックに、時間が掛かる

593:名前は開発中のものです。
18/09/15 03:22:43.38 i4O38UTc.net
ポインタがあると思うから難しく感じるねん。
基本がポインタで、int や char が特別やねん。
基本が malloc で、配列が特別やねん。
ほんでその特別な方で済むならそっち使えばええ言語やねん。
思い込んでるほど難しいもんやあらへん。
C++ はそれにたくさんもっと約束事を追加してるもんで、
覚えるのは大変やけど、それ覚えたらプログラマ同士でより複雑なプログラミングも可能になるわけや。
C が三角ベースなら、C++ ベースボールやんな。
そこまで構えんでええ。独習シリーズ買ってあとは必要に応じて参考書買えば大丈夫、大丈夫。

594:名前は開発中のものです。
18/09/15 06:09:43.23 GOhxd3by.net
ポインタを難しいと全く思わなかったせいか
人に教えるときも、どうもそのへんの感覚が分からんのよねぇ

595:名前は開発中のものです。
18/09/16 07:09:58.40 pTuyxRHX.net
ダブルポインタ、スマートポインタ、constポインタ、const変数へのポインタ、関数ポインタとか
色々あるけど、別に「理解不能」とはならなかったな
ポインタで詰まってる人ってどこで詰まってるんだろね

596:名前は開発中のものです。
18/09/16 07:23:34.15 Ypv+ZU15.net
ポインタにつまづかなかった俺ドヤァwwww

597:名前は開発中のものです。
18/09/16 08:01:05.65 De/NLTEL.net
入門書を読んで理解して無理のない使い方するだけなら簡単だろう。
理解が難しい書き方も出来るから、そういうコードを見た時に難しいと感じるんだろう。
あるいは全く意識しない書き方も出来るからこそ、なぜポインタなんてものがあるのか?と理解に苦しむパターン。

598:名前は開発中のものです。
18/09/16 10:49:36.24 P4oQMMdm.net
言語の機能が極端に少ない・足りないのをポインタという裏技でどうにかするのがCやで
むしろなぜド素人がCなんて使うのか?と理解に苦しむパターン。

599:名前は開発中のものです。
18/09/16 11:38:54.49 De/NLTEL.net
>>580
は?俺Cとかめっちゃ使えるしド玄人なのになんで勝手に文脈を誤解されてド素人言われなければいけないのか理解に苦しむパターンだわこれはマジでむしろ理解に苦しむパターンの理解に苦しんでるパターンだろ。
なんで理解してないのに理解に苦しむパターンを勝手に使うのか理解に苦しむパターン。

600:名前は開発中のものです。
18/09/17 01:27:36.34 vd6LnlZ9.net
ダブルポインタとか言ってるやつは人間として信用しない

601:名前は開発中のものです。
18/09/17 03:27:40.68 Ho87M1a1.net
STLやポインタが難しいって20年も昔の話だろw
関数ポインタとか、ポインタのポインタとか、C#とか他の言語でも息を吸うように使われてるよ

602:名前は開発中のものです。
18/09/17 15:20:02.16 BMRQtvdo.net
言うだけなら簡単だな

603:名前は開発中のものです。
18/09/17 15:46:10.87 VSI4gd1E.net
Cだとポインタ使わずに書くのが難しい処理があるのは事実で、
それに慣れた使用者にポインタは難しいとか他言語にポインタはないとか言っておけば耳障りはいいし、他言語を自由度の低いものとして恐れるようになる。
つまりC言語帝国主義者の陰謀でポインタに関するデマが広められているだけなので要注意。

604:名前は開発中のものです。
18/09/17 19:01:30.66 Ho87M1a1.net
C/C++入門書なんかよりJavaやC#から始めた方がポインタの理解が早いかもな

605:名前は開発中のものです。
18/09/17 23:32:18.21 no51r4yq.net
俺みたいに機械語から始めれば何の問題もないぞ

606:名前は開発中のものです。
18/09/18 12:42:02.12 MRDcFzMt.net
ゲーム作るのが目的だし、PCの性能も上がってるから
スクリプト言語のような動的な言語もありだし、JavaやC#から入っても良いだろう。
ただまあ、DXLibのスレでC/C++の文句言うなら他をあたりんさいとしか言えんがな。
ただスクリプト言語用のゲームライブラリってそれなりにあるけど、開発が止まってたり、
LGPLだったりと別の意味で使い勝手が難しいものが多いね。

607:名前は開発中のものです。
18/09/22 13:20:02.79 L7dCqgo4.net
>>588
で?

608:名前は開発中のものです。
18/09/22 14:25:07.09 rXdDPTp0.net
むしろその「で?」が「で?」なんだけど

609:名前は開発中のものです。
18/09/23 20:17:26.20 MVPE/aAC.net
もう一度言っておくが俺みたいに機械語から始めれば何の問題もないぞ

610:名前は開発中のものです。
18/09/24 08:44:38.25 6PeQ428x.net
機械語ってなんだよw機械は言葉喋らねーよ!www

611:名前は開発中のものです。
18/09/24 08:59:34.99 7+TiRmEX.net
機械語を知らないのかネタなのか、判断に困るのである
機械語は難しいというより面倒臭そうなイメージ

612:名前は開発中のものです。
18/09/26 08:58:12.16 ZwDt4G1d.net
もう機械語を知らない世代なんだね

613:名前は開発中のものです。
18/09/26 10:15:27.11 JfxWWzQx.net
【天文台閉鎖、FBI】 アポロ捏造のキューブリックも真っ青、太陽に映ったのはマⅰトレーヤのUFO
スレリンク(liveplus板)
おまいらが注目しないから宇宙人は出てこれない、その結果、地球の放射能危機がどんどん進んでしまう!

614:名前は開発中のものです。
18/09/26 18:52:01.79 KoAY7X61.net
アセンブラなんて何の役にも立たないけどな

615:名前は開発中のものです。
18/09/28 12:13:41.28 oxoJJQQI.net
ポインタが難しいから、ほとんどの言語にはポインタがない
GC で、自動的にメモリも解放する

616:名前は開発中のものです。
18/09/29 07:18:40.98 JcEPn2u/.net
因果関係ないぞそれ

617:名前は開発中のものです。
18/10/01 03:55:43.27 A/coQG5i.net
ポインタは簡単だからポインタ・関数ポインタと同等の機能が他の言語でも当たり前に使われている
ゲームだとガベコレ回避にRAIIでメモリを扱うし結局やってることは同じ
バッファコピーをforループでするより組み込み関数memcpy()の方が速いとか、
ポインタの利点はそんな微々たる最適化に使えるかどうかだな
もしその粒度で高速化したいならc++のクラスとかSTLは全部使えん

618:名前は開発中のものです。
18/12/07 23:16:48.57 US4pEEV+.net
ダメだー、頭が悪くてわからない!
誰か数学に強い人、計算方法教えてくれませんか、、、
1マスのサイズが16×16、そのマスを縦横並べて構成されている
碁盤上のフィールド上で、1マスと同じ16×16のサイズのプレイヤーが
縦、横、斜めと縦横無尽に1ドットずつ移動できるとする。
しかし、そのプレイヤーが移動を辞めてストップするたびに、
その碁盤の区切りにプレイヤーを綺麗に合わせるために
プレイヤーのx、y座標を16で割れる数に修正したい。
つまり、止まるたびに配置を調整されるようにしたいんだよ。
でもどうすればプレイヤーのその時のx、y座標の数値から、
一番移動修正が少なくて済む16の倍数を割り出せるのかが思いつかない、、、
なんか良い計算方法あります?

619:名前は開発中のものです。
18/12/07 23:25:16.29 yzIxZTRx.net
プレイヤーが移動をやめるということは、方向キーの入力をやめるということでいいのか?
移動してる最中は上下左右斜め自由自在に動けるけど
キー入力をやめたら最寄りのマスに合わせて止まるってこと?

620:名前は開発中のものです。
18/12/07 23:37:15.56 PDXHyNts.net
整数型にして16で割って16掛ける

621:名前は開発中のものです。
18/12/08 00:28:46.54 N0HjbxKJ.net
602のいうように16で整数除算すりゃいいんだよ
X軸座標が0から始まるとして、プレイヤーのX軸座標を16で除算した結果が、0から連番のマス位置だ
マス位置の番号に16を掛ければ、そのマスの基点(左端のX軸座標)が求められるからプレイヤーのX軸座標を合わせりゃいい
Y軸も同じ考え方

622:名前は開発中のものです。
18/12/08 00:44:37.37 9pyRIy5m.net
>>600
座標をfloat型などの小数型に変換(型キャスト)して、
16.0fや16.0で割り、
小数第1位を四捨五入して、整数型に変換(型キャスト)する
四捨五入の方法や分からん言葉はググルべし

623:名前は開発中のものです。
18/12/08 01:47:20.87 OX/ptp7S.net
一番移動が少ないのは+8して16で割れば?

624:名前は開発中のものです。
18/12/08 05:29:55.07 k0S0M7oi.net
整数型として、
プレイヤーの「中心座標」を、マス幅(16)で割る?

625:606
18/12/08 05:40:55.61 k0S0M7oi.net
うあ、リロードしてなかった
恥ずかしい
それはともかく、移動をやめたときに適当な座標に合わせるって挙動いいな
自分も機会があったらパクるわ

626:名前は開発中のものです。
18/12/08 09:08:53.86 3ezaLRyK.net
16で割るだけだと移動やめたとたんにカクッと移動しそうな感じするけど

627:名前は開発中のものです。
18/12/08 10:01:25.30 k0S0M7oi.net
>>608
実際にやるなら、
・入力ニュートラルになってから一定時間立つと自動移動フラグがON
・自動移動がONの間、少しずつ対象座標に近づく(一定ドットずつなりイージングなり)
・移動完了または入力があったら自動移動フラグOFF
かな

628:600
18/12/08 10:38:12.08 TvUpz+CC.net
うわー、起きたら、
みんなありがとうございます!
こんなにアイデアっていうか、計算方法出してもらえるなんて
過疎過疎なんで返事無いと思ってましたんで
>>601のおっしゃる通りで、イメージとしては、
将棋版の上でプレイヤーが将棋のコマを好きに移動させられるけど、
移動を止めるたびに、そのコマを盤上の最寄りのマスにきっちり合わせて止める
って感じです。
マスもコマも16×16で同じサイズなので、
一番大きく修正される状態でも半分の8ドットなはずなんで
そこまで瞬間移動に見えないかなと思ってます
とりあえず、>>602さんと>>603さんのが一番理解しやすかったんで
それが最良っぽいんで、それでやってみます。
あ、プレイヤーの移動数値、座標位置ともにdouble型の小数点でやってるんで
>>604さんの案でいえば、キャスト変換しないほうが(すでに小数点なので)良い??
逆で、その都度int型にキャスト変換してから>>602さんの言う16で整数除算した方がいい?
自分ではよくわからない、、

629:名前は開発中のものです。
18/12/08 13:58:27.62 9pyRIy5m.net
>>610
やり方はいくつか上がったんだから、想定する入出力例をいくつか紙に描いてみて、
コンソールアプリでもビルドして、どのやり方が適切か計算結果を確認してみりゃいい。
一番良いやり方は当人しか分からん。
上がっている方法について少し付言すると、
整数型の割り算は小数が切り捨てられる。
また四捨五入する値が負の場合は、半分の値を引く必要がある

630:名前は開発中のものです。
18/12/08 14:48:34.57 XhAa/j63.net
整数で割るのはマップデータの当たり判定のほか
パズルゲームとかマウスでアイテム欄から選択とか
いろいろ応用が利くので慣れとくといいかも

631:名前は開発中のものです。
18/12/08 15:24:10.29 k0S0M7oi.net
単純に「座標なら整数型で持ってるだろう」という前提で
みんな話してたと思うよ
座標みたいに整数で出力される値でも
内部的にはdoubleで持つというのは、理由があるなら別に悪いことじゃない
まあfloatは無いかな…

632:名前は開発中のものです。
18/12/08 21:51:26.27 d/GHmV90.net
doubleじゃなくてlong longにして100で割って下二桁を小数点として扱えば?

633:名前は開発中のものです。
18/12/12 23:59:53.01 m1YZshsA.net
 今始まった話じゃないんだけど。
URLリンク(i.imgur.com)
 DXライブラリ関係だけ曖昧と指摘されて、コンパイル出来ない。
 思い出した様にたま~~~に出て、一度終了してから起動すると出ない。
 出ない時は全然出ないので再現性がなく、作者様にお伺い立て様もなく。
 VisualStudio2017Comunityですが、同じ症状の人います?

634:名前は開発中のものです。
18/12/15 11:52:51.86 fFdw8IQe.net
もともとVisualStudioは外から来たライブラリを激しく嫌う習性がある
if文の括弧つけ忘れとかセミコロン置き忘れのようなライブラリと関係なさそうなミスでも
「おめーの関数あいまいなんだよ」みたいな態度を取って文句を言ってくる

635:名前は開発中のものです。
18/12/19 13:29:37.22 kSLr63M/.net
数日前に更新きてるね。

636:名前は開発中のものです。
18/12/24 16:46:25.19 aG9DWC8k.net
ABCDEFGH
1□□□□□□□□
2□□□□□/□□
3□□□□//□□
4□□□//□□□
5□□□/□□□□
6□□□□□□□□

637:名前は開発中のものです。
18/12/24 17:04:14.55 aG9DWC8k.net
DXライブラリ関係ない話題ですんません
2DのRPGの話なんですが
普段は上下左右の4方向にしか移動できないタイプのゲームで
マップで坂道を表現するときの処理の


638:仕方なんですけど、どんな風にやればいいかなと マップの侵入不可とかの地形データの中に坂道フラグみたいなのを設定して 移動の時にそれを参照して、現在位置の地形が坂道の場合、斜めに移動する ってやったら>>618の図で言うところ のぼる時は 4C→4D→3E→2F→1Gになり 戻ろうとすると1Gは平面で1Fに行ってしまう また階段途中で引き返しても4Dから5Cに行っちゃう 要するに、坂道に足を踏み入れた時と、坂道から抜け出す時の座標のずれが気になるんですよ



639:名前は開発中のものです。
18/12/24 21:32:13.63 tF6mJ6dd.net
>>619
横視点?
上からの平面マップで疑似斜め地形を表現したいってこと?
重力はあるのかな?

640:名前は開発中のものです。
18/12/24 23:26:39.63 aG9DWC8k.net
>>620
横視点というより上視点でしょうか
普通にRPGツクールシリーズのマップみたいなイメージです
坂や階段を表現するときにどうしたらいいかなーと
今のままでも5のラインから登って行けば2のラインに出て
2のラインから降りていけば5のラインにたどり着くんですけど
先述の通り途中で引き返したりすると違和感が出てきてしまって…
気にしすぎなだけかもなんですが

641:名前は開発中のものです。
18/12/25 04:20:40.87 mDRutuC9.net
真上視点で斜めに移動するってのがイマイチ分からない

642:名前は開発中のものです。
18/12/25 06:43:25.92 jdQSjEcg.net
>>622
FF6の町マップにある階段のような挙動をイメージしてます

643:名前は開発中のものです。
18/12/26 11:33:16.18 hbFgVmYB.net
なるほど把握
マップチップで考えずに、
単純にキャラクターの表示座標を上方向にズラすんじゃダメ?
もちろんそのままでは背景との整合性が取れなくなるから
マップチップの方をうまく調整しなきゃいけないけど

644:名前は開発中のものです。
18/12/26 17:53:32.42 Rm5+LYVi.net
5Cから1Gまでは一直線移動で途中から横には出られないようにすべきだね。
エスカレーターの出入り口みたいにする。エスカレーター内は左右or上下で自力移動だけど。
途中で降りられるようにするとおかしくなるよ。

645:名前は開発中のものです。
18/12/26 18:34:10.93 kkI88fKg.net
いまさら遅いと思うけど、グリッドベースで進行するゲームの場合キャラの位置もグリッド座標で持つようにして
キャラ絵は接触判定とか無視して自動で指定位置に移動するほうがいい
落ちものパズルとかターン制ストラテジーがだいたいこんな感じになってる

646:615
18/12/29 12:34:00.46 X4qFP4Cc.net
>>616
む、そーだったのか!
でもwarningはあったとしてもerrorはない状態でも出るんですよね。
再起動してビルドするとスンナリ通ります。

647:名前は開発中のものです。
19/01/01 15:39:47.26 +7WWUKx+.net
visual studioといってもC++コンパイラだけでしょ
テンプレートのエラーなんかでも的外れなエラーをずらずら吐き出すし

648:名前は開発中のものです。
19/01/09 07:47:37.76 tmDFBGXp.net
更新きたね

649:名前は開発中のものです。
19/01/20 18:54:21.61 MFT3cOtp.net
>>629
で?

650:名前は開発中のものです。
19/01/28 11:25:34.50 cade5/BJ.net
VisualStudio2015で使ってるけどたまにあいまいですって出るなあ
ビルド通らなくなったかは覚えてないけど気持ち悪い以外に特に問題はないみたいだから気にしないようにしてる

651:名前は開発中のものです。
19/01/28 12:50:27.71 1rRkDpQU.net
2013でやってるけどあいまい出て気持ち悪かったなぁ、ctrlk+ctrldで何故か直ってたが

652:名前は開発中のものです。
19/02/13 14:03:09.98 ebuYoW


653:Qw.net



654:名前は開発中のものです。
19/02/13 14:35:58.45 oG+u3KKI.net
過疎ってたから何らかの話題出したかっただけやですまんな

655:名前は開発中のものです。
19/03/17 18:52:55.42 Brh4Ihsd.net
iOS対応おめでとうございます

656:名前は開発中のものです。
19/03/19 01:48:25.26 OCk7HKRn.net
ios対応したんか
mac持ってないとビルドできないのかな

657:名前は開発中のものです。
19/03/20 14:14:37.89 LXulHCR1.net
そりゃそうだろw
VMで動いてんじゃないし。

658:名前は開発中のものです。
19/03/20 19:07:54.51 uJ6x6fK8.net
ビルドなら関係なくね?

659:名前は開発中のものです。
19/03/21 22:52:31.59 xzBDjHxq.net
クロスコンパイルのこと言ってるのか?
DXLibじゃ無理だろ。

660:名前は開発中のものです。
19/03/23 08:46:53.32 bSYSzO9S.net
ios対応したのかー
まぁ、俺の昔作ったプログラムは、あることがしたくて、dxlibの非公開APIとwindowsAPIを直接叩いているから、移植は難しいだろうなぁ

661:名前は開発中のものです。
19/03/25 22:51:52.82 eK0voLVD.net
>>615
 何度見直しても問題点が見付からなかったので、発生した関数内で呼び出している関数のプロトタイプで
    extern void test( int ,int);
としていたのを
    extern void tese( int a ,int b);
にしたら、赤線が取り敢えず消えた。 型だけじゃなく仮変数も付けた方が良いのか。
 他にも発生条件あるんだろうなあ。

662:名前は開発中のものです。
19/03/25 23:17:58.47 BXdQaZgG.net
tese

663:名前は開発中のものです。
19/03/25 23:26:39.96 eK0voLVD.net
うん、コピペじゃないから打ち間違えたw

664:名前は開発中のものです。
19/10/11 01:54:12.01 wLFAsmkJ.net
本家サイトの掲示板で5chに自分の悪口書かれてるって騒いでる奴がいたから、
何を書かれてるのか見にきたら、別に何も書かれてなくてワロタ。
それどころか7ヶ月以上書き込みが無い…。
別のスレで書かれてるのか?
それとも総合失調症ぎみの人なのだろうか?
「ネットストーカーが」とか書き込んでるから、ちょっとヤバそうなそうな人の気配はしたが果たして…。
青葉の件から、ああいう書き込み見るとマジで不安になっちゃうよ…。

665:名前は開発中のものです。
19/10/11 11:20:08.24 iKlFtI3l.net
青葉?

666:名前は開発中のものです。
19/10/11 23:18:52.60 wLFAsmkJ.net
青葉真司、京アニの放火の犯人(と今の所されてる男)。
ネタや煽りで「ネットストーカー」とか書き込んでるんなら性格or頭が悪いってだけで、
実質的な害は無い(気分は悪いけどね)からまあいいんだけどさ。
世の中には少数だけど青葉みたいに本気で頭おかしい人が居るからね。
文面だけじゃ本気なのかネタなのか区別つかんし…。
こことか2chとかアングラな掲示板ならともかく、
平和な本家サイトの掲示板では使う言葉は選んで欲しいよ。
レスバしたいんなら、他でやればいいのに…。

667:名前は開発中のものです。
19/10/15 07:06:52.04 i2lxSV5o.net
ios対応ってどういうことですか?
だって、DXライブラリで作ったゲームって
directX必須じゃなかった??
アイフォンで動くゲームにビルドできるんですか?

668:名前は開発中のものです。
19/10/16 03:26:10.88 5zbE2rtc.net
Android版とios版はOpenGL ESで描画してる。
ただし関数名はWindows版とまったく一緒なので、c++ソースが共用出来るのがメリットかな。
※OSに依存している部分は書き換える必要が有り
あと、当たり前だけどiosアプリ作るにはMacでXcode使ってビルドする必要がある。

っていうか本家HPに全部説明書いてありますがな…。

669:名前は開発中のものです。
19/10/29 14:30:39.36 HhRe8W4N.net
ふーん

670:名前は開発中のものです。
19/10/29 14:30:57.80 HhRe8W4N.net
ふーん

671:名前は開発中のものです。
19/10/30 00:07:00.43 S9EZs4wp.net
ふーん

672:名前は開発中のものです。
19/11/09 21:59:31.04 fUK6qSh7.net
>>644
その人は、通称「虐殺ちゃん」といって
プログラマのQAサイトteratailやyahoo知恵袋、おしえてgooで騒いでる超問題児
teratailのスレでウォッチされてる

673:名前は開発中のものです。
19/11/11 13:39:21.80 xKKxnD2l.net
>>652
teratailのスレ見てきた。
本当に同一人物なら相当ヤバいねあの人。
文章見る限りそんなに知能がたりないわけでもなさそう(人としてバカだし性格は糞だが…)なのに、
プログラミングに関しては本当に無能通りこして障害レベルだね…。
脳みその構造どうなってるんだろ?
ああゆうのが発達障害ってやつなのかな…。
それとも文章はギリギリ健常者だけど、他は知的障害とかあるのか?
日本語は通じてるようだが、プログラミングに関しての所は全く読めてない感じだもんなー。
バカのふりして遊んでるだけならまだいいんだが、なんかガチっぽいのもなぁ…。
しかも、執念も異常っぽいから、
何十年もかけて善良なひとを騙してかき集めたコードを繋ぎ合わせて、
何かゲームのようなもの(もちろんバグらだけ)を完成させるような気もするのがなお怖い…。

674:名前は開発中のものです。
19/11/11 21:50:05.42 Z55XAgnB.net
>>653
そんなんで怖いのかよ
カス野郎が!

675:名前は開発中のものです。
19/11/12 08:27:40.44 tcBQnMZ0.net
>>654
こんにちは、虐殺ちゃんですか?
こんな所まで出張とは精が出ますね。
その時間を使って、Cの基礎を勉強なさったらどうですか?
そして、あなた多分「怖い」の意味を理解できてないですよ、
日本語も不自由なようですね…。
一回辞書で調べてみてください。紙の本が面倒なら、google検索等で
「怖い 意味」と入れるとWebの辞書のページがヒットします。
多分あなたの知らない使い方が出てきますよ。
言葉には一つの単語でも色んな意味があるんです。
とりあえず、気になったら調べる癖をつけましょう。
そうすればプログラミングも上達するはずです。
頑張ってください。(なるべく人に迷惑をかけずにね...)

676:名前は開発中のものです。
19/11/13 20:40:16.52 1dy/u+j0.net
虐殺ちゃんが困っているので
助けてあげてね!
URLリンク(detail.chiebukuro.yahoo.co.jp)
URLリンク(detail.chiebukuro.yahoo.co.jp)

677:名前は開発中のものです。
20/01/01 05:32:48.00 /T0aTfd3.net
明けましておめでとうございます

678:名前は開発中のものです。
20/02/08 02:52:20 UhC2RKld.net
Dxlibつかってゲームのロジックとか設計とか組むのは面白いけどゲームとして完成しない
かれこれ5年以上同じ事続けてる

679:名前は開発中のものです。
20/02/29 16:30:12.78 TZ+HrO84.net
人生は短いぞ

680:名前は開発中のものです。
20/03/05 04:49:34 B/JIUoGr.net
>>658
作ってるのが楽しいなら、別にそれでいいんじゃない。

そもそゲームってファミコン時代でも数人がかりで、数ヵ月~数年かけてつくるもんだし、
一人で趣味で作ってたら十年かかってもおかしくないよ。

完成させるのが目的なら、とりあえず簡単なプログラムで済むゲームにして、
スケジュール管理もしっかりした方がいいとはおもうけどね。

681:名前は開発中のものです。
20/03/24 13:3


682:4:30.12 ID:PZMCMzbN.net



683:名前は開発中のものです。
20/03/25 09:02:50 Elbmu22L.net
DXライブラリも一応ゲームエンジンに分類はされてるよ。
ただまあ、描画・サウンド・キー入力位しかサポートしてないからなぁ...。(物理エンジンはMMDのモデルのみ対応)

「Unity」「Unreal Engine」とかの開発環境付きのゲームエンジンに比べたらかなり手間ね。
(DirectXを直に触るよりは格段に楽だけどさ。)

ワールドマップを表示するだけでも、
「プログラムコード内でマップデータを数値入力する」
「既存のツールのファイルを読み込むプログラムを書く」
「独自ツール開発してファイルを読み込むプログラムを書く」
のどれかをしないといけないからね。
(専用の2Dマップエディタとか3Dマップエディタがあればかなり効率よくなると思うのだが…)

プログラミングが好きじゃないなら「Unity」とか「Unreal Engine」「ツクール」を使った方がいいよね。

あと利点としてはライセンス料かな、
確か「Unity」とかは無料版もあるけど売り上げがある程度あるなら金払わなきゃいけないからな。

684:名前は開発中のものです。
20/03/25 18:58:39.83 4t6SFiAx.net
画面を出す仕組みがデフォで組み込まれてるから一応ゲームエンジンといえなくもないが、
やはりライブラリを名乗ってる以上ライブラリな気はするw

685:名前は開発中のものです。
20/03/26 12:52:45 N4sxdCnh.net
MMDに対応してるおかげでモーション作りやすいのは利点かな
UE4のcontrol rigも進歩してるけど俺のノートPCじゃUE4は重すぎる
マシン買い換えるまではDXだな

686:名前は開発中のものです。
20/03/27 22:08:24.68 6wrnl6gG.net
エンジンっていうほどのフレームワークは持ってないでしょ。
マルチメディアライブラリ以外の何ものでもない。

687:名前は開発中のものです。
20/03/27 23:15:18.81 lyl4ODky.net
TOPに置いてある14歳からの~シリーズを見たせいなのか
DXライブラリが子供向けのゆとり仕様だと思ってる奴がいて腹立ったわ
Unityとかのがよっぽどお手軽だよな・・・?

688:名前は開発中のものです。
20/03/27 23:52:54.74 X+sf8jeg.net
>>665
Wikiでもゲームエンジンに分類されちゃってるからなー。
(広義の意味でとは書いてあるが)
細かく言うとゲームに特化したミドルウェアなんだろうが…。
>>666
とりあえずゲーム作りたいならUnityの方がお手軽ね。
DXライブラリはC言語の基本さえわかれば、すぐ使えるって意味ではお手軽だけど、
それってCは出来る事前提だからね。
あと、マシンスペックはDXの方が低性能でもうごくから、そこもお手軽かもね。
UnityやUnreal Engineをサクサク動かそうと思うと結構スペック要求される。

689:名前は開発中のものです。
20/03/28 00:16:45 gTPY90Ty.net
やっぱそういう認識だよな

ほんとに単純なゲームならCだけできるってのは確かにそうだけど
結局ある程度以上となるとオブジェクト指向で組まないと逆に複雑になる気もするし

690:名前は開発中のものです。
20/03/28 00:39:56 E8w1RGpG.net
うん、大規模なゲーム作るなクラス使わんと無理だと思う。

ただDX自体がC言語の文法だけで書けるようになってるから、
大体のDXの入門系のサイトはCの書き方になっちゃてるんだよね。

c++の文法で始めた方が後々楽だと思うんだけどね…。

691:名前は開発中のものです。
20/03/28 03:43:21 p+Y/CHcg.net
C言語用のこういうライブラリってほかはもうSDLとか
古典ライブラリしかないし、気に入っているけどね。
インターフェースまで持ってっちゃうんで、そこを便利と見るか
余計と見るかは分かれるだろうけど。

692:名前は開発中のものです。
20/04/19 18:50:01 HULRFLYX.net
非同期読み込みがonの状態で作成したグラフィックハンドルについて質問です。

存在しない画像ファイル名をLoadGraphの引数に渡したのですが、戻り値が-1ではありませんでした。
おそらく非同期読み込み用のフラグをハンドルに持たせているからなのでは?と思っているのですが、
DXライブラリにハンドルの作成失敗を確認することができる関数は存在しますか?

693:名前は開発中のものです。
20/04/19 18:52:26 HULRFLYX.net
すいません
自己解決しました。

URLリンク(dxlib.xsrv.jp)

694:名前は開発中のものです。
20/07/28 17:06:56.84 PKQFDEZt.net
Android Studioにも対応したみたいね。
AdMobにも対応できるのかな?
NativeActivityだから設定一筋縄でいきそうにないけど…。

695:名前は開発中のものです。
20/08/10 16:59:22.43 NullcPXe.net
できるわけないだろ

696:名前は開発中のものです。
20/08/13 15:13:13.00 HGTDuWuc.net
>>674
断言できるという事はDXライブラリの内部処理に詳しい方ですか?
すいませんが、対応できない技術的な理由を教えていただけませんか?
NativeActivity自体はAndroid StudioならAdMob対応させる方法あるみたいですけど…、
DXライブラリってAdMobが使えなくなるような何か特殊な処理をしてるんでしょうか?

697:名前は開発中のものです。
20/08/13 22:09:30.15 HGTDuWuc.net
>>674
色々AdMob試してたら、バナータイプのテスト広告はエミュレーター・実機とも表示されましたが…
本番の広告は表示されないって事でしょうか?
正しく広告収益にカウントされないとか、そう言った問題があるんですかね?

698:名前は開発中のものです。
20/09/10 05:53:20.93 hgx4TYmp.net
お腹すいた

699:名前は開発中のものです。
20/09/13 14:30:48.54 Bw47rW7M.net
dxライブラリの管理人は対応早くて驚くよな

700:名前は開発中のものです。
20/10/01 19:06:21.36 XvAM1eW6.net
管理人、前はゲームの自体のプログラミングの相談にも親切に答えてたけど、
最近はゲームの処理は自分で考えろってスタンスになったみたいね。
教えてもコードコピペだけして全く成長しない人とか、
自分で考えたり調べたりせずに質問ばかりする人が増えたからしょうがないか…。
そもそもマニュアルやサンプルプログラムすら目を通してるか怪しい人もいるしな。

701:名前は開発中のものです。
20/10/05 21:17:21.97 VlLD0xo1.net
初心者の相手はキリがないからね
ましてやゲームロジックまで面倒みれないよ

702:名前は開発中のものです。
20/10/31 13:15:12.03 3FFnVH5q.net
実際掲示板見ててヒヤヒヤするよ。あまりにも無知な上に礼儀知らずな奴がいて。
しょうもない無礼な質問で管理人さんの手をわずらわせないで欲しいよ。
管理人さんはお前の母親じゃないっての。

703:名前は開発中のものです。
20/10/31 13:43:04.31 A5xR5tL1.net
>>681
おまえもなー

704:名前は開発中のものです。
20/11/01 03:15:14.03 oVKR75Ae.net
礼儀もまた知識。
どんな無礼かと思い覗けば、総てでなくとも自治も出来ている様子。
まあまあ、悪くない状態じゃないかな?
# 個人的にも色々やらかした事があるので胸が痛い。

705:名前は開発中のものです。
20/11/01 03:23:25.18


706:pnE8AbjZ.net



707:名前は開発中のものです。
20/11/03 05:32:27.53 B3TkECaE.net
技術的な無知もアレなんだけど
そういう人に限ってまた態度が横柄というかため口というか…
「あとこれもついでに訊くんだけどさー」みたいなどういう育ち方したのかなと思う口のきき方。
そこも問題なんじゃないのかな。中高生なんだと思うが。

708:名前は開発中のものです。
20/11/04 22:23:46.37 UXQ1CTHY.net
久しぶりに見たらジオメトリシェーダーに対応したんだな
でも、うーん使わねー・・・・・モデルに毛でも生やすか?
まあ選択の幅が広がるのはいいか

709:名前は開発中のものです。
20/11/08 01:15:20.96 iMUqnOBq.net
PCのスペック云々ってしつこくPCのせいにしてる人に、
「PCのスペックじゃなくて、お前のスペックが足らないんだよ」って
みんなハッキリ言わないのは優しさなんだろうけど、余計残酷な気もするな…。
永遠に人や物のせいにして、自分自信の改善は何もできないんだもん。

710:名前は開発中のものです。
20/11/08 12:44:26.27 QTULr99J.net
>>687
 リファクタリングってか最適化って、地味な作業だしねえ。
 ループの外へ変動しない計算式を出すだけでもそれなりに軽くなるものだけど、今はコンパイラが
勝手にやってくれるんだっけ?
 DXlib関係だと、3万ばかりの点を打たないといけなかったのを小円で打とうとしたら激しく重くなったので、
今絶賛思考ループ中です。
#あ、DXlib的には画像貼り付ける方が速いかも・・・。

711:名前は開発中のものです。
20/11/09 15:05:07.59 qvd2rcZy.net
嫌味なコメントはいらない
スレの品位が落ちるから

712:名前は開発中のものです。
20/11/09 17:51:20.10 Yaz8kYuC.net
5chに対して言ってるなら最初から品位なんてないぞ。
DXの掲示板に対して言ってるなら、回答無視して同じような質問繰り返してる奴が一番嫌味な奴だ。
嫌味ってのは「人に不快な感じを与える言葉や態度」の事だからな。

713:名前は開発中のものです。
20/11/09 19:32:21.03 qvd2rcZy.net
DXの掲示板に対してだよ

714:名前は開発中のものです。
20/11/13 20:15:20.46 AoodYsGd.net
この人、まだマルチポストしてるのね…。ぜんぜん懲りてないのな。
URLリンク(dxlib.xsrv.jp)
URLリンク(detail.chiebukuro.yahoo.co.jp)
画像ならバレないとでも思ったのかね?

715:名前は開発中のものです。
20/11/14 14:47:45.05 siKNafZE.net
なんとか小手先のごまかしで最後まで逃げ切って作ろうとしてるんだよねこの人は。
この間違った情熱をまともな方向に使えばもっと早く作りたいものが作れるんじゃないかと思うが。
とにかくいまどきのPCでサンプル動かしてるくらいでスペックが問題になんてなるわけないだろうと。
問題が起きたらまず自分のプログラムの構造を疑えよと思うんだけどこの人はもうこのスタイルを変える気ないよな。

716:名前は開発中のものです。
20/11/15 19:48:43.51 N8kSeVVG.net
>>692
彼は通称「虐殺くん」といって3年くらい前から
いろんな質問サイトで迷惑かけまくってるひとよ
プログラミングを少なくとも5年以上勉強しているのに
if文もfor文も正しく使いこなせない勇者

717:名前は開発中のものです。
20/11/17 00:44:08.33 B3J8cV2M.net
DXLib使ったオープンソースのSTGってないですか?

718:名前は開発中のものです。
20/11/17 01:31:42.68 xOdiMx40.net
シューティングのサンプルコードがほしいなら、
本家ページにあるよ↓
URLリンク(dxlib.xsrv.jp)
URLリンク(dxlib.xsrv.jp)
あと、↓このページにも細かい解説がある
URLリンク(dixq.net)
これ見て訳わかんないなら、まだ作るのは無理だと思うよ。

719:名前は開発中のものです。
20/11/18 23:28:54.88 2/LPUQNv.net
DXLib使ったオープンソースのACTないかな?
勉強したい

720:名前は開発中のものです。
20/11/19 16:20:06.05 v8wp9qJ9.net
3Dのアクションサンプルなら普通に公式ページにあるよ。
↓「Sword Bout」ってやつ
URLリンク(dxlib.xsrv.jp)
ソースコードも3Dデータもダウンロードできる。

721:名前は開発中のものです。
20/11/21 12:23:07.75 Lo8YiGVf.net
なんか「虐殺」の事に触れると急に別の話題書き込むやつ現れるよな。
ここも監視してんのかね?
ここは寺尾スレと違って流れ遅いから無駄だと思うがね…。

722:名前は開発中のものです。
20/11/23 15:52:04.94 3KVGhiH9.net
>>698
2Dの方です。。。

723:名前は開発中のものです。
20/11/27 21:35:38.69 YnrNi7qM.net
>>698
2Dって言ってるじゃん

724:名前は開発中のものです。
20/11/28 01:13:37.12 iQ77Yp2s.net
↓公式ページに一通り2Dサンプルあるじゃん
URLリンク(dxlib.xsrv.jp)
だいたい、サンプルよこせって奴そこすら見てないよな…。

725:名前は開発中のものです。
20/11/28 14:16:19.79 zjJoN57a.net
>>702
あったんですね
ありがとうございました

726:名前は開発中のものです。
20/12/01 13:48:01.09 rszKvpqu.net
便利だけどこれが使いこなせるなら本家のdirectxも大して難しくないだろうっていう中途半端さ
いや便利だけどさ
誰も使ってないのがな

727:名前は開発中のものです。
20/12/01 13:53:31.82 rszKvpqu.net
>>661
どこがだw
DXlibはダダ甘だろw
この程度でゼロからゲーム作るとか言うかw
使ったことないけどそれならunityってもうツクールレベルなんじゃね?

728:名前は開発中のものです。
20/12/02 01:02:45.00 6jQXFoln.net
unityは使い方によっては、もうツクールレベルだと思うよ。
便利なツールや既存のスクリプトが大量にあるから…。
DXは描画とサウンド以外は全部自前でプログラム書かなくちゃいけないから、
そんなに甘くも無いと思うけど…。(超便利だけどさ)
どのレベルから作ればゼロからなの?
まさかグラフィックエンジンから作れとでも?

729:名前は開発中のものです。
20/12/02 21:11:48.25 YQd1r2uH.net
>>706
DXライブラリが気に食わないんなら、そっちに行けば?

730:名前は開発中のものです。
20/12/03 03:35:56.27 2bL3buvh.net
>>707
何処をどう読んだらDXライブラリが気に食わないって認識になるの?
甘くも無いけと超便利って書いてんじゃん…。

731:名前は開発中のものです。
20/12/03 06:34:38.36 LwLiZdPK.net
>>707
DXライブラリが気にくわないんじゃなくて、
(>>705)の意見や認識が気に食わないんだよww
流れ見ればわかるだろ…、大丈夫かお前?

732:名前は開発中のものです。
20/12/03 16:30:18.98 Al3BFzxo.net
>>706
ごめん、返信相手を間違えた!
どうかしてた、三日後に出直してくる

733:名前は開発中のものです。
20/12/03 17:03:18.64 Al3BFzxo.net
また間違えた>>707だった。。。

734:名前は開発中のものです。
20/12/03 17:05:42.79 Al3BFzxo.net
またまたすまん
>>708だった。。。
返信って恐ろしい

735:名前は開発中のものです。
20/12/07 14:39:29.60 +rNfIlhi.net
このスレも酷いけど板自体にバカしかいねえな
ゴミスレばっか立ってるやん

736:名前は開発中のものです。
20/12/10 16:29:37.02 wy2WAlAI.net
>>705が勝手に「ゼロから」と読み替えて反論した気になってるだけ

737:名前は開発中のものです。
20/12/10 19:30:10.10 h0Q8aNuo.net
俺的には、これの利点は、お作法関係なしにちょいと試せるって事に尽きる。
openglesに対応してくれたら言うことないのだが

738:名前は開発中のものです。
20/12/17 18:27:36.41 3BF3KC1V


739:.net



740:名前は開発中のものです。
21/01/03 05:56:09.35 AE44O09e.net
明けましておめでとうございます。
もう、1月3日だけど…。

741:名前は開発中のものです。
21/01/09 17:57:40.78 +UQXD+eYP
ITフリーランスの独立支援サービス『テックビズ』&定額制全国住み放題『ADDress』提携開始
URLリンク(prtimes.jp)
ITフリーランスの独立支援サービス『テックビズ』とフリーランス向け報酬即日払いサービス『先払い』提携開始
URLリンク(prtimes.jp)
病休代替「フリーランスティーチャー」の正体
ボトムアップの「働き方改革」で教員を救え!
URLリンク(toyokeizai.net)
【特報】テレビCMも成果報酬型に ラクスルがADKと提携し実現
URLリンク(xtrend.nikkei.com)
フリーランスエンジニア専門の案件一括検索サイト「フリーランススタート」、
掲載案件数15万件突破!さらにリモートワークの掲載案件数4,000件突破!
URLリンク(prtimes.jp)
新潟県、移住してきたテレワーカー/フリーランスに最大50万円を支給
URLリンク(internet.watch.impress.co.jp)
茨城県日立市、県外からの「テレワーク移住者」に最大151万円の助成金
URLリンク(internet.watch.impress.co.jp)
長野市、市内に移転・事業所設置し、移住することで最大550万円の支援金を支給
URLリンク(internet.watch.impress.co.jp)

742:名前は開発中のものです。
21/01/21 12:48:38.59 EsYKa2+n.net
>>717
明けましておめでとうございます。

743:名前は開発中のものです。
21/01/22 14:22:54.88 g3qywkIW.net
>>676
ちょうどAdMob実装で悩んでいる者です。
setContentView()を使ってViewを追加する感じで試しているのですが上手く動きません。。。
ヒントをいただけるとありがたいですー!!

744:名前は開発中のものです。
21/01/22 21:29:51.66 BSwx63IDe
Robloxとは何か、ゲームの作り方、収入を得る方法を解説します
URLリンク(www.youtube.com)
【ゲーム開発】個人で収入目的にゲームを作る場合の全体の流れについて解説します
URLリンク(www.youtube.com)
【就職活動】求人票を見てその会社がブラック企業か判断する方法を解説します【ゲーム会社】
URLリンク(www.youtube.com)
個人ゲーム開発者の受託案件について解説します
URLリンク(www.youtube.com)
個人開発ゲームをお金をかけずに宣伝する方法を解説します
URLリンク(www.youtube.com)
ゲーム開発でお金を稼ぐ方法を全て解説します【ゲームクリエイターになるには】
URLリンク(www.youtube.com)
Unityを使って最速で収入を得る方法【ゲーム開発】
URLリンク(www.youtube.com)
ゲームのプログラムを最短で習得する勉強法について解説します
URLリンク(www.youtube.com)
個人ゲーム開発者の独立1年目の全ゲーム収益公開します
URLリンク(www.youtube.com)
ゲームを180本作って編み出した売れるゲームの法則について解説します【体で覚えるタイプ】
URLリンク(www.youtube.com)


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