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


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

【初心者】スレを立てる前にココで質問を【Part18】



1 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 20:13:28 ID:0XIZWRlM]
疑問に思うことがあれば、スレを立てずに、まずはココで質問。
スレッドを立てる前にはローカルルールを読みましょう。
pc11.2ch.net/gamedev/

>>980 を踏んだ人は次スレ立てをお願いします。
【アップローダ・避難所・Wiki】
ゲーム製作技術板公式Wiki
gamdev.org/w/

ゲーム製作技術板公式アップローダ
gamdev.org/up/

ゲーム製作技術板公式掲示板避難所
bbs.gamdev.org/gamedev/

ゲーム製作技術板予備
yy13.kakiko.com/gamdev/

アップローダー予備
gamdev.hp.infoseek.co.jp/

gamdev.orgが落ちるたびにあげてみるスレ
pc11.2ch.net/test/read.cgi/gamedev/1107022166/


543 名前:名前は開発中のものです。 mailto:sage [2009/01/11(日) 18:55:40 ID:w/n5SiVC]
コンパイルすると
xxx::yyy等のメソッドの末尾にAやWが付いたエラーが発生します。
(yyyAやyyyWなど。)
自分なりに調べてみた所
ttp://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=651000&SiteID=7
この方の事例とほぼ同じなのですが、よくわからず。

どうすればこのエラーを避ける事ができますでしょうか?

544 名前:543 mailto:sage [2009/01/11(日) 19:34:58 ID:w/n5SiVC]
どうやら、マルチバイト文字とユニコード文字の両方を使ってしまっている事が原因
のようで。
未解決ですが自己解決を目指してみます。

545 名前:名前は開発中のものです。 mailto:sage [2009/01/11(日) 20:10:54 ID:NYS8aY2c]
>>544
 ・ エラーが出た場合、そのエラーの文字列をコピペすると、エスパー出現率が上がります。
 ・ ソースを出すと、親切な人にデバッグしてもらえる場合があります。

546 名前:543 mailto:sage [2009/01/11(日) 20:45:29 ID:w/n5SiVC]
>>545
そう心がけます。ありがとうございました。

どうやら資料の誤植に気付かず、似た名前の存在しないメソッドを呼び出していた様で、
解決できました。今後は名称に注意して行きたいと思います。
お騒がせして申し訳ありませんでした。

547 名前:名前は開発中のものです。 mailto:sage [2009/01/12(月) 03:44:59 ID:7p3Ih3Zn]
ファミコンのドラクエみたいなRPGって当たり判定とかあるの?
マップチップの場所で通り抜けできないとか決めてるだけ?

548 名前:名前は開発中のものです。 mailto:sage [2009/01/12(月) 03:50:22 ID:w8WxyVqU]
プレイヤーキャラと城・町・村の人とは当たり判定あるんじゃね?

549 名前:名前は開発中のものです。 mailto:sage [2009/01/12(月) 04:22:31 ID:yggPamtr]
>>547
ソース見たわけじゃないけど、あの頃だとメモリもったいし
イベントレイヤとか使って無さそうだから
マップチップの歩けない部分はマップチップの数値で
町や城は座標で判定とかそんな感じじゃない?

550 名前:名前は開発中のものです。 mailto:sage [2009/01/12(月) 13:21:45 ID:vKbJrKOX]
マップチップの属性参照も、十分「当たり判定」だと思うんだけど
それは指摘しちゃダメだよな

551 名前:名前は開発中のものです。 mailto:sage [2009/01/12(月) 17:28:47 ID:lakDGx5c]
DirectXでスプライトの描画しようとすると、以下の様に出て動きません

ID3DXSprite::Begin : 関数に 0 個の引数を指定できません。
ID3DXSprite::Draw : 関数に 7 個の引数を指定できません。

何か変更が有ったらしい情報を見つけ、MSDNで調べてみたのですが
Draw関数の引数は7つと記されていました。
どなたか解決方法をご存知ではないでしょうか?



552 名前:名前は開発中のものです。 mailto:sage [2009/01/12(月) 17:36:55 ID:lCvd746Q]
D3DXは割と仕様が変わるから、自分の持ってるd3dx.hの宣言を見ればいいと思う。
ちなみに日本語MSDNライブラリは、いろいろと遅いので信用せずに、おかしいと思ったら英語サイトを見た方がよい。

553 名前:名前は開発中のものです。 mailto:sage [2009/01/12(月) 19:57:04 ID:OHxA9yGU]
ぶっちゃけゲームプログラミングにオブジェクト指向って必要なくね。昔のファミコンなんかアセンブラで構造化プログラミングしてて大規模で面白いゲーム作れてたわけで。

554 名前:551 mailto:sage [2009/01/12(月) 19:57:58 ID:eS7jTJwS]
>>552
ありがとうございます。d3dx9.hはまだ見ても理解できませんでしたが、
英語版MSDNで正しい仕様を見れて、無事解決できました。
ご助言感謝!

