- 1 名前:名前は開発中のものです。 mailto:sage [2010/10/04(月) 17:24:47 ID:zBoueRHu]
- Cを習得した程度のスキルでも、
GUIのゲームを比較的容易に作成する事を可能にする、 「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/
- 631 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 10:56:35 ID:nHohQiTe]
- ちゃんとコードを書きなさい
どうせx,yの型がintだからとかそういうのじゃないの
- 632 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 11:29:10 ID:597nw0QH]
- 図のx,yの位置については触れたほうが良いのかしら?
- 633 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 11:44:14 ID:FnunGuWc]
- 言語の話になるといつも学習論や効率論になるけど
世の中EXCELやRPGツクールなんかでSTGとか作るような奴だっているんだから どんなもの使っても作りたい物を完成させた奴が勝ちだと思う
- 634 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 12:52:26 ID:uMhav2M7]
- マルチポストですかやれやれ
- 635 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 13:25:29 ID:IKcKTpst]
- >>633
確かに同人ならどんな開発環境を使おうと自由だけど >>611みたいな嘘撒くのは辞めたほうがいい、初心者や入門者が可哀想だ どうあがいてもC#・Java・VBなどの方が難易度は低い、C++自信なくて諦めても前者で十分やっていける
- 636 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 13:35:23 ID:tJPYGZbh]
- 初心者には嘘かどうかの判断基準もまだ無いんだからお前も同類だけどな
- 637 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 13:36:36 ID:dPpvdfF6]
- 初心者はC#やJAVAから入れってのはどこでも言ってることだしな
- 638 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 14:20:17 ID:nHohQiTe]
- だいたい、絶対的に”初心者向けだ”と言い切れる言語なんてない
目的によって変わってくるし、言語の難易度もひとつの指標に過ぎない。 ただ、簡単なゲーム作りや、多くの人が思うアプリ製作を目的にするなら、 GUIを非常に作り易いC#やJava、VBで始めるべきだろうな。 まあでも、C++でオブジェクト指向わかんねって投げ出した奴は、 たとえC#をやったとしても出来ないとは思う
- 639 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 14:38:04 ID:MVi9WYrf]
- 実例を交えたわかりやすいドキュメントが沢山ある言語こそが「初心者向け」という持論
初心者に必要なものは言語の簡単さよりも、最初の壁をいくつか超えるためのやさしい解説だと思う 初心者ならC#やJAVAから、ってのはゲーム意外の一般的なプログラムでのことなんじゃないかな C++以外はゲーム制作の為の解説サイトとかかなり少ないし
- 640 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 14:41:03 ID:CU+f2z6I]
- よくわからんなぁ。
初心者の話してるんだよな? 俺はC++とDXライブラリでゲーム作ってるし作ってきたが、実際のとこC++を使いこなしてるわけじゃない。 初心者に毛が生えた程度だ。けど、何の問題も出ていない。 例えば>>612の言ってるメモリ管理だのメモリ周りのバグだの、なんて全然考慮してないし存在すら知らない。 むしろそういう事を気にするようになったら上級者だよな? 初心者にはそんな事全然関係ないよ。 初心者にとって易しいってのは、システムまわりの安全性なんかじゃない。 覚える事が少ない段階でも動く物が作れる事。そして、手軽に勉強できる(資料が簡単に手に入る)事だよ。
- 641 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 15:17:25 ID:E/T+upxq]
- C#やJavaなどの方が難易度は低い、というのは(覚えることが少なくて済む)という
意味じゃない むしろ C++の方が覚えることは少なくて済むような気もする C#やJavaの場合、覚えたことをそのまま使うパターンでのプログラミングが多い それだけ高レベルのライブラリやらオブジェクトやらが揃ってる →それらの使い方を覚えなきゃならんから、覚えることが多い C++の場合、覚えたことを組み合わせて応用するというプログラミングが要求される →だから、サンプルコードがたくさんあると楽できる もちろん(C#には応用なんて要らない)とは言わないけどな
- 642 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 15:19:45 ID:+mRmK1/Q]
- >覚える事が少ない段階でも動く物が作れる事。そして、手軽に勉強できる(資料が簡単に手に入る)事だよ。
これはもっともな正論だね。 しかし、これさえも出来ない初心者が多くいるのは事実だ。
- 643 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 15:31:20 ID:4gaOamZV]
- 事実だ(キリッ
- 644 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 15:32:36 ID:B/8/xRi6]
- DXライブラリは遊びながらC/C++覚えるにはいいんでないかな
コンソール並におまじないが少ないから学習の邪魔にならない C#でもC#+XNAとかになると完全に初心者お断りだよ
- 645 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 15:41:20 ID:zvmJIej4]
- >>640
お前の作ったプログラムを公開するとき このプログラムは予期せぬ動作を起こす可能性があるため 自分のパソコンが壊れてもいい人だけ実行してくださいって注意書きをちゃんと付けろよ。
- 646 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 15:43:37 ID:FTwi59ne]
- boost使おうとするともれなくテンプレート、メタプログラミング、
ジェネリックの知識が必要になるんだけどね まあ最初が楽かどうかで選ぶならツクールとかになっちゃうから言語の比較は意味ないな
- 647 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 15:45:42 ID:nHohQiTe]
- 最低動作環境― OS : WindowsXP SP2 以上
でいいだろ
- 648 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 16:19:24 ID:cCo0ykp3]
- HSPでいいと思うよ
- 649 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 16:25:18 ID:v+xsDxji]
- >>646
別に「もれなく」ではないだろ
- 650 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 16:39:47 ID:B/8/xRi6]
- テンプレートなんてマクロに毛が生えただけ
所詮言葉遊びのパズル
- 651 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 17:13:25 ID:FTwi59ne]
- >>649
詳しくどうぞ
- 652 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 17:16:28 ID:bvXT0uLK]
- >>651
別にBoostはそんなに敷居高くないぞ・・・
- 653 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 17:21:27 ID:FTwi59ne]
- ああ「もれなく」って言葉が気に入らなかったのか
- 654 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 17:50:00 ID:bf3eC1dG]
- CとC++がごっちゃになってんじゃね
Cは簡単、>>640が良い例、でもメモリ管理は必須だぞ C++全開で書かれたソースは難しいが ほとんどの場合Cから初めても進むにつれC++寄りになるから続ければ勝手に読めるようになる webで勉強するならC/C++が一番資料多い DXライブラリ+Cは初心者におすすめできると思うぜ んで、さらに時がたつとC#でツール作成してるはず
- 655 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 18:08:50 ID:nHohQiTe]
- なってないだろ。
DXライブラリのサンプルコードもC++だし、 ほとんど大多数がC++で開発してると思うぞ。 まあ、ほとんどの、C++の入門サイトも入門書も、 Cから受け継いだ構文・機能の説明を省いてるから、 必然的にCを学ばなきゃいけないのが現実かもしれんが。
- 656 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 18:54:22 ID:MVi9WYrf]
- 龍神録のトコなんかC++使ってるのに書き方がまんまCなんで、
クラスもオブジェクト指向もSTLもBoostも使わなくてもあれくらいのモノは作れるってののいい見本だと思う 別にゲーム作るのにオブジェクト指向もBoostも必須なわけではないし、 そんなのが必須になってくるくらいの規模の大きい作品を作ろうとするのは初心者には無茶 使えれば便利だけどね C++はCに機能が追加されたものなんだから、無理に追加されたものを使おうとしなければ、 C++がCより難しいってことはないと思う
- 657 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 19:14:23 ID:gYkXmix/]
- 話が噛み合ってないな。寝言で会話してるみたいw
- 658 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 19:22:22 ID:lLkvF9Gs]
- 噛み合ってないなw
そりゃ使ってるのはC++だろw
- 659 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 20:05:12 ID:CU+f2z6I]
- >>654
>でもメモリ管理は必須だぞ メモリ管理って言うけど、具体的に何をするのかピンとこない。 大事なのはわかるんだけどさ。 俺はオブジェクト指向わからんし、クラスの使い方すらも理解していない。 主に使う変数はほとんどグローバルで配列の数も全て固定。 ポインタもどうしても必要な部分以外使ってない。 エラーが起こるとしたら配列範囲オーバーか0除算くらいで、その程度ならなんとでもなる。 あとはDXライブラリで読み込んだ画像データ等を必要に応じてDeleteしていく、くらいしか気をつけてない。
- 660 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 21:12:04 ID:6/uiWO3/]
- メモリ管理というと
win98ぐらいの時には メモリークリーナーが便利だったな
- 661 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 22:25:14 ID:N2iHbnIF]
- メニュー画面やステータス表示など、決まった場所に数字や
文字列を表示するXとYの位置を直にソースコードに書き込むと 頻繁に位置を変更する時ビルドに時間がかかったり 後でわかりにくくなるので、テキストにずらっと位置情報をまとめて それを読み込んで使っています しかし位置情報というのは細かいものまで含めてたくさんあるので 「こんなものまでいちいち読み込んでやるべきなのか?」 と疑問に思うことがあります 皆さんはどうしてますか? 私のやりかたはおかしいでしょうか
- 662 名前:名前は開発中のものです。 mailto:sage [2011/02/04(金) 22:47:43 ID:bHk+Uq52]
- >>661
着眼点はよいです ソースコードに埋め込まないほうがよいのは確かです(最低限マクロか定数として分離させるべき) 複雑になってくると自分でも混乱しますけど、それをうまくやる方法ってのは正解はないです 一定の開発スタイルを決めるとそれなりに整理はできるんですが・・・
- 663 名前:名前は開発中のものです。 [2011/02/05(土) 01:16:00 ID:a1DliHej]
- ゲームつくりの最中にそういうこと考える人はだいたい完成させられない
- 664 名前:名前は開発中のものです。 mailto:sage [2011/02/05(土) 03:59:26 ID:0SOpPPRW]
- >>659
メモリ管理とは違うけど、とりあえずグローバル変数を極力使わないところから始めてはどうか。 これくらいなら、Cの入門書にも書いてあるレベルだし、慣れれば手間ですらなくなるし。 >>661 小規模開発なら、細かい数字は外部に置かなくても、そこまで問題にはならないと思うよ。 ただし、>662の言う通り、#defineなりconstなりで分離させておくべきだと思う。 >>663 休憩中とか散歩中とか仕事中に考えればいいのよ。
- 665 名前:名前は開発中のものです。 mailto:sage [2011/02/05(土) 10:11:08 ID:LqlwHybZ]
- DXライブラリで文字を書いて、ワードとかメモ帳に出力する方法ってしらない?
- 666 名前:名前は開発中のものです。 mailto:sage [2011/02/05(土) 10:18:58 ID:0SOpPPRW]
- >>665
ワードやメモ帳に、文字列を食わせる方法ってあるのかな。 一旦テキストファイルに出力するのが簡単なんじゃない?
- 667 名前:名前は開発中のものです。 mailto:sage [2011/02/05(土) 10:29:33 ID:97+pwl5O]
- ワードならCOM経由であらゆる操作が出来るけどC++からだとクソ難しいので.NETかスクリプト言語推奨
メモ帳ならキー送るしかない
- 668 名前:名前は開発中のものです。 mailto:sage [2011/02/05(土) 10:31:13 ID:LqlwHybZ]
- 直接ワードやメモ帳に出力できなくてもいいんです。
DrawString を使うと、画面に文字が描画されますが、 それをコピーペーストしてワードに貼り付けることが出来るならそれでもかまわないんです。 実際はできません。 私はまったくの初心者なので、質問がおかしいところもあるかもしれませんが、 >>666の テキストファイルに出力する っていうやり方を教えてもらえないでしょうか。 どういう関数を使えば出来ることなんでしょうか?
- 669 名前:名前は開発中のものです。 mailto:sage [2011/02/05(土) 10:38:37 ID:97+pwl5O]
- クリップボードに入れるにはWindows APIのSetClipboardData関数を使う
ファイルへの出力は、DXライブラリの関数を使ってもいいけど普通はC++の標準ライブラリの 入出力機能を使う どちらにしてもスレ違い
- 670 名前:名前は開発中のものです。 mailto:sage [2011/02/05(土) 10:54:09 ID:fuYn973K]
- >>668
ファイルへ書き出すなら fopen, fprintf, fclose クリップボードへ入れたければ GlobalAlloc,GlobalFree, GlobalLock,GlobalUnlock, OpenClipboard,EmptyClipboard,SetClipboardData,CloseClipboard を使うといいよ
- 671 名前:名前は開発中のものです。 mailto:sage [2011/02/05(土) 10:57:01 ID:LqlwHybZ]
- ありがとうございます。
利用できる関数がそんなにあったんですね。
- 672 名前:名前は開発中のものです。 mailto:sage [2011/02/05(土) 21:47:08 ID:zsx+Wg5G]
- >>659
タスク用のワークエリアを確保したり開放したりしないんだろうね 最初にがばっと確保して、タスクごとに使いまわす
- 673 名前:名前は開発中のものです。 mailto:sage [2011/02/05(土) 22:05:24 ID:GZLq5iGw]
- それは古に廃れたというタスクシステムのことですか?
- 674 名前:名前は開発中のものです。 mailto:sage [2011/02/05(土) 22:07:15 ID:n/4Fp6g/]
- またタスクシステムバカが来たか
- 675 名前:名前は開発中のものです。 mailto:sage [2011/02/05(土) 22:19:11 ID:op8JGqIp]
- そんなメモリの節約に必死になるなんて、
PSPのソフトでも開発してんのか
- 676 名前:名前は開発中のものです。 mailto:sage [2011/02/05(土) 23:11:04 ID:7xJ6Lxp5]
- PSPは酷かったな
- 677 名前:名前は開発中のものです。 mailto:sage [2011/02/05(土) 23:41:09 ID:LazTXNwj]
- PSPでは金玉を回転させるアプリしか作らなかったな
- 678 名前:名前は開発中のものです。 mailto:sage [2011/02/05(土) 23:56:58 ID:5PjJbGzB]
- ちなみにメモリ管理ってメモリを節約するためじゃないからな
- 679 名前:名前は開発中のものです。 mailto:sage [2011/02/05(土) 23:58:41 ID:5PjJbGzB]
- 訂正
>ちなみにメモリ管理ってメモリを節約するためじゃないからな ちなみにメモリ管理ってメモリを節約するためだけじゃないからな
- 680 名前:名前は開発中のものです。 mailto:sage [2011/02/05(土) 23:59:53 ID:LazTXNwj]
- メモリ管理という言葉が漠然としすぎていて、
具体的にどういった事をメモリ管理というのか実例を説明してほしいですね
- 681 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 00:42:48 ID:hi6mskVF]
- newしてdeleteするってのもメモリ管理、というか普通こっちの意味じゃね?
- 682 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 00:44:00 ID:edmoP5Oc]
- sharedptrさいきょう!!!
- 683 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 00:47:12 ID:Bcoc3jNp]
- ポインタにNULLを入れて何回でもdeleteしてやる
- 684 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 00:50:45 ID:Bp6r7tC9]
- newって何でOSが管理してくれないんだよ
- 685 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 00:51:42 ID:bBxVkAP5]
- 初心者がC++を扱うのはメモリ管理をしないといけないから難しい、
って主張だったのに、初心者はnew・deleteは使わないと思うんだけどな…… だから話がループするのかな
- 686 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 00:55:29 ID:hjXl231Y]
- C++初心者じゃなくて、new,delete初心者と呼ぼうw
- 687 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 01:21:28 ID:KavCN3Ib]
- いまだにnew, deleteの必要性がわからなくて使っていない。
- 688 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 01:24:03 ID:Bp6r7tC9]
- 俺は配列を最大でいくつ確保すればいいか不明な場合newを使ってる。
他に使い道あるの?
- 689 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 01:27:00 ID:KavCN3Ib]
- >>688
よく知らないけど、そういう場合ってvectorとか使うんじゃないの? まぁ自分は決め打ちでドカッと多目に配列を確保。
- 690 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 01:40:42 ID:edmoP5Oc]
- よく考えたらnew/deleteを目にみえる場所で使わないためのvectorだったりするのか
いままで気付かなかったわー
- 691 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 01:46:35 ID:Wfa4vAEK]
- 結局このスレはC++初心者ばかりだったということですねw
- 692 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 01:46:56 ID:k3JuiCGX]
- >>690
いや、根本的に違うだろjk・・・ newはポリモーフィズム使うなら必須っていうかC++使っておいてポリモ使わないとかなにその苦行
- 693 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 01:48:40 ID:edmoP5Oc]
- Cで多態させるのにnewとかいらなくね?RAIIあるし
- 694 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 01:54:34 ID:k3JuiCGX]
- >>693
は? 多態とRAIIに何の関連性あるんだアホか マジでガチ初心者だらけじゃねえか
- 695 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 01:57:17 ID:fHNV/tRC]
- 例えば敵キャラのデータに配列を使うとして、
敵キャラが最大で100体でるのか、それとも10000体以上でるのかわからない、ってのだと PCの動作環境はどうやって決めるんだろう。 最初に「最大1000体、これ以上は出さない」と決めておけば 1000体動くかどうか確認して、「ちゃんと動くな。ではこのPCの性能を最低環境としよう」ってできると思うけど。
- 696 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 02:01:52 ID:edmoP5Oc]
- >>694
ちょっと間違って理解してるような気がするので聞いてみるけど newがポリモーフィズムに必須というのはどういうこと?
- 697 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 02:11:58 ID:KY5hMpMn]
- ツリーとかグラフ系のデータ構造扱うときはnew必要じゃね?
動的に何かを生成するときは普通使うよね。 ないとできないわけじゃないけど・・・
- 698 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 02:22:41 ID:bBxVkAP5]
- >>695
基本的には一番重いシーンで快適に動く環境を推奨スペックとして表記するのが普通 その敵が10000体出るっていうのが滅多にないことなら、それとは別に、普通に遊べるスペックを動作スペックということにしとけばいいと思う newだけど、使い方で一番イメージしやすいのはシーンの管理だと思う タイトル画面でプレイ開始を選択した時点で、外部からタイトル画面クラスをdeleteしてゲームクラスをnewする 外部では常にNULL以外のクラスをアップデート、的な あとは、糞大きいクラスを実体化するとき、newやmallocを使わないと失敗して落ちる場合があるってくらいかな ポリモーフィズムはシラネ
- 699 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 02:43:28 ID:FYHHz7EY]
- >>697と同意なんだけど
それ以外のやり方あるなら教えてもらいたい
- 700 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 02:45:17 ID:k3JuiCGX]
- >>696
こういうことだよ ideone.com/Bcd5F っていうかまず、RAIIが何か行ってみろよマジ・・・
- 701 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 02:52:22 ID:k3JuiCGX]
- スマートじゃなかったから書きなおし
ideone.com/48UwA
- 702 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 03:32:24 ID:3eWOv2dl]
- あるクラスに、別クラスのインスタンスを持たせたい場合、
自分はポインタにしちゃうことが多いかなあ。 >>698 Stateパターンだっけ?
- 703 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 03:40:14 ID:k3JuiCGX]
- >>689
シーンクラスを継承したタイトル画面・ゲーム画面クラスをメインループで常にupdateするっていうのはポリモーフィズムだべさ・・・ Scene* p; p = new Title(); or new Game(); while(...){ p->update(); } 的な。
- 704 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 03:42:45 ID:KavCN3Ib]
- クラスに別クラスのインスタンスを持たすこと多いけど、やっぱポインタにしないと駄目なんかな…
何か管理が面倒そうでポインタにしてない
- 705 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 03:46:23 ID:KY5hMpMn]
- >>704
別にオッケーだべ というかほとんどの言語ではデフォルトが参照だべ
- 706 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 03:49:17 ID:KavCN3Ib]
- >>703
あ、やっぱ一般的にはそんな風にシーン管理するのね。 なんかかえって難しそうに感じて、ベタにswitchで回してしまう。 書き方としてはギリギリ読めるんだけど、実感としてポリモの便利さがピンと来ない。
- 707 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 03:55:02 ID:LAhGvLpb]
- まあポリモーフィズムなんてただの暗黙のswitchなんだからそれでも問題ない
- 708 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 04:01:41 ID:bBxVkAP5]
- >>702,703
アドリブプログラマだから設計パターンとか用語の定義とかは知らないんだよ…… こうやったら管理しやすくないかなー、ってテキトーに書いてるだけだし これがポリモーフィズムなら、規模の大きなゲーム作ろうとすれば自然に身につくものなんだと思う
- 709 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 04:16:03 ID:FRrxkwCp]
- シーンみたいに柔軟性が求められるところを抽象化してもあまり得しないけどね
- 710 名前:702 mailto:sage [2011/02/06(日) 04:49:13 ID:3eWOv2dl]
- >>704
自分も最初はクラスの実体を持ってたけど、必要に迫られてポインタに移行した。 やり方は他にもあるんだろうけどねー。
- 711 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 05:49:43 ID:Bcoc3jNp]
- 実態を持つ方がコンパイル時間がかかる
- 712 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 07:03:48 ID:wzAw0A/n]
- 傍から見てて思ったんだが別にポリモ使うのに new/delete 必須じゃなくね
- 713 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 07:50:12 ID:vYbU4BgG]
- 必須じゃないね
void f(Obj* o) {
- 714 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 07:51:36 ID:vYbU4BgG]
- 途中でかきこんだわ・・・
void f(Obj* o) { o->update(); } ObjA a; ObjB b; f(&a); f(&b); こういうこともできるわけだし
- 715 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 08:17:22 ID:DfvbrRc2]
- ぶっちゃけゲームが出来上がることが最優先なので
とりあえずCで書き始めて、できる範囲でC++化することにしているよ 現段階では、クラスが変数と関数のセットであることくらいしか使えてねーけどなw
- 716 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 09:29:09 ID:vYbU4BgG]
- それでいいと思うよ
そりゃC++を完璧にマスターしてから作ったほうが圧倒的に効率いいだろうけど C++は十年勉強して先輩のコーディング盗んでようやく半人前の世界だからねw
- 717 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 09:36:50 ID:hi6mskVF]
- 慣れが大事だし使い続けるのが良いと思うよ
使ってるうちに理解が深まる
- 718 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 10:00:06 ID:stjfxyZ6]
- new、deleteどころかオブジェクト指向プログラミングをしなくても、
ゲームは普通に作れるからな。初心者にとって無関係といえば無関係だろ。
- 719 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 12:17:01 ID:+QgrF6fp]
- オブジェクト指向勉強したかったらJavaやC#でやったほうがいいと思うよ
C++ではノイズが多すぎて本質がわかりにくい いちいちクラス作るのも使うのもめんどくさすぎ
- 720 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 12:27:24 ID:Bp6r7tC9]
- visualC++は自動でクラス作ってくれるじゃん
- 721 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 12:34:00 ID:+QgrF6fp]
- そんな機能が必要なこと自体がおかしいんだよ
別にC++のオブジェクト指向が使えないと言ってるんじゃなくて、 勉強の妨げになる余計なものが多すぎると言ってるだけ
- 722 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 13:08:48 ID:stjfxyZ6]
- それは同意できるな。
C++はCとのしがらみのせいで無駄に複雑になってる。 純粋にオブジェクト指向を学びたかったら、 しがらみを完全に断ち切ったC#、Javaのほうが分かりやすい
- 723 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 13:14:20 ID:KY5hMpMn]
- オブジェクト指向を学びたい!のなら教育用の別の言語をオススメするが、Windowsの実用言語として同時に学ぶならC#かなぁ
.NET FrameworkとVisual Studio Expressは非常に強力 Javaもいいんだけど、標準クラスライブラリだけだとWindowsアプリケーションをさくっと作るみたいな使い方が難しい 俺がJavaに詳しくないだけかもしれないけど、GUIの作成周りがどうも・・・
- 724 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 14:10:59 ID:k3JuiCGX]
- >>714
実質的に必須だろ・・・ 引数の参照使って多態もできるけど、それはあくまでも関数レベルの話なんだし そりゃ部分的には参照使うほうがスタック領域のオブジェクト使うから早いけど、 例えば敵が格納されてるリストの中に複数種類の敵入れたりするときどうすんだよ 古典タスクでも使うのか?
- 725 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 17:08:03 ID:FRrxkwCp]
- ゲームはオブジェクトの振る舞いを場合によって変化させないといけないから
オブジェクト指向を使うにしても結構訓練を必要とすると思うよ
- 726 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 22:24:40 ID:gmKYG7No]
- enumのパラメータの名前がよく被る
どうしよう
- 727 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 22:30:00 ID:Eb0WRl87]
- クラスに持たせて、クラス名::enum
- 728 名前:名前は開発中のものです。 mailto:sage [2011/02/06(日) 22:48:27 ID:Bcoc3jNp]
- enumに型名を付けるとfor文で回せなくてめんどくさくね
enum STAGE { FIRST, SECOND, THIRD, STAGE_NUM, }; for(STAGE idx=FIRST; idx<STAGE_NUM; idx++){ } こういうことができない。 enumは型名がない方がよくね
- 729 名前:名前は開発中のものです。 [2011/02/06(日) 23:56:26 ID:o0IXDaRU]
- C++ってメモリの操作がこまめに出来るからプログラミングの勉強にすごいなると思う
- 730 名前:名前は開発中のものです。 mailto:sage [2011/02/07(月) 00:06:53 ID:o+ZRLSEj]
- for(int idx=FIRST; idx<STAGE_NUM; idx++){
} は出来ないの?
- 731 名前:名前は開発中のものです。 mailto:sage [2011/02/07(月) 00:13:22 ID:o7zGWqwC]
- >>729
低レベルな作業が勉強になるというなら クラスもnewもdeleteもテンプレートも使うべきじゃないよ せっせとHSPみたいなコード書いてればいい
|

|