12/06/21 21:04:09.94 6wn4ZvHr
そういや前は2Dアクション斜面くんが居たっけ
共通してるのは、未熟で、どこかおかしい考えしてるのに、妙に自分の正しさを主張するあたりか
245:名前は開発中のものです。
12/06/21 21:09:49.30 NB/uR81n
>>236
完全にポインタ(メモリの動的確保)なし、プリミティブ型(int char double)と配列、
関数だけでミニゲーム作らせる意図があるならそれはそれでいいかもしれないが、
一部構造体使ってたり関数ポインタの解説があったりすると
当初のポリシーがぶれているように見える。
246:名前は開発中のものです。
12/06/21 21:13:56.51 rKN9osr3
NGID登録した
247:名前は開発中のものです。
12/06/21 21:34:50.49 ha4jcXpS
>>245
構造体はネットワーク通信とか3Dグラフィックとか
それなりに複雑で応用的な部分にしか使われていないという認識だったが。
関数ポインタは、サンプルプログラムとして軽く触れているだけだな。
むしろ構造体とかにまったく触れないのもどうかと思うけどな。
初心者がステップアップしていけるってのも割りと重要でしょ。
何でこのスレはこんなに煽り耐性が低いと思う?
みんなステップアップしてよそに行くから、住人の入れ替わりが早いんだよ。
たぶん。
248:名前は開発中のものです。
12/06/21 21:36:56.43 suI+Yk2L
意味不明なことを喚いて相手にされないと
低レベルのレッテルを貼るのはキチガイのテンプレ行動だな
249:名前は開発中のものです。
12/06/21 22:14:34.59 Vc98TddL
構造体とか基礎の範疇だけど
250:名前は開発中のものです。
12/06/21 22:15:38.80 NB/uR81n
>>247
>初心者がステップアップしていけるってのも割りと重要でしょ。
例えば、 LoadGraphScreen と DrawGraph を順に覚えて
混乱しながら違いを理解するより、DrawGraphしかない方が
初心者は手っ取り早く基本を抑えることができる。
同様に初心者も構造体とポインタの単純な使い方を後まで
避け続けるわけがないんだから、それなら遠慮なく使われていたほうが、
C入門書にはない実用的な使い方の例を示すことにもなって理解を助ける。
251:名前は開発中のものです。
12/06/21 22:20:41.47 Vc98TddL
初心者なんて誰でも最初はそうで、
でも長い開発の経験の中では、全体の何割もない期間の話で、
そもそも向かない人はやめてくだけだから、
そんな丁重に扱わなくてもいいと思うが。好きな人は自分で勝手に歩くし
252:名前は開発中のものです。
12/06/21 22:26:25.13 HvQGDDgW
見え見えの自演だな
253:名前は開発中のものです。
12/06/21 22:27:47.18 uXee4OgN
正直DXライブラリ使ってるならポインタなんてセーブデータくらいしか…
254:名前は開発中のものです。
12/06/21 22:32:36.24 NB/uR81n
>>247
>何でこのスレはこんなに煽り耐性が低いと思う?
負け犬の馴れ合いを求めてるんだろう。
「自分馬鹿だから全然わかんねーしw」
「俺も馬鹿で初心者だから気にすんなw ずっと馬鹿でいようぜwww」
……みたいな空気で、嫉妬深く程度の低さを共有したがる
永遠の初心者はどこにでもいる。
で、嫉妬心で攻撃してみたものの、軽く返り討ちにあってしまった結果、
恨み亡霊となってねちねちと一行悪口を言ってるのが連中の才能の限界。
255:名前は開発中のものです。
12/06/21 22:37:45.24 WLRtXJzk
>>244
あれはDXライブラリスレとしてはスレ違いだったかもしれないが、それなりに有意義な部分もあった
256:名前は開発中のものです。
12/06/21 22:40:04.16 Vc98TddL
ところで、ここは ゲーム製作技術板の DXLib スレだと聞いて
来てみた俺がいます
257:名前は開発中のものです。
12/06/21 22:40:52.25 ajj/kpkL
ワナビか
つーかDXライブラリっての使えばtypedef知らなくてもゲーム作れるってマジかよ??
258:名前は開発中のものです。
12/06/21 22:44:06.78 WLRtXJzk
そもそもC++だとtypedefを使う機会があんまり…
259:名前は開発中のものです。
12/06/21 22:44:29.19 kFhUqkhX
ああ、これが自己投影というものか。
260:名前は開発中のものです。
12/06/21 22:53:27.83 Vc98TddL
>>258
いやあるけど
261:名前は開発中のものです。
12/06/21 22:58:23.01 Vc98TddL
むしろ C++ だと typedef なんてめちゃめちゃ有りがたいが。
boost::shared_ptr<HogeClass> hoge; だとか、
std::vector<boost::shared_ptr<HogeClass>> vecHoge だとか、まして
for(std::vector<boost::shared_ptr<HogeClass>>::iterator it = vecHoge.begin(); it != vecHoge.end(); ++it)
{ /* 略 */ }
なんて、毎度毎度書いたりしないでしょ。 他細かい部分で、unsigned char を byte にしたいだとか、
他自前のテンプレートクラスについて、バリエーション予め用意しておくだとか。
使う機会めちゃめちゃあるじゃないって思ったが、もしかして Better C な内容しか書かないといらないのか
262:名前は開発中のものです。
12/06/21 23:04:21.51 HvQGDDgW
11だとautoが入ったな
263:名前は開発中のものです。
12/06/21 23:08:09.09 Vc98TddL
>>262
C++11はちゃんと調べて無いんだが、あれって型推論的なものと聞いたが
C++でダックタイプってのもどうなのよってのはあるが
264:名前は開発中のものです。
12/06/21 23:09:04.98 NB/uR81n
std::vactor<T>とかテンプレートクラスに
typedef使うのは常套テクニックだな。
代わりに継承を使う場合もあるかもしれんが。
265:名前は開発中のものです。
12/06/21 23:15:27.20 HvQGDDgW
俺も詳しく見てないけど
使う感覚にしちゃテンプレートとかポインタと指して変わらんと思う
便利なら使うってのでいいんじゃね
さっきの例で使うならiteratoのところ宣言する面倒無くなるし
266:名前は開発中のものです。
12/06/21 23:25:16.97 Vc98TddL
>>265
あぁそうか… コンパイラがポインタの先のテーブル見に行って推論みたいな、そんな感じなのかな
その意味で言うと、イテレータに限らないが、なんでも省略可能になっちゃったりするんだろうか
Perlみたいな… って想像したくないんだが。
>>264
テクニックって言うか、単純に見づらくなるからってのと、
あとコンパイル時解決と実行時解決の使い分け次第じゃね
他だと、関数ポインタを引数に取るコールバックだとか、それに類する所で boost::function とか
まして boost::function なんて、マルチスレッドコード書くときお世話になりまくる。
関数のシグネチャを毎回書くのは保守性の観点からもアレだから、やっぱりこの辺も typedefするのが普通。
無かったら C++ 辛いになってしまう。
267:名前は開発中のものです。
12/06/21 23:41:52.16 Vc98TddL
あとあれだ、DirectX絡みでいうと、DXLibの範疇だと用がないかもしれないが、
頂点バッファにカスタムFVFで頂点定義する時、定数渡して定義固定化したバッファのクラスや構造体作るときに、
テンプレート化してさらにtypedefして使ったりする。俺の場合だけど
268:名前は開発中のものです。
12/06/21 23:52:31.07 PJsHcyOi
>>224
>リソースのハンドルがint型。型システムの恩恵をわざわざ捨ててる。
ハンドルより、定数が全部int型で定義されてる方が気になるなあ。
例えば、SetDrawBlendMode() の第一引数とか列挙型で定義しといて欲しい。
269:名前は開発中のものです。
12/06/21 23:56:46.30 MRBLh9lt
ハンドルとか別にintでもなんでもいいんだけどさぁ、
せめてモードとかタイプとかの指定にはenumを使って欲しい
非公開の関数だとヘッダ見ても何を指定すればいいのかわからない時があるんだよなぁ…
270:名前は開発中のものです。
12/06/22 00:08:54.64 iI1PSMpU
>>261
……あ、毎度書いてた
271:名前は開発中のものです。
12/06/22 00:40:34.47 vVJJHNCt
ハンドルがtypedefだと間違った変数渡しても勝手に変換されるから意味ないでしょ
structにしとくとコンパイル時にエラー出るから便利だよ
272:名前は開発中のものです。
12/06/22 01:04:31.28 qZxxS3ym
関数に変数を指定してPlaySoundMemで使いたいんですが、これをどうすればいいでしょうか?
具体的には、se_play関数の引数に変数名を入れて他から指定番号のSEを呼び出せるようにしたいのです
void se_play(char se_number){
PlaySoundMem(se_number,DX_PLAYTYPE_BACK);
}
273:名前は開発中のものです。
12/06/22 04:14:09.11 /rEqvofv
vc++2008でDXライブラリ使ってたらインターネットブラウザがすごく重くなったんですが
これがメモリリークというやつですか?
LoadGraph関数のリファレンス読んだんですがサンプルではfree()関数で開放はしていません。
自動的に開放されるというわけではないんですか?
274:名前は開発中のものです。
12/06/22 04:16:48.36 vVJJHNCt
自動的に開放はされない
DxLib_End呼んで終了するかDeleteGraph使わないと開放されない
275:名前は開発中のものです。
12/06/22 07:02:09.99 uPLkt+w2
まだやってたのか
自分を客観的に見れない馬鹿はどうしようもないな
276:名前は開発中のものです。
12/06/22 13:03:14.63 l51oT9C4
DrawGraphとかPlaySoundMemってポインタ使えないの?
277:名前は開発中のものです。
12/06/22 13:06:54.58 uPLkt+w2
どういうことだろう
ポインタから実体の値を呼び出すには*hogeとすればいいけど
278:名前は開発中のものです。
12/06/22 14:33:18.57 l51oT9C4
使えるのかありがと
279:名前は開発中のものです。
12/06/22 14:33:31.71 EOlR9Clb
ハンドルのポインタだな。
int sound1, sound2;
int *pHandle = &sound1;
se_play(*pHandle);
でも >>272 の引数はcharなんだよね。
たぶんツリーでハンドルのこといいたいんだろう。
std::map< std::string , int > tree;
void se_play(char* name){
std::string key = name;
int handle = tree[key];
}
280:272
12/06/22 15:09:59.09 l51oT9C4
>>279
そんなやり方があるんですか、どうも!
DXライブラリを更に省略したくて作ってたんです
281:名前は開発中のものです。
12/06/22 15:10:55.86 l51oT9C4
初めてip被った…
282:名前は開発中のものです。
12/06/22 15:37:10.00 rmxXQg9H
DxLibModelViewerでメタセコのモデル読み込んだらテクスチャが真っ白になっちゃうんだけど解決法ない?
前に一回だけちゃんと表示されたけど条件が分からん…これじゃMV1が使えない
一応ファイルの場所はあってるんだけど
283:名前は開発中のものです。
12/06/22 16:08:23.44 9VY+vhBh
>>282
パスに空白や日本語とか
よくあるそれ系の話とか