555 名前:名前は開発中のものです。 mailto:sage [2009/01/13(火) 00:10:09 ID:RNx4EzXr]
>>553
日本語でおk
オブジェクト指向=面白いゲームが作れる じゃ無いからな?

556 名前:名前は開発中のものです。 mailto:sage [2009/01/13(火) 00:17:00 ID:qWfhbc24]
アセンブラで構造化プログラミング????

557 名前:名前は開発中のものです。 mailto:sage [2009/01/13(火) 00:21:34 ID:IjMcH/Ql]
アセンブラでも構造化プログラムぐらい出来るぞ。
いったい何が疑問なんだ?

558 名前:名前は開発中のものです。 mailto:sage [2009/01/13(火) 00:45:29 ID:Q7BgWdru]
>>553
アセンブリ言語でもオブジェクト指向言語でも面白いゲームは作れる。
なら、開発しやすいほうを用いたほうが良い。
アセンブラが大好きで、そっちのほうが生産性や作業効率が良いと思ってるなら、そっち使えば?
誰も君を止めないよ。

559 名前:名前は開発中のものです。 mailto:sage [2009/01/13(火) 00:51:31 ID:UVAnUSa6]
表現能力に大した違いはないからね。
どちらでも同等のものは作れるけれど、OOPのほうが一般的に堅牢に作れる、ってくらいの話。
アマチュアの特権なんだから、自分の好きなツールを使ったらよろし。

560 名前:名前は開発中のものです。 mailto:sage [2009/01/13(火) 00:51:37 ID:tuhfyIRw]
オブジェクト指向がゲームをつまらなくした。

561 名前:名前は開発中のものです。 mailto:sage [2009/01/13(火) 02:57:08 ID:b1kilDBO]
関係ねーよ



562 名前:名前は開発中のものです。 mailto:sage [2009/01/13(火) 08:23:39 ID:ohYintPg]
全く関係ないなw

563 名前:名前は開発中のものです。 mailto:sage [2009/01/13(火) 17:45:38 ID:zgR3cyKa]
DirectXでのモーション適用の話なのですが
「複数のメッシュを1つのメッシュに結合 or 結合してるように見える状態にする」
という技術を紹介してそうな書籍をどなたかご存知では無いでしょうか?
自分で試行錯誤してやってみるしかないのかな。

564 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 03:12:42 ID:0DnXfUAy]
>>563
立方体-球=立方体の一部が球でえぐられた図形
見たいな事を実現したいの?

それとも、
AnimetionRootFrameとかHierarchyをつかって、適当なメッシュにボーン入れてスキンアニメーションさせたいって事?




565 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 03:27:31 ID:hGsbN2Bf]
企画書のようなものを書きたいんで、お勧めツール教えて下さい。
というかゲームだからって特別視せずに、普通の企画ソフトと同じものをぐぐればいいのかな・・・。

566 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 04:08:24 ID:t2PtFlFg]
普通のテキストエディタで十分だよ。
理系ならLaTeXでも。

フォントをいじりたいとか画像を張りたいとか
そういう方向に行くのなら,Word.

567 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 04:49:27 ID:hGsbN2Bf]
ありがとう。
一応は募集とかで見せる予定があるんで、少しは視覚にも訴えるつもり。
PowerPoint(OpenOfficeの方だけど)で作ろうと色々やってたけど、慣れないとめんどいねこれ;
Wordにするかなぁ。。。

568 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 05:08:13 ID:hGsbN2Bf]
あ、Drawってやついいかもしれない。
使ってる人居ないかな・・・どきどき。

569 名前:563 mailto:sage [2009/01/14(水) 05:15:47 ID:U+04oDjX]
>>564
>適当なメッシュにボーン入れてスキンアニメーションさせたいって事?
こちらです。幾つか選んだメッシュでスキンアニメーションをさせたく思っています。
手持ちの資料は1つのメッシュしか想定されておらず少し頭を抱えてます。

何かご存知でいらっしゃいますでしょうか?

570 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 11:24:55 ID:WlUoN9RJ]
>>567
エフェクトとかに凝るより、内容を凝った方が良い。
はっきり言って、視覚に訴えても無意味
というか、逆効果だから。

最近のプレゼンではページトラジションすら
簡易な物になってる物が多いよ。
「高橋メソッド」とかを調べてみた方がいいね。受けも良かったりする。

571 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 15:05:41 ID:hDpzWNxK]
テキストのダラダラかかれた企画書なんて
誰も読みたがらないor読み飛ばされるのが落ち
効果的な見出しとイメージを伝えるグラフィックや図は必須だろ
内容を使えるのはもちろんだが
どうやったら読んで貰えるかも考えた方がいい



572 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 15:20:26 ID:WlUoN9RJ]
>>571
グラフィックや図を否定してないけど?
エフェクトとか意味が無いからやめておけと言ってるだけだよ?

はっきり言うけど、ゲームの企画書と言う時点で
読まれない確率が高いんだから、
いや、興味ある小数の人間しか読まないんだから、
些末なパワポとか論外。

573 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 15:27:32 ID:WlUoN9RJ]
今読み返すと
>はっきり言って、視覚に訴えても無意味
>というか、逆効果だから。
という部分は、グラフィックや図の否定と取られてもしょうがないな。
正確には「視覚効果に訴えても無意味」と訂正させてください。

574 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 15:45:57 ID:LDelrAHH]
ゲームに興味ないお偉いさんを宥め賺してOK出させないといけない人もいるのですよ

575 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 15:49:12 ID:WlUoN9RJ]
>>573
いや、まさにそういうことをやってるわけだが。
プレゼンでそういう回転とかフェードインとか視覚効果を使いまくると、
うざがられて、悪印象となってしまうことが多い。

576 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 16:06:32 ID:qX+puBNa]
そんなことを面と向かって、
言われないだろうから
思い込みだろうなw
ホントは内容じゃね?

577 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 17:13:19 ID:uROSmUM9]
>>576
それ見て採用する側だったりするんだが・・・・

最低限の「内容を伝えるために必要な図表」
以外のいらん視覚効果やら、穴埋めっぽいイラストとか入ってると、

「これやってる暇に内容煮詰められたろ」

って減点するのは確か。

「内容を伝えるための図表」すらないのは論外だが

578 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 19:08:23 ID:t2PtFlFg]
昔の人は言いました。
「過ぎたるは猶及ばざるがごとし」

579 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 19:13:40 ID:HXmjzb5Z]
パワポのエフェクトは化す。
誰も欲しいと思ってないのに、下手についてるせいで・・・

580 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 20:21:05 ID:stdUI+D7]
>>577
ぱっぱと読み進めていきたいのに、
図形をぐるぐる回すとか無意味なエフェクト入っているとむっとするよな。
飾るのはいいから内容見せろと言いたくなる。

581 名前:名前は開発中のものです。 mailto:sage [2009/01/15(木) 00:09:53 ID:AeOKzX/A]
>>569
実装しなきゃいけないことがプログラマ側で2つある。
・Xファイルを読み込むための、読み込まれたデータを保持するクラスの一部が実装されていない、つまりこいつらをnewするメンバも実装されていないので、それぞれ継承して実装する必要がある。
・実際に描画するとき、受けとったFrameインスタンスの階層構造を順に調べて行き、全てのMeshContainer内にあるメッシュを描画する必要がある。

どちらも基本的に決まりきった実装だから、適当に探してソースをコピペして使うのがいい。逆引きDirectXとか。
実装内容としては前者で3つクラスを継承して実装する必要がある。(スキンメッシュを踏まえると少し増える。)
後者は非スキンメッシュなら、木構造を走査して全てのMeshContainerにたいして通常のメッシュの描画手順を行うだけだから難しくはないかな。

一度これらの実装をしてしまえば、表面上は結局階層構造のルートに対してのみ操作するので、操作方法は普通のメッシュと変わらない。
(アニメーション操作とかはあるが。これはあらかじめXファイルに組み込んでおいた何種類かのアニメーションから選択してそれをupudateするだけ。)








582 名前:569 mailto:sage [2009/01/15(木) 04:44:02 ID:MFg7ckIx]
>>581
ありがとうございます。
今はまだうっすらしか理解できませんが、
理解できるまで頑張らせて頂こうと思います。

>逆引きDirectX
めぼしい通販や近場の専門書店、メーカーの在庫、どこにも無いのですよね・・。
どこかに転がってはいないものか

583 名前:名前は開発中のものです。 mailto:sage [2009/01/15(木) 18:53:05 ID:+osjAqm5]
books.google.co.jp/books?as_brr=3&q=directx+%E9%80%86%E5%BC%95%E3%81%8D

584 名前:569 mailto:sage [2009/01/16(金) 05:11:18 ID:2NkRMk6Z]
>>583
出版の許可でこんなものも出てるのですね、ありがとうございます。

585 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 00:00:58 ID:C2A/yu5f]
初歩的な質問すみません。

クラス名1 名称A;
名称A.関数();

とやって別ソースの関数を呼び出しているのですが、

クラス名2::関数() { 〜〜 }

などのクラス名::付きの関数の中で、これを使用して別ソースの関数を呼び出そうとすると
目的のクラス名ではなく、その関数の所属クラス名が取れてしまいます。

これはC/C++のどういう所を勉強すれば仕組みを理解できるでしょうか?
また別ソースの関数を呼び出す方法には他の技術も有りますでしょうか?

586 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 00:06:56 ID:YMqzOeLE]
class A; class B;

void B::Func() {

587 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 00:09:02 ID:YMqzOeLE]
ごめん

class A; class B;

void B::Func() {
  A a;
  a.Func();
}
ってこと?

とりあえず入門書一冊買えばいいと思う。

588 名前:585 mailto:sage [2009/01/17(土) 00:30:32 ID:C2A/yu5f]
>>587
その形です。aにBの名称が入ってしまいます。

classAとBは別々のソースファイルで、
呼び出し側はclassAのヘッダもインクルードしています。
何か使い方を間違えている様子ですし、C++の勉強、急いで進めてみます。
ありがとうございました。

589 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 00:33:32 ID:PoPcVFJ4]
目的のクラス名ではなく、その関数の所属クラス名が取れてしまいます。
よくわからんな、コードを書いてくれ

590 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 01:15:43 ID:RaxQmEn+]
モチベーション上げるためにコミュニティに入りたいんだけど
ゲーム開発者向けのSNSみたいなのってありますかね?

591 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 01:55:30 ID:g/eznrUA]
>>585
エスパーするとスコープの問題じゃないかね?
ローカル変数とグローバル変数が同じ名前だったときどうなるか勉強してない?
例えば
void Func(){...} //別ソースの関数定義

void A::Func(){...} //Aクラスの関数定義

この場合Aのクラス内でFunc()を呼ぶと暗黙的にスコープの狭いA::Func()を呼ぶ決まりになってる
で、別ソースのFunc()を使いたい場合は::Func()と書けばいい
::の前にクラス名が無いのはクラスの外のFunc()を使いたいと明示するって意味




592 名前:585 mailto:sage [2009/01/17(土) 16:01:43 ID:rdRM3WKD]
>>589 >>591
レスありがとうございます。

class A; class B; // それぞれ別ソース

void B::FuncX() {
A a;
a.FuncY(ccc, ddd);  //classA::FuncYを呼ぶはずが classB::cccで呼ばれています
}

error C3867: 'classB::ccc': 関数呼び出しには引数リストがありません。メンバへのポインタを作成するために '&classB::ccc' を使用してください

WinMain関数内なら正常に動作するのですが、
class::関数内で使うとどこも例外なく同じ症状が出るので、使い方を間違えてる様子です。
スコープは・・多分大丈夫だと思います。関数名が別と記し忘れてすいません。
自己解決目指して勉強を続けてみます。

593 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 16:10:28 ID:m/2DoB9T]
そもそもエラーの根本であるcccが何なのか不明なんだよ
中途半端に出さず全てのソースをアップローダにでも上げろ
いいか、絶対に中途半端に出すなよ

594 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 16:12:00 ID:NhjiqVrf]
まあ、自分で勉強するっていうんなら文句言わないけど、
FuncYとかcccとかdddとかの宣言書くか、せめて変数とかクラス名を元のまま書いてくれないと何をしたいのかが伝わらない。

595 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 16:12:55 ID:NhjiqVrf]
とにかく入門書レベルからやり直し。

596 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 18:24:58 ID:/hhL36V6]
だな。その説明を見ると、どうも色々理解できてない気がする。

1、変数はまず宣言しなきゃ使えるわけがないのはわかっているだろうか。
2、実引数と仮引数がわかっているだろうか。
3、なんか別ソースって表現にすごい違和感を覚える。この分だと構造体もわかってなさそう。


597 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 19:26:53 ID:uzwKAVqB]
>>592
可能性1: class Aはclass Bを継承していてなおかつA::FuncYが実装されていない
可能性2: aとはclass Bのインスタンスである( A* a = new Class B; みたいな。 )

598 名前:585 mailto:sage [2009/01/17(土) 22:30:25 ID:rdRM3WKD]
色々と申し訳ありませんでした。
cccとdddをヘッダでしか初期化していなかった点。
>>596 >実引数と仮引数 を調べて書き換えを行って
正常に動作してくれました。

どこまでのソースを晒せば良いのかも解らない始末ですいませんでした。
入門書からやり直して来ます。

599 名前:名前は開発中のものです。 mailto:sage [2009/01/18(日) 12:44:09 ID:2DuA6Ctm]
まあ解決したようでなにより。

600 名前:名前は開発中のものです。 mailto:sage [2009/01/19(月) 21:04:49 ID:BpwhHUu5]
キー入力ってDirectInputを使うのとWinAPIを使うのでは
どちらが簡単ですか?

601 名前:名前は開発中のものです。 mailto:sage [2009/01/19(月) 21:17:02 ID:Z1Gxr4si]
どっちも使ったこと無いな



602 名前:名前は開発中のものです。 mailto:sage [2009/01/19(月) 21:24:45 ID:9dq08PG0]
>>600
感じ方は人それぞれ
自分で両方使って比較しろ

603 名前:名前は開発中のものです。 mailto:sage [2009/01/19(月) 21:45:32 ID:7K+ThBRM]
ゲームコントローラのこと考えると、directInputのほうが解説は多そう。

604 名前:名前は開発中のものです。 mailto:sage [2009/01/19(月) 22:08:46 ID:uysoxZuS]
普通のWindowsアプリにはキー入力の他にキー入力の結果によってマルチバイトを
含む文字入力があって混乱しやすい。CAPSキー、NumLockキーやIMEが単純な
入力を隠してしまう。
GetKeyboardState()APIで1発でキー状態を取得できるが、やはりIMEが邪魔をして
予期しない出力が現れる。IMEを黙らせる方法もあったはずだが。

DirectInputは知らない。

605 名前:名前は開発中のものです。 mailto:sage [2009/01/19(月) 22:10:41 ID:uysoxZuS]
GetKeyboardState()にもNumLockキーの影響は出る。

606 名前:名前は開発中のものです。 mailto:sage [2009/01/20(火) 09:35:53 ID:89BzQxL+]
ノベルゲーを作ろうと思ったのですが、
スクリプトやプログラムがよく分からないです
フラグの立て方や、CGが見れる機能、タイトル画面の作り方が主にわかりません
どのツールを使えば良いでしょうか?前は吉里を使ってました
もしよければアドバイスよろしくお願いします

607 名前:名前は開発中のものです。 mailto:sage [2009/01/20(火) 12:42:19 ID:Ci2KQ54z]
>>606
*タイトル画面
タイトル画面って画面に絵を表示して、「なんかボタン押せやゴルァ」とか書いておいて、
何かボタン押されたら本編が始まるようにしておけば良いよ。

コンフィグとかギャラリーとか詰め込もうとすると、わけがわからなくなる。

*フラグの立て方
「俺、この戦争が終わったら……」って発言が出たら、フラグ(変数)に1を入れて、
でなかったらフラグに0を入れておく。

フラグによって死ぬか死なないか分かれる場面が来たなら、
フラグを見て、1なら死亡ルート、0なら生還ルートへ


*CGが見れる機能
何それ?

*ツール
吉里吉里が難しいなら、コミックメーカーとかにしとけばいいんじゃね

608 名前:名前は開発中のものです。 mailto:sage [2009/01/20(火) 12:42:28 ID:/e+EiVUH]
そのまま吉里を使えばいいと思うが……

参考に
つttp://www.kawasakiyukio.com/novel/tool-01.html

609 名前:名前は開発中のものです。 mailto:sage [2009/01/20(火) 15:35:00 ID:gIr03VA7]
>>606
初心者向けの講座サイトがたくさんあるはず。
ググってみた?
吉里吉里スレテンプレにも初心者向けの講座リストがあるはずなんだけど。

どの作成ツールやスクリプトを使用するにしても、まずはフラグの立て方と
分岐の仕方(選択肢とジャンプ)だけ覚えることに専念して、それができてから、
他のことを覚えたほうが。
スクリプトがわけわからないなら、>>608がおすすめしているサイトでは、
チャート式(WISYWIG)で作成できるYuukiNovelがおすすめ。
スクリプト記述式じゃない作成ソフトを選ぶといいと思う。

ノベルツール選びはこっち。
ノベルツール選考スレ 3rd STRIKE
pc11.2ch.net/test/read.cgi/gamedev/1145204843/

610 名前:名前は開発中のものです。 mailto:sage [2009/01/20(火) 19:35:21 ID:89BzQxL+]
>>607>>608>>609
たくさんのアドバイスありがとうございます!
吉里でもう一回チャレンジしようかと思いましたが、
紹介してくださったyuuki Noberuで作ろうと思います
理由は、こちらの方が作りやすそうと思ったからです

色々調べたのですが、アホの自分にはKAGが理解できませんでした
とりあえず、フラグの立て方を中心的に勉強していきます
今から頑張って作ろうと思います。ありがとうございました

611 名前:名前は開発中のものです。 mailto:sage [2009/01/21(水) 03:06:52 ID:0R0mrqNW]
WinSockの勉強にチャットソフトを作ってるのですが
TCPで通信をしているときrecvで-1が戻り値の時は
ソケットを閉じて通信を終了してもいいのでしょうか?

ネットなどで調べると-1の時はrecv()の失敗と書いてあるだけで
どんなときに来るものかよくわからないもので・・・
よろしくお願いします



612 名前:名前は開発中のものです。 mailto:sage [2009/01/21(水) 16:28:33 ID:SD7NKV6J]
>>611
errnoを見よう。

613 名前:611 mailto:sage [2009/01/21(水) 17:28:47 ID:0R0mrqNW]
>>612
見たこと無かったので調べてところ納得しました
WSAGetLastError()でもいいのかな?まぁそこら辺色々調べればわかりますか
ありがとうございましたー

614 名前:名前は開発中のものです。 mailto:sage [2009/01/22(木) 06:26:22 ID:LSrgduCg]
すみません。クラスの勉強中の者なのですが、
ヘッダー・ソースを作り、コンストラクタ・デストラクタを行ってソース分割するまでを
実際やって理解したつもりなのですが、以下の事に悩まされています。

1.コンストラクタ時の関数(処理)は、メンバ関数とは何が違うのか?
2.一度コンストラクタの関数を呼び出すと、別のクラスからメンバ関数すら呼べなくなるの何故?
  (外部シンボルのエラー等と出ます。)
3.using namespace std を使っている資料の関数を取り込むと
  コンパイルは通るものの、実行時すると 「例外:std::bad_alloc」と出てしまう事。
  (メモリの確保に失敗するか2度メモリが確保されようとして起こるとまでは調べましたが‥)

ここをしっかり理解していないと、類似したソース以外全く組み込めず、前に進めない様子で
色々とクラスの説明を探し回っているのですが、中々解決策となる情報に辿り付けません。
どなたか良さそうな解説サイト、お勧めや詳しい書籍などをご存知ではないでしょうか?

615 名前:名前は開発中のものです。 mailto:sage [2009/01/22(木) 07:15:54 ID:bwn6GYvR]
>>614
おそらくC++のことを言っているのだろうとエスパー。
コンストラクタ・デストラクタはソース分割とは関係無い気がする。

1. コンストラクタはインスタンス生成時(new とか変数宣言時)にしか呼ばれない
2. a.hpp と b.hpp が互いに#includeしあってるとか。
3. わかんね ( エスパーできない )

お薦め: ロベールのC++教室

616 名前:614 mailto:sage [2009/01/22(木) 08:31:57 ID:LSrgduCg]
>>615
C++と書き忘れていました。そして助言ありがとうございます。
早速お勧め頂いたサイトを見させて頂いています。

しかし2つ疑問が。コンストラクタ内の関数(処理)なのですが、
1.参考資料ではfor文中で、newで何度も何度も呼び出されていたのですが、これは問題無いのでしょうか?
2.メンバ関数ではなくわざわざコンストラクタで行う意味が何か有るのでしょうか?
追加質問で申し訳ありません。ご助言頂けると幸いです。

617 名前:名前は開発中のものです。 mailto:sage [2009/01/22(木) 09:34:41 ID:NpXbtZQJ]
>>616
1.
ちゃんとnewに対応した数だけdeleteしてるなら何にも問題ない。
その数だけインスタンスが作られるだけだ。
2.
仮にとあるユーティリティクラスCUtilがあるとしようか。
そのクラスを使うために必ず必要な初期化処理があったとして、
それをコンストラクタで行ったCUtilAと、
init()というメンバ関数で行ったCUtilBがあるとしようか。
そのクラスを使うときに、

CUtilA myUtilA; //←これだけで済むのと、

CUtilB myUtibB;
myUtilB.init(); //←毎回これを記述せにゃいかんのと
           // どっちが楽だえ?
// ましてやおまいさんは毎回記述忘れしない
           // 自信があるかえ?

618 名前:名前は開発中のものです。 mailto:sage [2009/01/22(木) 14:55:11 ID:P249I5A7]
>>614
なんだろ。アクセス修飾子(privateとかpublic)を書いてないとか?
C++のクラスは自由性が高すぎたり文法が冗長だったり逆に省略できる所が辺にあるからわかりにくいんだと思う。
…そういやC++のクラス一度も使ったことないな。

619 名前:616 mailto:sage [2009/01/22(木) 20:36:57 ID:ngykBX6I]
>>617
わかり易い説明ありがとうございます。しかし少し疑問が。
1.new毎にインスタンスが作られると、メンバ関数よりも負担にならないでしょうか?

2.そして例を見てふと思ったのですが、 myUtibB(); 等と関数的な表記をしなくても、

   CUtilB myUtibB;  //←ここでコンストラクタの関数が一度処理される?
   myUtilB.init();

  という事なのでしょうか? それとも処理の無いコンストラクタだけでしょうか。
    
3.そもそもこの呼び出し方の myUtilB はどういう存在なのでしょうか?
  一度呼び出せばその関数内では使えるみたいですが、別の関数に飛ぶと再度
   CUtilB myUtibB;
  しないと myUtilB.init();  は使えないみたいですし。
  (これを2度するとエラーが出るのは、2重にnewした意味になってしまっているのでしょうか?)

  変数のように送るなり、どこでも使えるように宣言できれば・・と思うのですが、
  これが何者なのかわからず、その手段が解りません。

連続で質問ばかりしてすみません、
お勧めした頂いたサイトを読み進めてもっと正しくC++を理解して行きたいと思います。
>>618 さんもありがとうございました。

620 名前:名前は開発中のものです。 mailto:sage [2009/01/22(木) 20:53:17 ID:G+zC51lf]
C++以前に変数のスコープが分かってないじゃん
ある関数内で宣言した
int x ;
のxが他の関数で使えませんって言ってるようなものだぞ

2度するとエラーがでるってのは一つの関数内で
int x ;
int x ;
って書いたらエラーが出るのは当たり前だよね?

621 名前:名前は開発中のものです。 mailto:sage [2009/01/22(木) 21:07:36 ID:IhANlxha]
現在ノベルツールを作ろうとしており、禁則処理に悩んでいます。
色々と検索して禁則処理を調べて、以下のようになると考えました。
これは正しいのでしょうか? 禁則処理の知識をお持ちの方、アドバイスをお願いします。

行頭禁則文字
"%),:;]}。」゙゚。,、.:;゛゜ヽヾゝ"
"ゞ々’”)〕]}〉》」』】°′″℃¢%‰"
行頭禁則文字(弱)
"!.?、・ァィゥェォャュョッー・?!ーぁぃぅぇぉっゃゅょゎァィ"
"ゥェォッャュョヮヵヶ"
行末禁則文字
"\\$([{「‘“(〔[{〈《「『【¥$£"

一文字加えると右端を越えると確定した時に…
・最後に描画したのが行末禁則文字ではない and これから描画するのが行頭禁則文字でない
・行頭禁則文字(弱)が連続していない
・これから描画するのが禁則文字ではない and 確実に右端を越える

普通に改行

・最後に描画したのが行末禁則文字である or これから描画するのが行頭禁則文字である
・行頭禁則(弱)が連続している場合

禁則処理




622 名前:名前は開発中のものです。 mailto:sage [2009/01/22(木) 21:36:22 ID:bwn6GYvR]
>>619
あせらないで、じっくり理解してください。
1. インスタンスは一つだけではなく、メモリが許すかぎり何個でも作れます。
CutilBのインスタンスにしろ、たくさん作れます。
そして、それぞれのインスタンスが独自のパラメータを持てるので、
インスタンスごとに初期化が必要になります。
newでやろうとinit()みたいなメンバを自分で用意しようと構いませんが、負担(?)は変わりません。

2. コンストラクタはインスタンス生成時に自動的に呼び出されます。
CUtilB myUTilbB; // この時点で CUtilB()で初期化されたインスタンスが作られている。

3. >>620 の言うように、「スコープ」というものが関わってきます。
C++では関数内で宣言した変数はスタックフレームに、
グローバル領域で宣言した変数は???(シラネ)に、
newやmallocで宣言した変数はヒープに作られます。
関数内で宣言した変数は、(通常は)関数に入ったときに作られ、処理が関数を抜けた時点で消失します。
だから、いつでも存在しているというわけでは無いのです。

どこでも使えるようにするにはグローバル変数を宣言する必要がありますが、
名前領域が混乱したり、いつどこが書き換えたかわからなくなるなど、不評が結構あります。


>>621
某オフィスソフトでさえ禁則処理をカスタマイズできるところを見ると、
禁則処理に「これが正しい」なんてのは無いと思う。
例えば、
「俺ってすげーーーーーーーーーーー
ーーーーーーーーーー
ーーーーやつなんだぜっっっっ
っっっっっっっっっっっっっっっっっっわーおッ!!」

って書こうとしても、>>621 の規則だとうまく書けない気がする。

623 名前:616 mailto:sage [2009/01/22(木) 21:44:33 ID:z1jEpoVh]
>>620
何か思い切り勘違いをしていた様で・・。
構造体の時は同じ呼び方でも、それぞれの名前でそれぞれ別物とわかっていたのですが
クラスのメンバ、メンバ関数は只1つの存在だという思い込みから、
根本的な勘違いをしていた様で、お恥ずかしい限りです・・。

クラスも別名は別のインスタンスという事なのですね。
本当にすいませんでした。 orz

624 名前:名前は開発中のものです。 mailto:sage [2009/01/22(木) 21:51:38 ID:xj+gOJtF]
とりあえず、デバッグバージョンで行頭行末禁則を検知したらマーク出して
手動でスクリプトを書き換えさせるのが手っ取り早いんでない。
622見たいな例とか、定式化する方が無駄な努力に思える。

625 名前:616 mailto:sage [2009/01/22(木) 22:44:39 ID:z1jEpoVh]
>>622
気付くのが遅れてすいません。
丁寧な説明、本当にありがとうございます。
思い込みから「特別な文法なのだろう」と盛大な勘違いをしていましたが
正しく理解しなおせたと思います。

しかしこれをグローバルで宣言すると色々危険が伴うのですね。
今後は変な勘違いを起こさない様に注意します。 ありがとうございました。

626 名前:621 mailto:sage [2009/01/22(木) 23:53:27 ID:IhANlxha]
>622
レスありがとうございます、「正しい」ものがないのは知っているのですが
「大勢が正しいと認めてくれる」ものがないかなと(いわゆるデファクトスタンダード)
ちなみに上に挙げた禁則処理は、吉里吉里から抜粋したものです。

「俺ってすげーーーーーーーーーーー
ーーーーーーーーーー
ーーーーやつなんだぜっっっっ
っっっっっっっっっっっっっっっっっっわーおッ!!」
なら、
「俺ってすげーーーーーーーーーー(改行)ー
ーーーーーーーーー(改行)ー
ーーーーやつなんだぜっっっ(改行)っ
っっっっっっっっっっっっっっっっっっわーおッ!!」
みたいな感じになるんじゃないかなと。
ただ、この処理だと「禁則処理を行うと前後に関係なく必ず一文字(余裕があっても)次行にずれこむ」
という現象が起こるわけで………。それを綺麗だとか正しいだとか言えるのかな、と悩んでおります。

>624
レスありがとうございます、確かに無茶苦茶な例まで想定すると定式化は不可能ですね。
手動で改行を入れるのや禁則文字を設定する命令なども準備した方が良さ気ですね。
デバッグで検知は思いつきませんでした、アイデア提供ありがとうございます。

627 名前:名前は開発中のものです。 mailto:sage [2009/01/23(金) 21:04:00 ID:jZfkhvtW]
fps(Frame Per Secondの方)について質問なんですが、
例えばあるゲーム内においてfpsを表示するとして、
Aの環境では60fps、Bの環境では20fpsと表示された場合の意味するところは、
・BのゲームスピードはAの3倍遅い、ということでしょうか、それとも、
・Bの画像はAの3倍ぶつ切りに見える、ということでしょうか。

628 名前:名前は開発中のものです。 mailto:sage [2009/01/23(金) 21:06:21 ID:ZTkLrTiP]
FPSは一秒に何回画面が更新されたか、だからAでもBでもゲームスピードは変わらない。
だから後者かな、BはAの(体感的なことだから適当ではないが)三倍がくがくであるということ。

629 名前:627 mailto:sage [2009/01/23(金) 21:11:45 ID:jZfkhvtW]
素早い回答ありがとうございます。
スピードとは関係なかったのですね。fpsが低いとどうも動作が遅い気がするという
思い込みがあって、今まで勘違いしていました。
レスありがとうございました。

630 名前:名前は開発中のものです。 mailto:sage [2009/01/23(金) 21:12:52 ID:x47URXne]
作り方によりけり。
物によって違うんだから断定出来ない。

631 名前:名前は開発中のものです。 mailto:sage [2009/01/23(金) 21:22:34 ID:jVMRAIJo]
60fpsと20fpsだと、60fpsのPCが3倍処理速度が速い。
そこで、その結果がどうなるかは、コードの書き方によって異なる。
通常は60fpsなので基準とすると、20fpsが能力が不足しているとする。

60fpsが出るのが当たり前と考えて設計されたコードは
60fpsを超えても同じ処理を行う、60fps未満は処理落ちとして表れる。
アニメだとすると、フレームの後半が途切れる

フレームレートの変動を考慮して設計されたコードの場合は
フレームレートに従い処理内容を増減させる、未満は劣化として表れる。
アニメだとすると、間引きで表示され最後まで表示される。
コードの複雑さと小さいならがCPU負荷がかかる。




632 名前:627 mailto:sage [2009/01/23(金) 21:46:32 ID:jZfkhvtW]
>630 >631
レスありがとうございます。
そうです、60fpsが基準で20fpsが性能不足のことでした。
なるほど、fpsが低い場合は内容を間引くことで帳尻を合わせる手法があったのですね。
そして間引かない場合の不足分を処理落ちというのですか。目から鱗でした。
精進します。ありがとうございました。

633 名前:名前は開発中のものです。 mailto:sage [2009/01/23(金) 22:42:59 ID:n3RDpWj+]
ソースコードを良い感じに印刷するにはどうしたらいいですか。最低限行番号の挿入と色付けの機能が欲しいと思っています。

634 名前:名前は開発中のものです。 mailto:sage [2009/01/24(土) 00:05:42 ID:tUPUGwAk]
>>633
用途に拠る所が・・

635 名前:名前は開発中のものです。 mailto:sage [2009/01/24(土) 08:18:32 ID:D/BSdHrU]
テキストに対してそういう操作を行うプログラムでも作ってみるとかw

636 名前:名前は開発中のものです。 mailto:sage [2009/01/24(土) 21:33:53 ID:z8WswGtF]
そういえばソースコードをWeb用にHTML変換するフリーソフトとか見かけたことあるな
使ったこと無いから具体的な提案はできんけど

637 名前:名前は開発中のものです。 mailto:sage [2009/01/25(日) 01:57:15 ID:QRbZQ3CH]
その手の事が出来るテキストエディタならぽろぽろ見つかるが…

638 名前:名前は開発中のものです。 mailto:sage [2009/01/25(日) 02:30:33 ID:U9yhjxE1]
頑張っている人を教えて下さい。
職種というか、何の担当をしているかは関係なしで。
とにかく暇さえあれば努力してるような、そういう人のお話は無いでしょうか。

639 名前:名前は開発中のものです。 mailto:sage [2009/01/25(日) 02:35:49 ID:HfneyXPQ]
イチローとか

640 名前:名前は開発中のものです。 mailto:sage [2009/01/25(日) 02:52:38 ID:U9yhjxE1]
彼がどのような努力をしたのかが分かりません。
表に出ているものも、信憑性がありません。と思います(実際に本を読んだりはしてないですが)。
よって、話がないです・・・

641 名前:名前は開発中のものです。 mailto:sage [2009/01/25(日) 11:52:02 ID:5Jat8uVP]
ここはゲ作だが?



642 名前:名前は開発中のものです。 mailto:sage [2009/01/25(日) 14:38:08 ID:Lu1EDWN5]
すごい釣り針だな。
釣れるのか?

643 名前:名前は開発中のものです。 mailto:sage [2009/01/25(日) 15:04:37 ID:QRbZQ3CH]
釣られたら負けだろ






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

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

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