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/
468 名前:名前は開発中のものです。 mailto:sage [2012/04/17(火) 17:32:22.46 ID:r51DMbgu] 静的メンバ関数はクラスのインスタンスが生成されなくてもアクセスできる 静的クラスはいつインスタンスが生成されるか分からない 静的メンバ関数から静的クラスの生成を確定させれば、ちょっぴり安心
469 名前:名前は開発中のものです。 mailto:sage [2012/04/17(火) 20:45:14.74 ID:icgY8HP5] >>467 static なクラス 初期化プロセスが自動で発生しない。 解放の必要がない。が、解放プロセスが自動でコールされないことを意味する。 シングルトン 初期化プロセスの発生するタイミングが不定 (意図的に呼べば確定は可能) 唯一のインスタンスをメソッド内でstaticに確保すれば 終了前に必ず解放プロセスが呼ばれることを期待できる。 (ポインタを確保してnewした場合はデストラクタが呼ばれないので注意)。 正直、あんまり変わんないけどね。 半分は趣味。
470 名前:名前は開発中のものです。 mailto:sage [2012/04/17(火) 21:38:21.03 ID:TBQVpXJP] >>468 それだけだとVCだと非スレッドセーフだからちょっぴり安心なのか
471 名前:名前は開発中のものです。 mailto:sage [2012/04/18(水) 01:00:15.20 ID:fDV6H22e] staticなクラスってクラスのメンバが全てstaticっていう意味なんじゃないの?
472 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 12:47:22.43 ID:pxg6qWV/] Chidoriとかあったの覚えてるか?国産3Dフリーライブラリということで応募したら、Facebookで友達と認められなきゃダメだという奇妙さ。 それでも待ってたら、向こうからあなたはどういう立場でどういう用途で使うのか教えて、それを審査してDL許可が出るだって 日本はホントライブラリくらいで閉鎖的でダメ。こんなことだから日本は世界から取り残されてガラパゴスになる 以上愚痴終わり
473 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 12:56:10.17 ID:sPfCIXdo] ガラパゴス自体はなにも悪くないけどな その環境に対して最適化されてるってことだから
474 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 13:02:45.48 ID:uyLIiFt/] 物を作る人間なら何かを他人のせいにしたらオシマイっすよ 違うと思うことは自分で覆せばいいだけ つうかソース公開して改造も認められてるDXライブラリスレで言うべき愚痴じゃないだろ
475 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 14:52:07.70 ID:ISIfegPQ] >>472 「ぐらいで」っていうならそれを自分で準備しなきゃね。 誰もあなたのために無償労働したくはないでしょ。 フリーを銘打っていて実は…ってのは悪質だが、他人に求めすぎてて しかも「こんなことだから」って合理化するのはとても格好が悪いよ。
476 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 15:11:33.73 ID:sPfCIXdo] 合理化じゃなくて正当化な
477 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 15:31:36.39 ID:ISIfegPQ] すまん。心理用語の合理化ね。
478 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 16:17:19.48 ID:2+pU6vOV] >>475 こういう狭小が奴が多いから、海外のように大規模フレームワークを制作して 多くの会社で共有しようって流れにならないんだよな 他人に頼らず、自社製のしょぼい独自フレームワークにこだわった結果が今の現状
479 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 16:20:18.87 ID:ISIfegPQ] >>478 あほいうなよ。それはビジネスとしてかあるいは協力体制の契約を おこなってやってるものだ。一方的な関係じゃない。
480 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 16:22:32.95 ID:4OYFZy3w] 次の荒らしの口実は日本の閉鎖性かw ここはDXライブラリスレですから言い争いは他のスレでやってください
481 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 16:27:37.68 ID:sPfCIXdo] 日本のに比べて海外のは世界で通用する汎用性が〜だったら海外の使えばいいんじゃw
482 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 17:10:46.76 ID:2+pU6vOV] DXライブラリは好きだから荒らす気はないよ 設計思想も共感できるしね あくまで現状を語っただけ 売れるものを大量生産するハリウッド的思想はやっぱり儲かるんだよ 映像はすごいが、どれもよく似たパターンだなってのはあるけど じゃあ、日本が独自性があるかって言うと世界的に見たら確かにあるが 国内で比べると、判子アニメ、判子ゲームだらけ だったら、もっと技術提携するような方向にもっていけないのかなと思うよ 海外のフレームワーク使えっていうけど、いろんな意味で無理でしょ
483 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 17:17:13.28 ID:ISIfegPQ] 国内ゲーム企業の技術提携はあっていいと俺も思う。 あと、DXライブラリ作者さんに少し報われてほしいな。
484 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 17:18:09.50 ID:QpkDmGOt] サイト見てきたけど、どう見てもフリーライブラリじゃないだろ 有償で法人向けに提供されているようにしか見えないよ 個人や同人で使うならこういうのは実績ないと厳しいんじゃないか
485 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 17:22:04.83 ID:ISIfegPQ] 無償提供はしてるらしいぞ。たぶん売れなかったんだろ。 あるいは、フレームワークのシェアを広げて何か付加価値の部分で商売する目的かも。 まあ、それでもどこの馬の骨ともしれない奴にぽいとただであげるよ、 とはいかないのは当然の措置だよね。
486 名前:名前は開発中のものです。 [2012/04/19(木) 18:09:39.23 ID:Z6NQbpXt] 無償版はウォーターマークが常に表示されるとか 使わせる気無いなw
487 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 18:12:57.47 ID:JZ1Plsdi] 体験版か
488 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 18:54:45.18 ID:nL4dPgzp] 企業の技術提携どころか社内でも技術共有できずに、 車輪の再発明を繰り返してたりするらしい
489 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 19:00:51.25 ID:62tTC7bW] ありそうな話だ。
490 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 19:16:37.37 ID:2+pU6vOV] 技術で食ってきた日本人の気質がそうさせているんだろうな もう個人プレイでやれるような時代じゃないのに
491 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 19:20:16.67 ID:2+pU6vOV] 教育もまともにせず、ようやく使えるようになったころにはもういい年で 新しい発想も生まれず、頭の硬い地味な作業を繰り返すだけの人間に育つ 保身のための行為が自分の首を占めている結果になっているのにも気づかないんだよね
492 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 19:44:38.26 ID:62tTC7bW] よくわからんのだが、ここでそういう毒を吐く事が君にとって何かプラスになるのか? 新しい発想のキッカケになるとか。
493 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 19:45:10.88 ID:sPfCIXdo] 思いついたことをその度垂れ流すな そういうのはtwitterでやれ
494 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 20:02:45.98 ID:rhTaoDYw] >技術で食ってきた日本人の気質がそうさせているんだろうな こんなこと言ってる時点で現場にいない人間なのがまる分かりなんだが
495 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 20:06:20.79 ID:sPfCIXdo] 個人プレイでやれないのは才能・実力不足だしね
496 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 20:13:17.02 ID:2+pU6vOV] >>494 現場といってもいろいろあると思うけどね >>495 それはそうだが、Unityのようなソフトウェアを個人で作れますか?って話
497 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 20:22:36.75 ID:sPfCIXdo] もういいから
498 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 20:28:54.19 ID:llBpt5eP] うざいから ゲームエンジン総合スレ toro.2ch.net/test/read.cgi/gamedev/1296547110/ こっちでやれ
499 名前:名前は開発中のものです。 mailto:sage [2012/04/19(木) 20:50:30.28 ID:JfKbnz4T] むしろゲームハード・業界板向けだろ。 anago.2ch.net/ghard/
500 名前:名前は開発中のものです。 mailto:sage [2012/04/20(金) 00:27:41.69 ID:LVyH3nbi] siv3Dは大学のチームでやってるんか? 個人だとseleneの二の舞になりそう
501 名前:名前は開発中のものです。 mailto:sage [2012/04/20(金) 05:48:49.83 ID:QRHU35vB] 個人プレイで一番つらいのは時間だな いくら時間あっても足りねえよ
502 名前:名前は開発中のものです。 mailto:sage [2012/04/20(金) 08:38:06.21 ID:ytlVzcrB] DXライブラリの入出力関数しか使わないんだけど他に使うものあるの? まあゲームによって違うとは思うけど
503 名前:名前は開発中のものです。 mailto:sage [2012/04/20(金) 13:33:54.52 ID:iSPOVfuZ] >>502 他の奴も1つ2つ使ってることはあるけど、俺もだいたいそんな感じかなあ。 DXライブラリがそういう理念で作られてるというのもあるだろう。
504 名前:名前は開発中のものです。 mailto:sage [2012/04/20(金) 13:44:15.87 ID:BJ0/LrO+] ゲームプログラムで面倒なのってほとんど入出力じゃねーの。
505 名前:名前は開発中のものです。 mailto:sage [2012/04/20(金) 14:52:39.63 ID:DWIKZtqP] XOBXのパッドに対応してないのかな スティックと十字キー押しても、戻り値0
506 名前:名前は開発中のものです。 mailto:sage [2012/04/20(金) 15:09:13.34 ID:zxwJsUat] シンクパッドの真ん中のボタンも使えるようにならないかな?
507 名前:名前は開発中のものです。 mailto:sage [2012/04/20(金) 15:14:01.37 ID:iSPOVfuZ] 箱のパッドって、仕組みからして違うんだっけ?
508 名前:名前は開発中のものです。 mailto:sage [2012/04/20(金) 15:32:07.72 ID:BJ0/LrO+] XBOXのドライバはどうしたんだ。
509 名前:名前は開発中のものです。 mailto:sage [2012/04/20(金) 17:32:38.16 ID:e4qNB1Ch] ここの人たちがどんなゲームを作ってるのか気になる。 普段俺の手の届かない次元で話ししてるからなぁ
510 名前:名前は開発中のものです。 mailto:sage [2012/04/20(金) 19:03:34.51 ID:C5cZq6LS] DXライブラリを使って汎用ゲームエンジン組んでるだけでゲーム自体は普通のSTGだな
511 名前:名前は開発中のものです。 mailto:sage [2012/04/20(金) 20:24:31.42 ID:JPhLpB9e] 俺もただの2Dゲー作ってるだけだよ。(先日完成して今は何も作ってないけど) ただ、ここで出るプログラミング話は全く付いていけてないw
512 名前:名前は開発中のものです。 mailto:sage [2012/04/20(金) 22:51:32.60 ID:DWIKZtqP] エロゲって素直にいいなさいよ
513 名前:名前は開発中のものです。 mailto:sage [2012/04/20(金) 22:55:29.04 ID:iSPOVfuZ] DXライブラリでエロゲってことは、スクリプトローダとかそういう系統か。
514 名前:名前は開発中のものです。 mailto:sage [2012/04/20(金) 23:07:09.31 ID:8sRHzIee] 脱衣STGかもしれぬぞw
515 名前:名前は開発中のものです。 mailto:sage [2012/04/21(土) 00:34:11.13 ID:fS6DJLOg] DXライブラリでエロゲって商業だとちらほらみるな
516 名前:名前は開発中のものです。 mailto:sage [2012/04/21(土) 01:18:43.90 ID:muN1+m+6] ブロック崩しと
517 名前:名前は開発中のものです。 mailto:sage [2012/04/21(土) 02:59:16.54 ID:+R2G5xox] DXライブラリを使って普通の2DSTG作ってるだけだよ いつになったら完成するのやら
518 名前:名前は開発中のものです。 mailto:sage [2012/04/21(土) 03:35:50.68 ID:KpdwKgSD] >>505 DxLib.hでGetJoypadDirectInputStateを検索してみな この関数使えばXBOXのパッドの入力も取れるよ
519 名前:名前は開発中のものです。 mailto:sage [2012/04/22(日) 10:55:03.64 ID:kg6EG9U2] 3.07fが出てた
520 名前:名前は開発中のものです。 mailto:sage [2012/04/22(日) 16:35:31.17 ID:7iFZqzNj] >>518 一部だけね
521 名前:名前は開発中のものです。 mailto:sage [2012/04/22(日) 19:05:05.19 ID:GAb19Bzs] >>520 ん? 一応ガイドボタン以外は全部取れたと思うが・・・
522 名前:名前は開発中のものです。 mailto:sage [2012/04/22(日) 23:38:24.47 ID:J5Yh/ZmE] 箱? 箱◯?
523 名前:名前は開発中のものです。 mailto:sage [2012/04/24(火) 00:10:53.93 ID:nOBOEirj] ま、UNITYみたいのが出てきたいまDXライブラリは役目を終えつつはあると思う UNITYスレもスレ住人もくそ杉だが
524 名前:名前は開発中のものです。 mailto:sage [2012/04/24(火) 00:30:15.61 ID:C19dNN09] そう、それはよかったね
525 名前:名前は開発中のものです。 mailto:sage [2012/04/24(火) 01:53:19.94 ID:cPXNnGH0] 3Dしかまともに作れないからなぁ・・・ 確かに次の時代のゲーム開発環境ではあるけど、まだプログラムする意味が無くなる程の代物ではないかな ADV作るならNScripter・吉里吉里、2DRPG作るならRPGツクール これに 3Dゲームを作るならUnity が加わった感じ 当然3DならどんなジャンルでもUnity使った方が良いというわけでもないけど
526 名前:名前は開発中のものです。 [2012/04/24(火) 02:41:00.88 ID:pixaW8Xr] 2dアクションゲームを作るならDXライブラリでいいと思う?
527 名前:名前は開発中のものです。 mailto:sage [2012/04/24(火) 02:53:12.06 ID:mwz0LFvI] いいと思う。 ただ時代の流れで、肩身が狭いのは覚悟しておく必要があるね。 見栄えはやっぱり3Dの方がいいし。 (もちろんテクスチャやモデリング次第だが、最近は技術が成熟してきてるし、ツール系も充実してきてるようだし)
528 名前:名前は開発中のものです。 mailto:sage [2012/04/24(火) 02:55:25.79 ID:csmob4DT] DXライブラリはあくまで描画や音楽再生を手軽にできるだけだから、 ゲームの動作は全部自分で書かないといけないのは変わらないことに注意だ 2Dアクション程度ならステージエディタを用意する以外はそれほど難しくないと思うけど
529 名前:名前は開発中のものです。 mailto:sage [2012/04/24(火) 03:24:03.70 ID:YK27atVn] C/C++勉強用としてなら、まだまだ最前線で戦ってる印象
530 名前:名前は開発中のものです。 mailto:sage [2012/04/24(火) 08:04:36.86 ID:Of4oYWoA] 自分で書かなきゃいけないのが逆に勉強用としてはいいよな 本音言えばもうちょっと製作支援になるのが欲しいけど ちょっとしたのでいいからキャラモデル作ってくれるのとか
531 名前:名前は開発中のものです。 mailto:sage [2012/04/24(火) 11:33:10.85 ID:4IkrpGAX] 俺はそういうツール化するのはヤダな。 あくまで個人的な話だが、DXライブラリは、俺にできない事をサポートしてくれて、 俺にできる事は自分でやらせてくれる、ちょうどいいレベルのものだ。
532 名前:名前は開発中のものです。 mailto:sage [2012/04/24(火) 11:34:43.61 ID:csmob4DT] ゲーム用3Dモデルなんて、「ちょっとしたツール」レベルがプロユースレベルな世界だぞ
533 名前:名前は開発中のものです。 mailto:sage [2012/04/24(火) 18:01:55.40 ID:H7+1pTLB] ちょっとしたモデル Lv60と。
534 名前:名前は開発中のものです。 mailto:sage [2012/04/24(火) 18:04:04.62 ID:H7+1pTLB] unityってDXライブラリで整理された同様のゲームよりコードより重くなるよな 触った事ないからわからないけど、 プログラム並みに自由度あるのか? ◯◯ゲームツクールと同じ気がしなくもない
535 名前:名前は開発中のものです。 mailto:sage [2012/04/24(火) 18:05:59.14 ID:H7+1pTLB] もっと言えばマインクラフトと同じものを作ろうとしたときC++やjavaみたいにストレートに作れるのかと・・・
536 名前:名前は開発中のものです。 mailto:sage [2012/04/24(火) 22:57:48.35 ID:ZOT7AkmC] 作れる作れないはライブラリにあらず 作者の意気込みできまる
537 名前:名前は開発中のものです。 mailto:sage [2012/04/24(火) 23:35:26.90 ID:aU/j2TaN] まぁ、コストは多少度外視してでも、 手段は選ばずに、目的を実現しちゃえばいいよな、 趣味の世界なら。
538 名前:名前は開発中のものです。 mailto:sage [2012/04/24(火) 23:45:51.60 ID:vQvq3rL1] 重さはある程度作れるようになってから考えればいいよ。 それとUnityはプログラム使うよ。
539 名前:名前は開発中のものです。 mailto:sage [2012/04/25(水) 00:20:29.17 ID:BPiF5OeU] 最近はツクールもかなりプログラム寄りの作り方が出来るらしいしなー…
540 名前:名前は開発中のものです。 mailto:sage [2012/04/25(水) 00:24:58.57 ID:Gh4S025H] ツクールで3Dゲーム作れないだろ
541 名前:名前は開発中のものです。 mailto:sage [2012/04/25(水) 01:37:10.11 ID:fyDcYZ+l] と思うじゃん? ポリゴンが表示できないだけで3Dはできる
542 名前:名前は開発中のものです。 mailto:sage [2012/04/25(水) 02:53:25.54 ID:iSIcHNw0] ツクール系でFPS作ってるのってなかったっけ……?
543 名前:名前は開発中のものです。 mailto:sage [2012/04/25(水) 03:32:38.11 ID:13BCaGhK] たしかにDoomみたいなやつは作れそうな気がするな
544 名前:名前は開発中のものです。 mailto:sage [2012/04/25(水) 07:08:28.30 ID:uSnNSbDV] 3D格闘ツクール
545 名前:名前は開発中のものです。 mailto:sage [2012/04/25(水) 09:46:06.37 ID:/P+hidJR] >>544 あれなんて選択肢から用意されてるモーション選んで差分調整するだけじゃん
546 名前:名前は開発中のものです。 mailto:sage [2012/04/25(水) 09:50:25.48 ID:fyDcYZ+l] アレはただのモーションエディット機能の付いた格ゲー
547 名前:名前は開発中のものです。 mailto:sage [2012/05/02(水) 18:12:06.06 ID:y6BLahRk] GraphBlendRectBltで合成した画像って たとえばキャラチップの透過部分は優先される? 水画像をキャラ部分だけに合成したいんだけどそこ上書きされると困るんだ
548 名前:名前は開発中のものです。 mailto:sage [2012/05/04(金) 18:27:02.38 ID:vCHh+N25] 透過って工夫しないと前後関係が狂うよな
549 名前:名前は開発中のものです。 mailto:sage [2012/05/06(日) 22:47:15.54 ID:WhAnw8ZQ] DXライブラリにマウスカーソルを変更する関数ってある? 指マークにしたり砂時計にしたりする奴
550 名前:名前は開発中のものです。 mailto:sage [2012/05/06(日) 23:35:26.61 ID:DxjrJISV] マウスカーソルを非表示にして、マウスポインタの座標に任意の画像を表示するやり方ではだめなの?
551 名前:名前は開発中のものです。 mailto:sage [2012/05/06(日) 23:37:17.82 ID:WhAnw8ZQ] だめなの!
552 名前:名前は開発中のものです。 mailto:sage [2012/05/07(月) 11:45:33.03 ID:3UubK6Dz] やってること同じだとおもけど なんでだめなの?
553 名前:名前は開発中のものです。 mailto:sage [2012/05/07(月) 13:09:13.22 ID:LmhjfTpa] 作ってるのがゲームじゃなくてツールだから それでOKならすでにやってるし
554 名前:名前は開発中のものです。 mailto:sage [2012/05/07(月) 14:05:10.42 ID:HNg0tXA5] 理由になってないし、DXライブラリに拘る理由も分からんし。
555 名前:名前は開発中のものです。 mailto:sage [2012/05/07(月) 14:19:27.30 ID:LmhjfTpa] DXライブラリのゲームで使うエフェクトエディタなんだよ
556 名前:名前は開発中のものです。 mailto:sage [2012/05/07(月) 14:28:38.37 ID:QjWZaIgH] ツールならほかにもGUIいるしなぁ。 スクロールバーとか全自作するぐらいなら他の言語使ったほうがいい。
557 名前:名前は開発中のものです。 mailto:sage [2012/05/07(月) 16:02:14.35 ID:LmhjfTpa] WinAPIでできたけど、ちょっとチラつくな このくらいは仕方ないか
558 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 14:27:58.57 ID:XU/nbluC] ツールはC#でDxLibのがよさげやね
559 名前:名前は開発中のものです。 [2012/05/08(火) 18:24:11.12 ID:U1Qqw03N] 今さっきゲーム用のグラフィック書いてた所.... もうこれだけで10日くらい費やしてる。 しかも静止画。 まぁ2Dスクロール作ろうとしてるんだが... デザインだけでこれだけかかるとやる気はあっても 時間が足りなさすぎる。 書いた絵を動かさないといけないって考えると途方もない よな。そもそもゲームって大人数で数カ月何年かけて作るもんだよな。 一人でやろうとして馬鹿みたいだ。 皆できないと思って諦めよう....
560 名前:名前は開発中のものです。 [2012/05/08(火) 18:25:44.22 ID:U1Qqw03N] ゲーム作る時はやっぱ、大人数でやるべきだ。 DXライブラリは便利だがやっぱ時間かかりすぎる。 自分の役割が音楽であれ画像であれ、プログラム部分であれ、 確実に関わってるなら自分で全部作れなくても嬉しいだろ。
561 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 18:44:39.52 ID:MlgRjvwb] どんな超大作作る気か知らんが、基本的にゲームなんて一人で作った方が楽だぞ コードとグラフィックと音楽とか分野で分けて3人体制とかならわからんでもないが、それでも相当大変だぞ。 大人数で数か月何年かけて作るもんって、 それは最近のプロ(最新のグラフィックで3Dバリバリのゲーム作るような)に限った話。 試しに一人でテトリスでも作ってみなよ。 しっかり全ての機能を詰め込むと、それなりに時間かかるけど途方もないって程じゃない。 プロが大人数で何年もかけて作ったゲームよりも、素人一人が短期間で作ったテトリスの方が何倍も面白いだろうな。
562 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 18:51:30.61 ID:wKw8BPWu] 最初は糞みたいなグラだろ、普通。 エンジン作ってるときなんかCUIの数字の羅列と睨めっこだぞ? で、完成に近づいてきたらちゃんとした絵を描く。 絵心が無いならとりあえず60点程度の絵は描いて公開。 で、絵師を募る。
563 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 18:52:01.21 ID:U1Qqw03N] 例えば熊のキャラクター描くじゃん。 それをさ、動かすには、色々なアングルから描かないといけないでしょ? しかも、プログラム使って動かせるんじゃね?とかも思うわけ。 プログラムとデザインの間で何か巧い事できないかなと思うと プログラムもデザインも捗らないんだよ.... 総合的な動作機能の結集がゲームなわけで、 単にツール作ったり、マンが描いたり、音楽作ったりするわけじゃないでしょ。 テトリスくらいなら10日あれば作れると思うけど。
564 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 18:56:26.48 ID:KIKAQOnq] では残念ながら、ご縁がなかったということで。
565 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 19:11:31.50 ID:LsYiAlVD] >それをさ、動かすには、色々なアングルから描かないといけないでしょ? 3Dやればいいじゃん。 俺はできんからコツコツやるしかないけど。
566 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 19:12:48.02 ID:MlgRjvwb] 動かすって一言でまとめられても、こっちは君の頭の中まで見えないからなあ。 普通2Dで動かすって言ったら、基本1枚だろ。もちろんQVなんかだと多少枚数増えるけども。 プログラムを使って動かすとかも意味不明、部品に分けてアニメーションするってことか? 基本的にゲームで難しいのは、面白いアイデアと、最終調整なんだよね。 コード、絵、音楽は単に作るだけだよ。 商業レベルのテトリスを10日で作れる能力があれば、そんなくだらないことで愚痴ってないだろと思ってしまうな。
567 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 19:13:18.19 ID:U1Qqw03N] >>565 2Dが好きなんで。3Dは神の上だろ。凡人の俺には無理だ。 色んな機能詰め込んで、目に見えない部分で快適な動作するような スクロールゲーム作りたい。 そういやゲーム会社勤めてる人って多い人では月250時間くらい働くそうだな。 どんだけゲーム作るの大変なんだよ.... 体もつのか?
568 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 19:24:47.39 ID:U1Qqw03N] >>564 だな。少なくとも大学の授業期間やるもんじゃない。
569 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 19:40:13.52 ID:KIKAQOnq] ここはゲームを作る人のための板なんです。 ゲーム作り自体の経験の有無はともかく、制作に興味のない方は、ここに居ても余り役に立ちませんよ。 参考 togetter.com/li/298110
570 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 19:58:21.11 ID:dnlbnzGD] 絵は簡単でいいから動くゲーム作って公開してしまえば、 そのゲームに絵を付けたいってやつが出てくるかも知れないぞ。
571 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 20:12:03.76 ID:wKw8BPWu] >>563 それは単にアイディアが固まってないだけじゃね?
572 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 20:15:19.74 ID:D7xPHi12] ゲームなんか作ったって金がもらえるわけでもいい大学にいけるわけでも就職に有利になるわけでも出世に有利になるわけでもないからな 資格の勉強したり友人と交友深めたり読書でもしてた方がマシ 商業レベルのゲーム作ろうと思ったらそれこそ人生の一部をドブに捨てる覚悟が必要になる なんの見返りもないのに人生を捨てる馬鹿はいないわけで
573 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 20:19:19.26 ID:LsYiAlVD] 学生が暇つぶしか現実逃避だかで気軽に手を出してみたが良いが 製作の厳しさを知って挫折感を味わったというだけのお話。
574 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 20:42:30.68 ID:tUp/FLet] DXライブラリで一番分かりやすい解説サイトってどこだろう? 館でいいのかな
575 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 20:50:11.08 ID:LsYiAlVD] 公式リファレンス。
576 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 20:52:31.88 ID:tUp/FLet] 確かにリファレンスは一個一個は分かりやすいけど 組み方が分からないとな…
577 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 20:56:30.35 ID:IvFN0rbw] あれで組み方がわからないってどういうことなんだ
578 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 20:57:56.44 ID:CD5cDomn] DXライブラリ以前にゲーム作ったことがないのだろ。言わせんな恥ずかしい。
579 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 21:13:23.77 ID:dnlbnzGD] 館でいいと思うよ。
580 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 21:15:58.26 ID:LsYiAlVD] DXライブラリが解り易いのは公式リファレンスだ。 プログラムの組み方知りたいなら他所へ。
581 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 21:17:57.36 ID:NUwLyfbY] マニュアルの方しか見てなくて,ゲームのサンプルがあることに気がついて いないって事は・・・ないよな?
582 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 21:23:04.55 ID:L+B6daUo] >>581 うわああああごめん本当ありがとう こっちの方が参考になりそう
583 名前:名前は開発中のものです。 mailto:sage [2012/05/08(火) 23:09:13.67 ID:pQJ579z8] 挫折しないための鉄則があるかもしれない ・1日で完成するゲームを作って発表しろ(習作でもなんでもいい) ・それができたら2日で完成するゲームを作(略) ・それができたら4日で完成するゲームを作(略) ・それができたら8日で完成するゲームを作(略) 日数の増やし方は適当。実際にはもっと適した日数があるかもしれない
584 名前:名前は開発中のものです。 [2012/05/08(火) 23:20:38.15 ID:ZUBEYPbm] >>583 確かに作る事は楽しくなるかもしれんが、何を目指すんだろww 挫折せずに楽しくゲームを作り続けるだけじゃ。
585 名前:名前は開発中のものです。 [2012/05/08(火) 23:21:25.79 ID:ZUBEYPbm] でも良い案だと思う。 いつかそれを試すか。 後3年は無理だが....
586 名前:名前は開発中のものです。 mailto:sage [2012/05/09(水) 01:02:13.00 ID:C9Sg667m] 絵がかけないから3Dに逃げたんだけど今度は大きさが合わないでござる
587 名前:名前は開発中のものです。 mailto:sage [2012/05/09(水) 05:57:02.47 ID:QHiUcLvL] ちゃんと1mm=1単位 とか決めて作らないと……
588 名前:名前は開発中のものです。 mailto:sage [2012/05/09(水) 07:08:45.85 ID:BZtoCYkJ] ゲーム作ること自体が楽しい
589 名前:名前は開発中のものです。 mailto:sage [2012/05/09(水) 18:40:34.57 ID:dJBnz5Pn] ステフスレでグラフィックだけ募集したらいいんじゃないか
590 名前:名前は開発中のものです。 [2012/05/09(水) 19:24:08.53 ID:fBkaoQm7] マジレスすると中学の時に戻りたい。 中学の時にプログラミング勉強してたらよかった。 あの時ゲームしかしてなかった。 今は単位を取る事のほうが大事。
591 名前:名前は開発中のものです。 mailto:sage [2012/05/09(水) 21:09:43.56 ID:rUsvNlt6] >>380 この件、うちの環境で試してみたら、同様に固まってしまいます。DXライブラリを自前で コンパイルする以外の方法で既に解決してる等の情報があったら解決法の提供いただけるとうれしいです。 こちらの環境: ホスト/ゲスト共にWindows XP Pro. SP3 (DirectX 9.0c)、コンパイラ: Visual Studio 2008 Express DXライブラリ: 3.05 (最新の3.07fにしても解決せず) VirtualBox: 4.1.14 3Dアクセラレーションと2Dビデオアクセラレーションは有効。 VirtualBox Guest Additionsのビデオドライバインストール済。 見た目の現象も >>381 の↓と同様。 > ウィンドウは出るけどそのまま固まって応答なしになるって感じ Log.txtに出るメッセージも同じ 「IDirect3DDevice9 オブジェクトを取得します...ハードウェア頂点演算を使用します」 で終わってる。 ChangeWindosMode(TRUE)して、SetGraphMode()で指定したサイズのウィンドウが 出るので、そこまでは動いてるっぽい。固まってる状態でタスクマネージャで見ると状態=応答なし。 >>388 うちでもdxdiagではDirect3D 7のテストが下記エラーで失敗する以外は 正常(バウンスする□やXロゴの立方体が正しく表示される)。 | ステップ 40 (バック バッファを1つ持つフリッピング プライマリ サーフェスを作成中): HRESULT = 0x88760064(エラー コード)」 >>414 のSetWaitVSyncFlag(FALSE);も入れてみたけど解決せず。 Log.txtも「IDirect3DDevice9 オブジェクトを取得します...」で終わるのも変わらず。 Debug/Releseビルド共に同じ現象で解決せず。 元レスの人はDXライブラリを自前でdebugビルドしたものにしたら動いたようですが、こちらは未確認。 時間があれば週末にでも >>399 含めて試してみるつもりですが、 既に解決済だったら徒労なので何か情報ありましたらお願いします。
592 名前:名前は開発中のものです。 mailto:sage [2012/05/09(水) 21:36:58.04 ID:CQqmGqdX] >>590 正直、大学の時期を逃したら先はないよ。 就職後は時間に余裕がなくなる一方だ。 ※ ただしニートを除く
593 名前:名前は開発中のものです。 mailto:sage [2012/05/09(水) 21:45:30.54 ID:uIe4Uns+] しかし一番いいのは大学でしっかり勉強する事だ。
594 名前:名前は開発中のものです。 mailto:sage [2012/05/09(水) 21:50:19.11 ID:BhwDzGzN] >>590 今プログラミングやれよ。好きなだけsin、cos使えるんだぞ
595 名前:名前は開発中のものです。 mailto:sage [2012/05/09(水) 22:07:36.38 ID:tsrIJ06j] DXライブラリのゲームが動かない場合は、directXのツールで異常なしと表示されてても、グラボのドライバを入れなおせば治る場合が多いよ
596 名前:名前は開発中のものです。 mailto:sage [2012/05/09(水) 22:22:14.21 ID:7036Lux4] >>592 就職して10年経ったら会社辞めてプログラミングするわ。
597 名前:名前は開発中のものです。 [2012/05/09(水) 23:41:17.09 ID:9iScSVCb] いまやらない奴が10年後に何をやるって? 時間が無いとか逃げてるようじゃ向いてないよ。 時間は無いものじゃなく、作るもんだ
598 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 00:47:47.27 ID:2KkjXKar] ゲーム作りなんてほどほどに諦めとけ。 10年古い遊びだし、ニートになったらどうするつもりだ?
599 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 01:52:46.02 ID:UJVg5yao] サインコサインタンジェントが全然わからん sin cosはセットで使って角度から座標を求める tanはなんだろ?
600 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 02:09:50.75 ID:ETRl6Ipe] ゲーム製作では、アークタンジェント(タンジェントの逆関数)で、座標から角度を求める。 自機狙い弾を撃たせる時とか、使用頻度は高い。
601 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 02:25:10.92 ID:iDwpb+K6] 実際にそんな処理をやってたら重くてしょうがないw 数学関数の呼び出しはループの中では極力行わないのが常識。
602 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 06:18:14.97 ID:vzflkD1H] 昔はゲームコンテストに中学生が入賞して大金を手に入れたり ゲームプログラマーデビューしたと聞いた
603 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 06:35:35.77 ID:UZbNhvsp] 中村光一のことかなと思ったけどちょっと違うか… 昔はネットも普及してなかったけどそういう夢はあった時代だねえ
604 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 07:38:40.06 ID:8vGyKgxt] 中村祐一
605 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 10:05:38.16 ID:tesXth+b] ゲームはオワコン
606 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 12:09:07.74 ID:ZDbcr+Is] >>601 そんなに重い? 想定するPCで処理落ちしない程度に抑えるのは当然として、仕様を諦めるほどのものか? マウスカーソルの方に向きが変わるエフェクトだって毎フレーム角度を取らなきゃ出来ないだろうし、そういう表現を全部諦めなきゃいけないほど今のPCって遅い? 私も実際そういうの作ったけど、重いと言われた事はないなぁ。もっと重くなりそうな処理はたんまりあったのに。
607 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 12:16:27.13 ID:tfJkmKLP] sinテーブルとか使ってた頃の常識じゃないかな
608 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 12:34:52.15 ID:4XOda0N/] 10数年前の常識だから、今はバンバン使ってもいい つーか使わなきゃ3Dゲーム作れないよ・・・
609 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 13:22:25.06 ID:v9pLXRdM] sin cos テーブルなら俺今も使ってるけどね。 同じ計算何度もさせるのに、いちいちsin cos 再計算させるとか無駄だし。
610 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 15:04:57.12 ID:kc9Z57zY] テーブルなんて使ってたら超長距離の狙撃ゲーとかできなさそう
611 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 15:11:34.69 ID:tfJkmKLP] テーブルの間の値を取るときに線形補完でもすれば結構使えそうな気はするな
612 名前:名前は開発中のものです。 [2012/05/10(木) 15:21:30.43 ID:VHianwBM] 内積とか使わないの?
613 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 15:23:18.02 ID:v9pLXRdM] そんなピンポイントな仕様の時だけテーブル使わなければいいだけじゃ。 CPU性能が上がったからテーブル使わなくていいじゃん、て理屈なら メモリ増えたからテーブル大きくしてもいいじゃん、って手もあるし。
614 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 16:45:22.46 ID:dVfrJx5F] でかいテーブルにキャッシュ圧迫される位なら素直に計算したほうが速いと思う
615 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 16:58:49.22 ID:dtfgAWXR] インタプリタで弾幕STGが作れる時代だぜ?
616 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 18:55:39.93 ID:v9pLXRdM] 俺も最初は普通に計算させていたが、「これテーブルでいけるんじゃね?」と思って テーブル処理させるようにしたら、スピードは変わらなかったがCPUファンが急に静かになった。 また、随分前に別のスレで同様の議論が起こった時、サンプルコード作って実測値を求め、 コードとその結果を晒すと、今までなんだかんだと言ってた連中は黙り込んだ。 つまり比較検討すらせずに論じてたわけだ。 よって俺は、PC性能が向上したからテーブル処理は不要という説は机上の空論だと思ってる。
617 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 19:02:46.00 ID:sVBnl2Jo] 三角関数のコストの話題をsinテーブルで例えたのは俺だけど 特に誰もそれを不要とか言ってないからね 俺もちゃんと的確な場所で使えば今でも十分通じる最適化の手法だと思っております
618 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 20:11:40.30 ID:ZR8vamBu] テーブルで処理してる人って固定小数点数とか使ってるの? 俺は浮動小数点数使ってるんでテーブル化の恩恵とかいまいちピンとこない グラフィックの処理限界が先に来るんでCPUの処理速度に無頓着なのもあるんだろうけど
619 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 20:51:13.05 ID:mUHUEJ/5] VCで数学系の関数を高速化する命令ってなかったっけ? 内部でテーブル作ってくれるやつ
620 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 21:35:16.35 ID:2KkjXKar] アプリケーションの計算頻度しだいで必要としか言いようがない。
621 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 21:41:39.79 ID:dtfgAWXR] 数年前のCPUでさえ、普通に毎回計算しても弾幕シューで一万発60フレーム出せるし core2とかなら更に数倍計算できるだろうし
622 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 21:52:54.52 ID:e/HoFmGV] 1日目 dxlibraryをインストール 2日目 visual c++をインストール 3日目 Dxlibraryのサンプルプログラムを観賞 4日目 リファレンスを見て関数勉強 5日目 リファレンスサイトを探す 6日目 you tubeを見て作品観賞 7日目 ニコニコ動画を見て作品観賞 8日目 Dxlibraryの普及度をネットで調べる こんな感じで一向にゲーム作る気になりませんでした^o^ やる気はあるんだよ? バイトしてるほうがマシだなでもww
623 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 21:56:57.00 ID:8OIpRinM] sinテーブルなんかは最適化には有効だけど、 わざわざsinテーブルなんて作るよりベタ書きでいいじゃんって話でしょ。 毎秒何フレーム描画したいかにもよるけど、どんな酷い書き方しても今のCPUなら最低でも60fpsは出るぞ。 そもそもcore2なんて化石だしなあ。 三千円出してSandyのCeleronでも買えばいい。
624 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 22:01:40.33 ID:8OIpRinM] >>622 お前みたいなやつに限ってやる気はあるってのが口癖だったりするんだよな。 自分でもう一度眺めてみろよ。 既にdxlibをインストールしてるのに、後から普及率を調べたり リファレンスがあるのに、別のリファレンスサイトを探したり、 今までいろいろなゲームを見たことがあるはずなのに、今さらゲーム作品を鑑賞している。 全部プログラムを書くことからの逃げでしかないだろ。 1時間程度でvc++インストールしてdxlib入れて、リファレンスとにらめっこしながら書きはじめない時点でやる気が無いのと同じ。
625 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 22:01:42.65 ID:K6/fMJqa] atan2は普通に使ってるけど、 1/60sec.内に必ず処理が終わるようにしなければならない、っていう決めのもとで、 newとdeleteなど動的なメモリ確保する処理がこわくて使えない 具体的にはSTLのmapがこわくて使えない 低確率であろうとも負荷が集中して1/60secを超えるリスクがもしあるのなら、と思って使ってない そんなことがあるのか、よくわからないんだけど で、全インスタンスを予め確保して使ってる アクションゲーならあらかじめ敵最大1000匹とか決めておいて、インスタンス1000個を配列で確保して、 で1個1個に生死フラグをもたせてる
626 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 22:07:23.83 ID:feNuwH83] >>621 自分弾幕やらないからよく分からないのだけど 解像度800x600 で 8x8の小さなドット敷き詰めても 7500発にしかならないと思うんだ 一体どんなゲーム(計算方法が分かっているならツール?)なんだろ
627 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 22:08:02.47 ID:e/HoFmGV] >>624 石橋を叩いて渡るタイプだから俺はw
628 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 22:12:18.01 ID:e/HoFmGV] どっちかっていうと勉強できない奴がゲーム作るのに逃げたって風潮なのに 回転座標とか行列とか、三角関数とか嫌にならないのかね。
629 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 22:15:05.37 ID:dtfgAWXR] >>626 あくまで昔作ってたゲームでどこまで弾が出せるかの計測の結果だから、実際のゲームでそんなに出したわけじゃないよ なので、普通にゲーム作る分には三角関数は最適化しなくても余裕はあまりまくるって意味 >>627 やらない奴のテンプレすぎるw
630 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 22:15:53.49 ID:e/HoFmGV] 内積はベクトルが作る面積、外積は体積だよな。
631 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 22:17:05.95 ID:dtfgAWXR] 高校の頃は、ゲームに活用できる単元だけテストの点数高かったな ゲーム制作に活かせることなら興味モリモリだろ普通
632 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 22:39:01.08 ID:yUL5kazs] >>627 渡ってないだろw
633 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 23:03:40.82 ID:um7ucooq] 目的なくリファレンス見ても何も頭に入らないと思うんだが
634 名前:名前は開発中のものです。 mailto:sage [2012/05/11(金) 00:12:18.56 ID:7pB6w4/u] ロダやパス聞いて叩かれてるタイプ
635 名前:名前は開発中のものです。 mailto:sage [2012/05/11(金) 00:16:59.89 ID:IxDfbQFz] グローバル変数使いまくってたのをクラスにまとめてすっきりしたと思ったら100エラー越えて泣いた。 オブジェクトの宣言てどこですればいいの。もうexternは使わんと決めたお…
636 名前:名前は開発中のものです。 mailto:sage [2012/05/11(金) 00:19:27.34 ID:GbmOtmCH] 同じスタイルでやるならexternの数を減らせる以外の効果は無いと思うよ externが一個で済むようになるならいいじゃん
637 名前:名前は開発中のものです。 mailto:sage [2012/05/11(金) 00:46:06.52 ID:IxDfbQFz] >>636 散らかってた変数や関数を複数のクラスにまとめたってこと。そして素人の俺はクラスの数だけexternすることに。 もっとゲーム設計に適したやり方はないの?とお前さんらに泣きついた次第
638 名前:名前は開発中のものです。 mailto:sage [2012/05/11(金) 00:53:39.42 ID:N2bOf4fY] セーブ・ロードするんでもなきゃ、下手にクラスにまとめないほうがいいよ クラスにまとめるくらいなら、ネームスペースで囲っとけ
639 名前:名前は開発中のものです。 mailto:sage [2012/05/11(金) 01:04:26.09 ID:IxDfbQFz] >>638 クラスは便利って聞いたから慣れようとしたんだけどね。いろいろ試してみる
640 名前:名前は開発中のものです。 mailto:sage [2012/05/11(金) 02:39:58.68 ID:bSxE0QNK] クラスの実体をグルーバル変数にしない→どうやって実体化したクラスにアクセスするか?→ポインタ(リファレンス)を渡す 後はメンバのアクセス権とかを設定すればなんとなくC++っぽいプログラムになる
641 名前:名前は開発中のものです。 mailto:sage [2012/05/11(金) 02:51:15.70 ID:B2rtNnmh] 基本的にexternてextern "C"位しか使わないはずだけどな ポインタの引数渡しだとかシングルトンとかでポインタ返したりするので間に合うし #pragma once等で多重インクルード防止してるよね?
642 名前:名前は開発中のものです。 [2012/05/11(金) 08:33:33.00 ID:ZM042uCS] 目的が達成されればやり方はなんでもいいんだよ
643 名前:名前は開発中のものです。 mailto:sage [2012/05/11(金) 10:30:32.73 ID:3e5VHKoo] クラス設計見てないからなんとも言えんが、 ゲーム総括クラスを一つwinmainで メッセージループ入る前やWM_CREATEで生成、終了時破棄ってのが普通じゃないか? ってかDXライブラリ関係ないな。クラス設計スレあったと思うよ。
644 名前:名前は開発中のものです。 mailto:sage [2012/05/11(金) 10:45:55.87 ID:vcjHam5B] >>625 毎フレームmapに自前でnewはあんまやらないと思う 別コンテナにすでにインスタンス確保してあるなら、 そのポインタかスマートポインタを入れたらいんじゃね
645 名前:名前は開発中のものです。 mailto:sage [2012/05/11(金) 17:14:52.22 ID:ROU9gqxB] DXライブラリって直接半透明に画像描画することって出来ないのかな? 透明メッセージ枠やりたかったけどSetDrawBlendModeが必須なのか…
646 名前:名前は開発中のものです。 mailto:sage [2012/05/11(金) 18:12:28.51 ID:dJRyU0/j] 普通は、それができるようにDXライブラリを更にラッピングして描画関数やフレームワークを作る
647 名前:名前は開発中のものです。 mailto:sage [2012/05/11(金) 18:21:46.43 ID:ZalIzh5v] α情報ある画像ならいけるよ
648 名前:名前は開発中のものです。 mailto:sage [2012/05/11(金) 19:17:48.33 ID:3dGi95mh] 透明メッセージ枠くらいならアルファ画像の方がいいんじゃないかな。
649 名前:名前は開発中のものです。 [2012/05/11(金) 22:34:22.76 ID:4SsxSVut] フリーゲーム紹介サイト一覧(登録関係) ttp://www.geocities.jp/y_u_n_o_a/distribution/chapter1-2.html ゲームを制作したらここへ
650 名前:名前は開発中のものです。 mailto:sage [2012/05/11(金) 23:02:20.93 ID:y/guoP93] 自貼りするのは構わんが、あちこちのスレにマルチはするなよ。
651 名前:名前は開発中のものです。 mailto:sage [2012/05/11(金) 23:46:30.66 ID:o/+Gc2jH] 透明画像なんて使えたのか…
652 名前:名前は開発中のものです。 mailto:sage [2012/05/12(土) 00:05:05.70 ID:c1qmluZz] >>644 ありがとう STLのmapでのinsert/eraseでsecondをポインタにするのなら、 ほとんどnewとかdelete発生しない (か発生してもサイズが小さいから、負荷が集中しても1/60sec超えるほどにはならない) ってことか mapが内部的に保持している要素数をオーバーしたときに再配置が生じるくらいかな… 先に大量に配置してからclearしておけばいいのかな 1/60secに常に収まることが必要な敵オブジェクトやタスクの管理にもmapは使えそうな気がしてきた 必要に応じてvector/set/multimapあたりになるのかもしれんけど
653 名前:名前は開発中のものです。 mailto:sage [2012/05/12(土) 00:12:48.35 ID:nwxeejja] 宣言した変数に文字を代入したいんだけどcharやintじゃダメなのかな char Sound = BGM1; みたいにやってるんだけどどうも美味くいかない 文字はcharだと思ってたんだが
654 名前:名前は開発中のものです。 mailto:sage [2012/05/12(土) 01:06:33.81 ID:nwxeejja] ごめん分かり辛かったかもしれない --main.cpp----------------------------------------------- int BGM001 = LoadSoundMem( "BGM/音声.mp3" ); int BGMVol = 255; //BGM音量 int SEVol = 255; //SE音量 char SoundSet,SoundVol = BGM001 , 255; void Sound_On(); --Sound.cpp---------------------------------------------- char SoundSet = 0; int SoundVol = 0; void Sound_On(){ ChangeVolumeSoundMem( SoundVol, SoundSet ); } -------------------------------------------------------- こんな感じで指定するだけで流すBGMとその音量を楽に変えられるようにしたいんだけど 文字列が使えないとなるとここからどうすればいいんだろう全く分からない
655 名前:名前は開発中のものです。 mailto:sage [2012/05/12(土) 01:14:46.09 ID:Sk4hsssu] Cの基礎文法から地道に勉強したほうがいいよ 勉強するのが嫌ならchar[]とかstringで検索
656 名前:名前は開発中のものです。 mailto:sage [2012/05/12(土) 10:20:02.82 ID:oiw6jIIK] おっぱい
657 名前:名前は開発中のものです。 [2012/05/12(土) 11:08:26.00 ID:4PAPvi2J] >>654 ツリーマップとかハッシュマップがしたいんじゃないか?
658 名前:名前は開発中のものです。 mailto:sage [2012/05/12(土) 11:33:22.89 ID:pM6R2rdg] stringってなんだよ char*やchar[]となにが違うんだ
659 名前:名前は開発中のものです。 mailto:sage [2012/05/12(土) 11:44:07.77 ID:pM6R2rdg] 動的に配列を確保したぃだけどできる? kurasu hoge[] = new kurasu[i]
660 名前:名前は開発中のものです。 mailto:sage [2012/05/12(土) 11:44:13.65 ID:7ZI1drDU] なにって、文字列長可変できることに決まってるじゃまいか
661 名前:名前は開発中のものです。 mailto:sage [2012/05/12(土) 11:46:31.53 ID:7ZI1drDU] >>659 vector使っとけ
662 名前:名前は開発中のものです。 mailto:sage [2012/05/12(土) 13:15:24.26 ID:Y7LnpGkk] >>654 色々とダメすぎ。 char型にint型を代入しようとしているし、 char SoundSet,SoundVol = BGM001 , 255; こんな代入ってできたっけか? 少なくとも、このコードで文字列を使うようなところはないぞ。 LoadSoundMem()の引数で使うのなら別だけど。 最低でも、配列ぐらいは勉強しようぜ
663 名前:名前は開発中のものです。 mailto:sage [2012/05/12(土) 13:20:23.81 ID:scKJS9wa] >>654 "BGM/音声.mp3"以外に文字列使ってるところないと思うけど あとcharは+-127で 255いれるならアンサインドしないといけない。 SoundVol = BGM00はキャストしないといけないけど int型のハンドルからcharにいれるとおかしくなる
664 名前:名前は開発中のものです。 mailto:sage [2012/05/12(土) 13:33:12.14 ID:e6ix4ssi] charがsignedとは決まってないぞ? unsignedとも決まってないが
665 名前:名前は開発中のものです。 mailto:sage [2012/05/12(土) 14:03:15.85 ID:Cm45Qp6Q] >>664 釣乙と思って調べてみたらマジで処理系依存だった。 今まで何も意識してなかったんだぜ。
666 名前:654 mailto:sage [2012/05/12(土) 14:28:24.06 ID:6R8HK7WJ] ダメ過ぎてごめんなさい charもstringも使わずに出来ました、レスくれた人ありがとう
667 名前:名前は開発中のものです。 mailto:sage [2012/05/12(土) 16:54:50.46 ID:MLybp27S] atan2って0渡すと落ちない?
668 名前:名前は開発中のものです。 mailto:sage [2012/05/12(土) 17:17:40.32 ID:aTzzNn3r] c#用のdxlibがあるらしいけど、 使い心地はc用と比較してどう?
669 名前:名前は開発中のものです。 mailto:sage [2012/05/12(土) 17:49:08.27 ID:bBRavtqR] >>667 処理系依存なのでVCは0を返す BCCならエラーになるかも GCCは0だったかな?
670 名前:名前は開発中のものです。 mailto:sage [2012/05/12(土) 18:04:49.21 ID:e6ix4ssi] >>667 C99対応処理系の場合、設定次第で例外を生成する
671 名前:名前は開発中のものです。 mailto:sage [2012/05/12(土) 18:47:25.96 ID:dhHNv3dR] >>668 構造体名が全部大文字だったり C#ならenumを使うようなところが全部const静的メンバだったり C#を使い込んでいる人ほど使いにくいと感じるかもしれない 個人的な感想をいうと 「どうしてもC#で使いたい人向けにとりあえず用意しました」 という感じが強い 使い心地という観点では、正直あまり良くない まぁ、もともとCやC++用のライブラリだから仕方ないんだけどね
672 名前:名前は開発中のものです。 mailto:sage [2012/05/12(土) 19:15:17.60 ID:qdtYJdCq] enumで定義して欲しいとかはC/C++でもあるけどね 演算に利用するような定数でもなければ、型で縛っといてくれた方が安全だし
673 名前:名前は開発中のものです。 mailto:sage [2012/05/12(土) 22:25:31.97 ID:0khMsYy7] 練習に簡単なじゃんけんゲー作ってたら面白くなってきた
674 名前:名前は開発中のものです。 [2012/05/12(土) 22:35:13.58 ID:vkMbVikO] どうせ軽いフレームワークは自作するんだろ? そのついでにC#らしからぬ所を隠してしまえばいい。
675 名前:名前は開発中のものです。 mailto:sage [2012/05/12(土) 23:07:24.89 ID:zvVDUBCv] >>652 再配置ってvectorなんかで起こるメモリの再割り当て? ↑ならmapでは特に気にしなくていんじゃないかな
676 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 00:34:39.15 ID:a5SCC/ey] ゲームプログラミング作り難しすぎ。 O型のやつは大雑把だから細かいプログラミングは絶対不向きだな。
677 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 00:59:03.31 ID:2yoWSG9U] 言い訳乙
678 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 01:59:31.47 ID:SIc+R5jE] >>675 そうなん? 例えば10個の、敵その他オブジェクトへのポインタをmapにinsert/eraseをしてて、 場面によってオブジェクトが1000個に増えるようなときって、 mapが持ってるメモリ上の領域って10個分から1000個分に拡張されるんじゃないかなとか思う でそのときに再配置というか、追加割り当てが発生するんじゃないかなとか まぁその規模の処理で1/60秒食われるわけもないから、気にする必要もないのか…
679 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 02:18:54.50 ID:oOXluPnN] プログラミングが難しいとか正気か?
680 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 02:30:01.68 ID:ClwAHpRU] こういう場で血液型占い持ち出すやつは文系でも最下層の人間だろうから難しくても無理はない
681 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 05:10:58.13 ID:lpryfgyO] >>678 最初にリザーブしとけばいいんじゃね?
682 名前:591 mailto:sage [2012/05/13(日) 08:53:27.43 ID:8OrJeLU+] >>591 DXライブラリをビルドして試してみました。 >>399 さんの推測で当たりのようです。 DxGraphics2.cppの4134〜4168行をコメントアウトして GRH.FrameTime=16; にしたら動きました。(16という値は1000(ms)/60(fps)=16.666...ですよね多分) 上の行番号はDXライブラリ3.05での値で3.07だと変わっていると思うので、 // 1フレームの時間を取得しておく のコメントの部分を探して、そこを同様に変更すればとりあえず回避できると思います。 ログ出力を埋め込んで見たところ、当該処理の中で呼び出している GetRasterStatus()×4のうち、2番目のfor(;;)ループ (// VBlank が終わるのを待つ)が無限ループしてるようです。 回避策は分かったけど、正しい修正方法までは分かりませんでした。 当該処理の中で呼び出しているGetRasterStatus()がおかしな値を返して 来ている?ようですが、原因まで調べるだけの知識・スキルは有りませんでした。 公式サイトの掲示板の方にも報告しようと思いますが、VirtualBox固有の問題 だと思うので、作者さんのところに環境が無いと調べて対策するのは難しいでしょうね...
683 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 09:01:44.64 ID:9MSRAsYc] >>679 じゃあジャンケンのプログラムを余計なとこは省いてレス行以内で書けるか?
684 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 09:21:17.97 ID:NHkyJdx+] #include <stdlib.h> #include <stdio.h> #include <time.h> void shoubu(int a, int b) { char* hand[] = {"グー", "チョキ", "パー"}; printf("あなた:%s vs 相手:%s\n", hand[a], hand[b]); if (a == b) printf("あいこだった\n"); else if ((a+1)%3 == b) printf("あなたの勝ち!\n"); else printf("相手の勝ち!\n"); } void main() { unsigned int a; srand(time(0)); printf("あなたの手は?(0=グー, 1=チョキ, 2=パー):"); scanf("%d", &a); shoubu(a%3, rand()%3); }
685 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 09:29:20.51 ID:EZnOWHsv] なにこれうごかない
686 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 09:30:56.65 ID:oOXluPnN] ちょ、俺書いてたのにw
687 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 09:52:50.74 ID:w1fS3w9l] w
688 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 09:58:44.99 ID:AAmzPGEo] >>671 ありがとう 公式に機械的にc#用に変換したとあったね おとなしくxna使うわ
689 名前:679 mailto:sage [2012/05/13(日) 10:02:11.55 ID:oOXluPnN] #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ){ if( DxLib_Init() < 0 ) return -1; int game=0,zibun=-1,aite=0,hantei=0,temp=0;//ゲームの状態・自分・相手・判定・勝敗チェック用の char* hand[] = {"グー", "チョキ", "パー"};//パクった グー=0 チョキ=1 パー=2 char* win[] = {"勝ちました", "負けました", "あいこでした"}; SRand(GetNowCount()); SetDrawScreen( DX_SCREEN_BACK ) ; while( ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0 ){ switch(game){ case 0://初期化 aite=GetRand(2); game=1; break; case 1://入力待ち DrawString(0,0,"グー=Z チョキ=X パー=C 選んでからスペースキーでバトル",GetColor(255,255,255)) ; if(zibun!=-1)DrawFormatString(0,32,GetColor(255,255,255),"現在の選択は「%s」",hand[zibun]) ; if(CheckHitKey(KEY_INPUT_Z))zibun=0; if(CheckHitKey(KEY_INPUT_X))zibun=1; if(CheckHitKey(KEY_INPUT_C))zibun=2; if(zibun!=-1 && CheckHitKey(KEY_INPUT_SPACE))game=2; break; case 2://判定 DrawFormatString(0,0,GetColor(255,255,255),"自分の手は「%s」、相手の手は「%s」",hand[zibun],hand[aite]) ; if(zibun==aite)hantei=2; else{ temp=zibun;if(temp==2)temp=-1;if((temp+1)==aite)hantei=0;else hantei=1;} if(zibun!=-1)DrawFormatString(0,32,GetColor(255,255,255),"%s。エンターキーで再戦、ESCで終了",win[hantei]) ; if(CheckHitKey(KEY_INPUT_RETURN))game=0; break; }; ScreenFlip(); ClearDrawScreen(); } DxLib_End(); return 0; }
690 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 10:06:18.59 ID:oOXluPnN] コード汚すぎるけどDXライブラリで動く的な
691 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 10:07:06.00 ID:W1RKjCLb] DXライブラリ関係ない話が多いなw >>685 全角スペース消せ
692 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 10:09:01.24 ID:Ls9MBT4q] ksに付き合うなよ…w
693 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 10:18:47.38 ID:oOXluPnN] 問題を出されると組みたくなるのはプログラマの性
694 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 10:27:17.86 ID:pjQ/YiEQ] >>689 いいね
695 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 11:18:22.18 ID:SIc+R5jE] >>681 reserveはvector系にはあるけど、map系にはないみたい >>652 のやりかた(最初にたくさん確保してからclear)をすればいいのかもしれない
696 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 12:16:43.99 ID:8C9TJ7oh] mapって配列で保持してるとでも思っているか…
697 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 12:17:22.35 ID:2jBPxDkl] >>678 再配置ってのが push_backしまくってvectorが確保したメモリ超えたときに起こる メモリの再確保&要素全コピー&古い領域解放のことだと思って mapじゃ起こらないから気にしなくていんじゃねって思ってレスした vectorは>>681 に同意でreserveとセットだと思ってる
698 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 12:38:55.03 ID:SIc+R5jE] >>696 ,697 たしかに、その話ではないね。 言いたかったのは、 ・mapの実装が、要素間をポインタでリンクしてるものだとする。 ・mapに要素を追加した場合は、 既存の要素が持っているポインタ値が、新要素へのリンクを示す値になる だから… あっごめん再配置の問題ないわー
699 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 17:18:26.44 ID:JYF+zVYV] 途中で何度も挿入と削除繰り返す場合は 要素でアクセスする必要ないならlistのが良いし ソート不要ならunordered_maptも考慮してもいい
700 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 18:37:46.05 ID:SIc+R5jE] >>699 ありがとう 例えば敵オブジェクトを1000要素の配列に入れて、存在フラグtrue/falseで管理し、 存在フラグtrueのものだけ処理を行う、という用途で、 要素検索によるランダムアクセスしないなら、 listが向いてるって感じか 用途に応じて選ぶ際の参考になるわ
701 名前:名前は開発中のものです。 [2012/05/13(日) 18:38:44.99 ID:pSj6hJ1W] map, vector, listでクラス使う際は ポインタ <T*> を使うのがいいんだな javaやってて気付いた
702 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 22:06:28.55 ID:4FieMYmt] vectorでどうやって動的にクラス配列確保するんだよ( ;´Д`)
703 名前:名前は開発中のものです。 [2012/05/13(日) 22:18:11.78 ID:pSj6hJ1W] だからポインタ使えって。コピーコンストラクタ書かずに済むし速い。 プリミティブなら逆にポインタ使わないほうがいいけど。
704 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 23:02:43.31 ID:SIc+R5jE] >>701 の<T*>をぐぐったけどよくわからんかった ので>>702 もよくわからんし>>703 もわからん もちろんプリミティブならそのままsecondに代入しちゃってのはわかる
705 名前:名前は開発中のものです。 mailto:sage [2012/05/13(日) 23:22:05.25 ID:SToQPpoQ] 普通にvector使えばいいんじゃないの?
706 名前:名前は開発中のものです。 [2012/05/13(日) 23:22:50.12 ID:pSj6hJ1W] >>704 Hogeなら vector<Hoge*>ってこと。 するとSTLが管理するのはポインタの配列だけで ポインタが指すインスタンスは結局自分でnew(), delete()する必要があるね。 vector::push_back()とかにあわせて 参照先new(), delete()するラップクラス作っちゃったり。
707 名前:名前は開発中のものです。 mailto:sage [2012/05/14(月) 00:20:26.40 ID:nfhDOHHW] ああ、T*というところがわからなかったけど、 要はmapならsecondにはポインタを入れておけばいいってことで、 >>644 と同じことをいってるってことね
708 名前:名前は開発中のものです。 mailto:sage [2012/05/14(月) 12:57:31.44 ID:BTxAOBmy] mapならというかコンテナ全般、プリミティブじゃないなら ほとんどの場合ポインタかスマートポインタになると思う インスタインス生成する場合でも生成してからポインタをコンテナに入れる
709 名前:名前は開発中のものです。 mailto:sage [2012/05/14(月) 20:31:57.64 ID:wi3mQ0Av] 敵がドアを破って追いかけてくるゲーム作りたいけど何時間くらいで 作れますか? マップは平面です。 100時間くらいで作れますかね?
710 名前:名前は開発中のものです。 mailto:sage [2012/05/14(月) 20:55:24.27 ID:nluLiaGY] >>709 どんなゲームかよくわからないけど、一般に絵描くのに時間がかかると思う
711 名前:名前は開発中のものです。 mailto:sage [2012/05/14(月) 20:57:44.59 ID:wi3mQ0Av] ドンキーコングみたいなゲーム作るには何時間くらいかかりますかね? ディクシーのポニーテールジャンプみたいなアクションとか難しいですか?
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みたいな時間くう処理が起動して カクついたら困るなーと。特にアクション性の高いゲームだと。 たとえばメモリを新たに大量確保する処理が起動して時間くうとか。 そんなものは発生しない、なら、安心してコンテナ使ってゲーム作れるんだけど。 アクション性の高いゲームでも普通にコンテナ使うのが定番だよ、ということなら安心なんだけど、 そのあたりよくわからなくて。
813 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 11:09:09.97 ID:ArUyj87Z] >>809 具体的なコードがわからないんだよ class RoundAdmin{ Character character[]; RoundAdmin(int i){ for(int t=0;t<i;t++){ character[i] = new Character; } } }
814 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 11:09:37.11 ID:ArUyj87Z] iPhoneスペース無視されてワロタ
815 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 11:24:53.82 ID:8/80f/4q] >>812 メモリを確保する時間よりも、メモリが確保できるかどうかが問題だな コンテナが定番かどうかはこういうのが詳しい ttp://d.hatena.ne.jp/i-saint/20101012/1286822888 個人・小規模でPCゲー製作ならSTLで充分かと
816 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 11:38:54.28 ID:ArUyj87Z] >>813 続き イメージとしてはこれができたら楽なんだ winmain(~~~~~){ int state; while(error()){ switch(state){ case 0: RoundAdmin RAdmin=new RoundAdmin(); break; case 1: state=RAdmin.Func(); break; case 99: delete RAdmin; break; } } }
817 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 11:52:46.30 ID:aIMhivPJ] try,catch,throwじゃ駄目なのか?
818 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 12:00:09.24 ID:gXEjt6C9] goto使えば良いんでね?
819 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 12:22:43.39 ID:VD4oJ3BE] >>815 ありがとう。参考になる 自分はまさに個人・小規模でPCゲー製作だから、 out of memoryの心配だけはないんだよな
820 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 12:24:45.52 ID:HSIQMcFD] オーバーライドして作ったクラスのオブジェクトをコンテナに突っ込んでイテレータで回しながら共通関数を実行するんだろ
821 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 12:49:35.26 ID:JpqeYW60] >>820 ポリモーフィズムと言え。ややこしい
822 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 12:58:30.97 ID:zRojJiyg] >>816 OGRE3DのAdvancedOgreFrameworkがシーンの使い分けを解りやすく実装してるよ 仕組みだけなので2Dでも十分使える、ただ3DゲームならOGRE3D使ったほうがDXライブラリより楽だけど
823 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 13:12:00.32 ID:dlfQry7w] メモリ確保かー。 そういえばこの間、少し大きめの構造体の配列を用意しようとしたんだけど STRUCT_HOGE hoge[1024]; だと実行時エラーで、 STRUCT_HOGE *hoge = new STRUCT_HOGE[1024]; だと問題なく動くってことがあった。 頭では理解してたけど、実際遭遇したのは初めてだった。
824 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 13:46:07.27 ID:PlH7X2T2] >>823 初心者が良くやるミスだね
825 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 14:26:49.52 ID:1CGbweqQ] ちなみにそれ原因は何ですか?
826 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 14:51:44.70 ID:VD4oJ3BE] stackとheapでぐぐれ
827 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 14:53:36.27 ID:ZHekMysl] ただのスタックオーバーフローってこと?
828 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 14:57:27.20 ID:VD4oJ3BE] yes
829 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 15:14:52.35 ID:GOROOjbN] >>823 大文字で書かれると分かりにくいのは俺が初心者だからかな 普通小文字じゃない?
830 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 15:18:21.89 ID:ArUyj87Z] >>817-818 それしか方法ないのかなー 最悪、最大数宣言して存在フラグなんだけど
831 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 16:51:36.07 ID:dlfQry7w] >>824 それなりにプログラムやってるけど、遭遇したの初めてでなー。 >>829 こういう例示だと、結構使い分けることも多い気がする
832 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 17:03:35.58 ID:ZOsD1vO4] >>812 >mapにinsertするpairが仮にintとポインタだったとして、 >insertのときにそのintとポインタ分の小さいnewが起動するし、 >eraseのときにはそれがdeleteされると思う。 ツリーマップは木構造のノードに必要なデータ、キー、バリューを 一つの構造体として1回のnew(), delete()で済ませる。 だからstd::listの追加・削除・挿入は比較的速いアルゴリズムと言われてるが、 これとnew(), delete()の回数自体は変わらない。(木構造を辿る負荷は別計算) でも毎フレームstd::mapに大量の追加・削除されるのって そもそも連装配列に向いてないペアなんじゃないか?(キーがHPとか?) 例えば >>816 なら関数ポインタ or クラス継承して ストラテジーパターンのポインタを使うべきだ。
833 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 17:09:43.18 ID:ZOsD1vO4] >>825 VC++の初期値では、スタックサイズの最大値、ヒープサイズの最大値に 低めの値10MBが設定してあるから、これを超えると例外が発生して終了。
834 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 17:12:49.37 ID:VD4oJ3BE] >>832 >一つの構造体として1回のnew(), delete()で済ませる。 >これとnew(), delete()の回数自体は変わらない。(木構造を辿る負荷は別計算) 同意。 小さい負荷が積もり積もって、トータルでみれば大きな負荷となること、 その負荷軽減のためのチューニングや根本的な設計の方針については、 いろいろ情報も得やすいし、なんとかなる気がしている。 他言語のGCのような突発的大負荷の心配をしてたけど、 このケースでは、その心配はあまりなさそうという気がしてきた。
835 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 17:46:09.07 ID:pWSSP6VZ] DXライブラリ 雑談スレッド その12 toro.2ch.net/test/read.cgi/gamedev/1330000532/
836 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 18:29:25.01 ID:FNz7dsVi] そういえば、ゲーム製作に関わるC, C++全般のスレって無いのか。
837 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 18:50:09.12 ID:aIMhivPJ] >>833 これでエラー回避出来なくなった人って少なくないんだろうな(合掌) >>834 GCが動き出すぐらいにメモリーをいじってれば、 いずれはフラグメンテーションの餌食になるだろうな。 そうなったら、メモリー管理の方法を根本から見直した方が良いな。
838 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 18:56:35.62 ID:aIMhivPJ] >>836 立てるか?それとも俺が立てる?
839 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 19:20:40.08 ID:+n/uAHmA] >>833 10MBじゃなくて1MB
840 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 19:59:32.27 ID:oQPWMkDd] >>838 あったほうがいいかも。 軽く雑談できるくらいのスレは確かに欲しい。 ム板はstlやら何やらで分かれまくっててメンドイ。
841 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 21:40:01.48 ID:aIMhivPJ] こんな所か?っつーか立てられ無かった。 題名:C/C++総合スレッド Part1 ゲーム製作におけるC/C++全般に関するスレです。 元スレ DXライブラリ 総合スレッド その12 toro.2ch.net/test/read.cgi/gamedev/1330000532/
842 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 21:51:45.49 ID:VD4oJ3BE] C/C++でDXライブラリ以外のメジャーどころのライブラリも 知ってる人がいたらテンプレに入れてみては? 俺は不勉強ゆえDXライブラリしか知らないけど…
843 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 22:19:17.33 ID:oQPWMkDd] 考え出したら色々あるな。 boostとかsdlとかwtlとか
844 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 02:25:40.47 ID:b4J8kKZD] switch分岐でnew-deleteできないのかぁ!! 誰かメインループ中でラウンド管理クラス(キャラクター数、オブジェクト数などのゲーム本体を管理するクラス) を作りたいんだけど! 全然わからん。綺麗にできない。 ラウンド管理クラスを、例えばゲームのロード画面時にパッとnewして キャラクターをその分だけパッとメンバの配列を動的に宣言して リザルト画面に戻ったらパッとdeleteしたい
845 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 02:28:54.36 ID:rvG7rk61] キリがないからやめろ
846 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 02:43:46.36 ID:m1rxCUFY] その前に、自分のできる方法でゲーム完成させて経験値増やしたほうがよいように見える
847 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 03:09:05.33 ID:b4J8kKZD] >>846 キャラクターのクラスをラウンドクラスで配列で持って管理するっていう方法を想定して作ったんだよ ラウンドクラスをコンストラクタの引数で指定されたファイルでマップやキャラクターや武器を初期化して このラウンドクラスはその名の通りラウンド中は保持してラウンドが切り替われば新しく作る。 というのがしたいんだ。 だから switch(hoge){ case 0: hoge=func(); case 1: Round round=new Round(); hoge=2; break; case 2: hoge=round.main(); break; case 3: delete round; hoge=0; break; } これがしたい case0がメニューで1で初期化(つまりロード画面?)2がメインゲーム、3がリザルト画面 みたいな
848 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 03:12:36.92 ID:b4J8kKZD] でもswitchスコープ抜けると開放されちゃうんよ( ;´Д`) staticにすれば、ひょっとしたら言語特性でできるかもしれないし でもそうするとdeleteしても消えないかもしれないし
849 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 03:26:03.65 ID:m1rxCUFY] そういう概念をどこかで齧ったのなら、 そのソースごと真似すればいいんじゃないかな スコープはC/C++では割と基礎的なところなんで、そこの理解がまだ足りないうちに そこまで高度・大規模なことを「そらで」やろうとしても挫折してしまうと思う 手本があるなら手本を理解するまでやったほうがいい、その意味で、手本の真似が足りない
850 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 04:19:36.26 ID:rvG7rk61] >例えば >>816 なら関数ポインタ or クラス継承して >ストラテジーパターンのポインタを使うべきだ。 switchをやめろ。
851 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 04:32:17.32 ID:ETYUDOJj] LILO and switch
852 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 05:20:07.65 ID:J67XAZ6b] なんでローカルにnew
853 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 06:11:28.75 ID:rvG7rk61] まず、メモリリークチェックしたほうがいいな。 >>847 のプログラミングからは駄々漏れ臭いがぷんぷんする。 _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); ゴリ押しおまじないプログラミングは危険だぜ。
854 名前:名前は開発中のものです。 [2012/05/20(日) 08:54:21.16 ID:jxpb7tAX] >>847 無理すんな。普通にやれw
855 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 09:17:03.32 ID:GdVgJDsL] 綺麗に書く素人が「綺麗に」とか考えて作っても読みやすくはならんと思うぞ
856 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 09:24:37.57 ID:rvG7rk61] DXライブラリのC++ラッパー作ってます。よろしく。 mint.ninja-web.net/dpp/index.html
857 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 09:33:19.40 ID:QwDamEGA] >>847 メンバ変数にでも保持しておかないと、 スコープ抜けたらローカル変数は保持できないので、結果的にメモリリークする まあ、>>849 がFAだと思うが
858 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 09:47:55.18 ID:b4J8kKZD] >>849 確かにswitchはオススメしないって言われた お手本のコードは無いです。 メインループのこの部分(タイトル画面やメインゲームやオプション画面の変異)って どのようにした方がいいですか? 他の方法がわからない 今思いついたのは NowState=&Start(); while(~~~){ NowState=NowState();//次に実行するべき関数のアドレスを返す }
859 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 09:49:23.86 ID:b4J8kKZD] タスクシステム?というのは聞いたけど昔のものだとかする必要が無いとか言われた
860 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 09:50:46.90 ID:GdVgJDsL] グローバルにenumでモード切り替え用の変数作ってswitchが一番簡単
861 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 10:17:37.19 ID:K5FhX9FA] シーン管理でggr
862 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 10:21:43.19 ID:b4J8kKZD] c#やjavaでいいんじゃないかってくらい全部クラス化してる。 クラスは自分が管理クラス(今回の場合はラウンドクラス)から渡されたデータを使って処理を行う。 例えば一連の流れをいうと キャラクターが攻撃を行ったら判定クラスのメソッドが呼ばれ 判定クラスのメンバ変数ポインタからキャラクターの情報を貰って 判定結果がtrueならダメージ処理クラスに攻撃方法と対象と攻撃者が渡されるメソッドが呼ばれ ダメージ処理クラスが持っているキャラクターの情報を貰って HPが0ならキャラクターに死亡フラグを立て、UIクラスのメソッドに攻撃者と対象を渡す。 つまりキャラクタークラス→判定クラス→ダメージ処理クラス→UIクラス とバトンリレーになってる。 この時、キャラクタークラスや判定クラスやダメージ処理クラスは、キャラクターの情報を持ってないと仕事にならないのでラウンド管理クラスが保持している。 イメージとしてはクラゲと、クラゲの触手 class RoundAdmin{ Character character[]; Judge judge; Damage damage; public: void SetCharaNum(int); void SetJudgeClassChara(Character* hoge){damage.SetChara(hoge);}; void SetDamageClassChara(Character*); } 以上のことを踏まえて誰か中央部の設計お願いします。もう設計の最初からやり直しするのは嫌ですヽ(;▽;)ノ
863 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 10:39:42.64 ID:b4J8kKZD] >>861 d.hatena.ne.jp/selvaggio/touch/20060821/1156148509 関数ポインタ?をスタックしまくるんですか でもタイトルシーン→ゲームシーン→リザルトシーン という流れがあった場合リザルトシーンを予めタイトルシーン時にリザルトをpushしなきゃならないってことですよね
864 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 10:48:07.65 ID:rvG7rk61] 昨日はアクションでstd::mapが速い遅いの話だったが、今日はRPGの戦闘か? C++だと相互参照するのに嫌な制限あるから難しいよね。 >>856 のサンプルに入ってるソースではデータと振る舞いを分けちゃってますが、 クラスを名前だけ前方宣言してダブルディスパッチするほうが一般的なのかなぁ。
865 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 11:49:53.71 ID:rvG7rk61] >>862 こうか? class Charactor { __int HP; __bool isDead; __void Attack(Charactor* target, How* how) __{ ____Judge judge; ____bool is = judge.IsHit(target); ____if( is ) ____{ ______Damage damage; ______damage.Set(this, target, how); ______if( HP == 0 ) ______{ ________isDead = true; ________UI ui; ________ui.Set(this, how); ______} ____} __} };
866 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 11:56:57.34 ID:rvG7rk61] だめだ、エスパーよろ。
867 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 14:50:25.73 ID:b4J8kKZD] >>865 それぞれの返り値がないから 例えばjudge.ishit()っていうメソッドの中でdamageを定義してメソッドを呼んでる こう・・・ class Charactor { int HP; int x,y; double Angle; bool isDead; RoundAdmin* Admin; void Attack(int Kind){ Admin->judge.IsHit(this,x,y,Angle,Kind); } }; class Judge{ RoundAdmin* Admin; void Judge(RoundAdmon tmpAdmin){ Admin=tmpAdmin; } void IsHit(Attacker,x,y,Angle,Kind){ for(int i=0;i<Admin->CharaNum;i++){ if(~~~){ Admin->damage.func(Attacker,i,Kind); } } } }
868 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 14:50:56.96 ID:b4J8kKZD] 説明が下手でスパゲティで死にたい
869 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 14:54:58.64 ID:d1pNr8pV] enum { TITLE, MAIN, ENDING, }; int state = TITLE; int main(void) { while() { func[state](); } }
870 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 15:33:37.24 ID:GdVgJDsL] >>863 ゲームオーバー処理の時にゲームシーンをpopして、そのままゲームオーバーをpushすればいいんじゃないの?
871 名前:名前は開発中のものです。 [2012/05/20(日) 16:09:24.24 ID:b4J8kKZD] >>870 逆だと思ってました(popしたものが実行されると思ってた) そういうことですか >>869 func[MAIN]関数内で保持したい変数ってどうすればいいんですか? func[MAIN]以外が呼び出されたら消えて欲しいです。 あと今更ですが質問厨でウザいですし基本設計の質問はDxlibスレでスレチだった・・・
872 名前:名前は開発中のものです。 mailto:age [2012/05/20(日) 18:03:42.86 ID:B+9uILOG] Charactor*のようにポインターのマークが後ろにつくのはどういう意味だっけ?
873 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 18:16:08.20 ID:eBiE/F9z] Character* x; // Characterのポインタ型を表す型名 Character*30 // Characterという変数と30の乗算(演算子オーバーロードがされていない場合) Character*=10 // Characterという変数に30を乗算し代入(演算子オーバーロードがされていない場合) /*Character*/ // コメントの終端 どれでもお好きな物をどうぞ C++のスレがないってのは ここで質問して良いって言う理由にはならないからな?
874 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 18:30:54.34 ID:rvG7rk61] 中高生の黒歴史
875 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 18:44:31.78 ID:iNm25OoA] いい加減、スレ立てるか。>>841 でいい?
876 名前:名前は開発中のものです。 mailto:age [2012/05/20(日) 18:44:39.45 ID:B+9uILOG] ありがd Character* x; // Characterのポインタ型を表す型名 ですよね しかし↓このように書くのはどうなんだろう? Charactor *target
877 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 18:56:48.04 ID:m1rxCUFY] >>876 個人でゲーム作ってるなら、どっちか好きなほうを選べばいい ttp://www.henshi.net/k/hiki.cgi?GoogleCppStyleGuide#l99 ttp://ockeysprogramming.blog42.fc2.com/blog-entry-607.html
878 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 19:16:26.37 ID:/AOQLV8Q] >>875 スレタイに「ゲーム製作」入れて、 C/C++ゲーム製作総合スレッド Part1 でいいんじゃない?
879 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 19:19:04.91 ID:B+9uILOG] これは参考になりますね。どうもありがとうございます〜 C++の本には載ってない文法なので疑問でしたが 人それぞれの考え方なんですね
880 名前:名前は開発中のものです。 [2012/05/20(日) 21:23:14.14 ID:iNm25OoA] 立てた C/C++ゲーム製作総合スレッド Part1 toro.2ch.net/test/read.cgi/gamedev/1337516528/l50
881 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 21:29:41.56 ID:m1rxCUFY] >>880 乙
882 名前:名前は開発中のものです。 mailto:sage [2012/05/21(月) 01:56:01.80 ID:ZnI/WkSf] >>880 おつ
883 名前:名前は開発中のものです。 mailto:sage [2012/05/21(月) 16:15:45.24 ID:L5xx/kw7] >>879 手元の入門書(2種類)だと載ってるけどな
884 名前:名前は開発中のものです。 mailto:sage [2012/05/21(月) 18:26:14.29 ID:ffV6Y48y] キャラクターを一瞬真っ白にして描画する方法ってわかる? 例えばダメージを受けたときなんかに使うアレ
885 名前:名前は開発中のものです。 mailto:sage [2012/05/21(月) 18:30:28.40 ID:I9dpNaEz] >>884 明るさを0にして色反転ってできなかったっけ?
886 名前:名前は開発中のものです。 mailto:sage [2012/05/21(月) 18:51:02.98 ID:ffV6Y48y] >>885 フィルタか、サンキュー
887 名前:名前は開発中のものです。 mailto:sage [2012/05/21(月) 18:58:22.65 ID:ffV6Y48y] 違った、ブレンドモードか。危ない危ない…
888 名前:名前は開発中のものです。 mailto:sage [2012/05/21(月) 22:19:42.57 ID:47wV3n9Q] SetDrawBright()とSetDrawBlendMode()使って、 一時的に他の色っぽく表示っていうのがこのスレか前のスレかにあったね 参考にさせてもらったわ
889 名前:名前は開発中のものです。 mailto:sage [2012/05/21(月) 23:13:34.24 ID:yadbYRsO] 別の画像を表示
890 名前:名前は開発中のものです。 mailto:sage [2012/05/22(火) 00:28:56.82 ID:fGZyqonm] 画像を指定した角度座標でマスクできる関数教えてください! 四角く作ったミニマップがダサいです!
891 名前:名前は開発中のものです。 mailto:sage [2012/05/22(火) 15:12:29.46 ID:mXIdZtP1] 上からマスク画像を表示
892 名前:名前は開発中のものです。 mailto:sage [2012/05/22(火) 20:41:55.22 ID:KEARhB46] >>890 すまんが、その質問からだとどういうふうに描きたいのか分からない。 「○○っていうゲームの△△みたいに」っていう例えでも良いんで もう少し詳しくやりたいことを説明してはくれまいか。
893 名前:名前は開発中のものです。 mailto:sage [2012/05/22(火) 23:11:59.34 ID:fGZyqonm] AVAのミニマップ表示と EXVSの画面右上のミニマップの両方お願いします。
894 名前:名前は開発中のものです。 mailto:sage [2012/05/22(火) 23:33:05.27 ID:GwTouD/j] EXVSってただの丸だろ。マスクする必要なしw
895 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 10:34:59.14 ID:b4o10B2o] 構造体のポインタを引数にする関数がうまく使えない。 クラスのメンバ構造体のポインタを渡そうとしても「CClass::TStructからTStructへ変換できません」と言われる。 わけわからん。お助けくだせえ
896 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 10:36:23.94 ID:b4o10B2o] おっと、それ用のスレがあったんか。スレ汚しすまん
897 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 12:41:41.58 ID:0bw1KTX7] >>889 以前他のライブラリで試そうとしたんだけどどうやっても白いくり抜いたような画像は得られませんでした。 やっぱり出来ないんですよね? たとえば赤い色の敵がいるとすると青と緑の要素がないからキレイに白くならなかったような そのときの結論は、手作業で白い敵の絵も作ってダメージのとき そちらを表示するしかないということでした
898 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 13:39:40.92 ID:fw4B82cQ] シェーダを使うw
899 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 13:59:04.47 ID:EJDtoHbk] >>897 DXライブラリのメモリイメージAPIから作り出すことができる。 ただしDirect3Dは、同じテクスチャを同じ描画モードで 連続して描画すると効率が良いので、 一枚の敵画像の中に白く塗り潰した敵の絵も一緒に入れてしまったほうが 描画するときの効率はいい。
900 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 14:07:34.09 ID:EJDtoHbk] Direct3D9の固定パイプラインがもっている、 あるいはHLSL書いてピクセルシェーダ使うのも描画モードが切り替わるので、 Direct3Dの一括描画を止めてしまう。 手作業で白い敵の絵も作って、アルファブレンドで二枚塗りして フェードさせるのが最も望ましいんじゃないかな。
901 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 17:25:41.49 ID:0bw1KTX7] >>898 わかりません・・・Directx7レベルPGなのでw >>899 >>900 よくわかりました。ありがとうございます。 おかげでこないだ詰まってた問題も原因がわかりました。 スプライト処理クラスを作って一枚表示ごとに描画モードを SetRenderStateで変えていたのですが、去年買ったi5パソコンで数百程度の 小さい画像表示で処理落ちし始めてビビリました。 このスレで「描画モードを変えると処理が重くならないか?」という話題があったのを うっすら記憶していて、SetRenderStateをまとめてやるようにしたら改善されました。 いま「SetRenderState 重い」で検索したらたしかに重たいと警告を発してる開発者さんがいました。
902 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 21:39:28.35 ID:oEFLuczz] スプライトの色を一時的に白っぽくするとかはここを参考にした覚えがある ttp://dixq.net/forum/viewtopic.php?t=9714&p=78319
903 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 21:52:32.24 ID:fw4B82cQ] 画像ロードする関数を少しラップしてソフトイメージ経由で白マスク画像を作成、連結したもの作らせると結構良さそうかな
904 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 22:29:47.19 ID:hXbSVptG] ファミコンだったらパレットチェンジでデータ量少なくかつ高速に処理できるのに最新PCって駄目だな
905 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 22:42:46.64 ID:kOpBPT9L] 全くだw いちいち色違いのキャラを用意しないといけないとか、面倒だわ。 俺もこの白点滅のやり方について公式とかで質問した人間だから、同類。
906 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 22:49:16.12 ID:EJDtoHbk] >>903 いくつかポイントがあって、合成する元の画像がそれを意識して作られる必要あり。 テクスチャは2の累乗であるwidth, height の正方形である。 だから長方形とかだと裏で大きめの正方形を確保してしまうから、 合成後の画像が正方形のスペースを有意義に使うこと。 カラーパレットが空いている必要がある。 つまり256色を白以外で使いつくされてるとだめ。
907 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 22:50:09.77 ID:pwt5T56h] 今だってピクセルシェーダー使えば同じこと出来るだろ
908 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 23:13:59.87 ID:hXbSVptG] そんな高度なテクニックは使いこなせねえよ
909 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 23:18:06.90 ID:0ldDGJ6S] 白抜きしたいキャラクタをまずブレンドモードInvで反転で描くだろ? その上にもっぺん同じキャラクタをこんどはAddで加算描画するだろ? そうすると抜き色以外255で埋まるって寸法よ
910 名前:名前は開発中のものです。 mailto:sage [2012/05/24(木) 00:14:49.78 ID:OTDx3X8F] 別に白画像作ればいいじゃん
911 名前:名前は開発中のものです。 mailto:sage [2012/05/24(木) 00:37:40.90 ID:YnP/Ncq+] アルファブレンドのON,OFFの切り替えが頻繁に起きるぐらいなら 全部アルファブレンドONで描画したほうがいいんだな。 マップタイルだけOFFとか。
912 名前:名前は開発中のものです。 mailto:sage [2012/05/25(金) 00:25:55.82 ID:rg8OJbTJ] >>909 頭やわらかいねきみ
913 名前:名前は開発中のものです。 mailto:sage [2012/05/25(金) 20:12:45.46 ID:9VSOgWxy] Allegroには、グラフィックの背景色以外の部分を指定の色一色にして描画する関数があって、 ビットマップでフォントを用意してそれを指定の色で描いたり、 そのシューティングゲームでダメージを受けて一瞬#fffだか#f00だかのシルエットになるときとか使い道があった
914 名前:名前は開発中のものです。 mailto:sage [2012/05/27(日) 08:25:16.10 ID:/36TiFsh] でも白画像でいいよね
915 名前:名前は開発中のものです。 mailto:sage [2012/05/27(日) 11:50:59.78 ID:6LUkVEJp] 作るの面倒くさい。少なくとも自動生成じゃないと。
916 名前:名前は開発中のものです。 mailto:sage [2012/05/27(日) 16:01:26.83 ID:jTp1UMkC] 俺はゲーム内で自動派だけど、 ゲーム外でツールで生成する派とかもいるかもしれんな 要はゲームで実現できればいいし
917 名前:名前は開発中のものです。 [2012/05/28(月) 03:51:16.27 ID:xvuBoj/+] ゲームではかなりよくある表現だから関数があってもいいかもな
918 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 05:01:17.17 ID:fvu7wQ0B] 関数作ったよー>< // r, g, bの色を透過色とみなした白マスクを下に繋げて作成。alphacheckを1にするアルファ値0も透過する。 // AllNum以降はLoadDivGraph系と同じ(ただし複製後の画像を想定して指定すべし)。 int LoadDivGraphWhiteMaskDup(const wchar *infile, int r, int g, int b, int alphacheck, int AllNum, int XNum, int YNum, int SizeX, int SizeY, int *HandleBuf) { int inhandle = LoadSoftImage(infile); int w, h; GetSoftImageSize(inhandle, &w, &h); int outhandle = MakeARGB8ColorSoftImage(w, h*2); BltSoftImage(0, 0, w, h, inhandle, 0, 0, outhandle); for (int y = 0; y < h; y++) { for (int x = 0; x < w; x++) { int tr, tg, tb, ta; GetPixelSoftImage(inhandle, x, y, &tr, &tg, &tb, &ta); if ((tr == r && tg == g && tb == b) || (alphacheck && ta == 0)) DrawPixelSoftImage(outhandle, x, y+h, 0, 0, 0, 0); else DrawPixelSoftImage(outhandle, x, y+h, 255, 255, 255, 255); } } int outgraph = CreateDivGraphFromSoftImage(outhandle, AllNum, XNum, YNum, SizeX, SizeY, HandleBuf); DeleteSoftImage(inhandle); DeleteSoftImage(outhandle); return outgraph; }
919 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 06:51:35.69 ID:mvM7MJU+] マリオみたいな感じのゲームを作ろうと思ったけどジャンプができない。 色々サイトとか回ってみたけど中々分からない。 誰か教えてくれると幸いです。
920 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 08:13:51.39 ID:fvu7wQ0B] 重力と地面に立つことを作ればあとは飛ぶだけ
921 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 08:21:05.78 ID:IVkwT0S2] >>919 v=gt 速度の上限を定める 落下しすぎたら戻す ジャンプで難しいのは着地だけ どうしてもダメなら最初は加速させずに等速ジャンプでいいと思うよ 押してる間だけ上昇、離したら下降とかね
922 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 08:40:00.71 ID:c9K0Nu9s] アクションゲームの最初の壁はジャンプ 次の壁は坂道
923 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 08:52:55.29 ID:6YRysOIW] 最初の壁は床だろう……。
924 名前:名前は開発中のものです。 [2012/05/28(月) 10:20:42.61 ID:rvNFgryv] どこから作りかで変るだろ マップチップ並べた床作らなくても地面にする座標決めればキャラの動きは作れる >>919 てかDXライブラリの公式ページにサンプルあるじゃん homepage2.nifty.com/natupaji/DxLib/dxprogram.html 2.ジャンプ処理
925 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 10:21:04.96 ID:90lU+KxT] 床てY軸の位置こていしとくだけじゃないか
926 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 10:32:44.25 ID:6YRysOIW] それを言うなら、ジャンプだって下方向へ加速させるだけだ。 さらに言うなら、昔のゲームみたいに(等加速度でなくて)等速直線運動だとしてもジャンプはジャンプだ。
927 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 11:25:52.97 ID:uXHACx8T] yが毎フレーム5マイナスされる時 厚さ1の床をどうやって判定するんだ
928 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 11:28:20.73 ID:9WGXBrjP] 5以内に地面があれば5-距離だけ移動してジャンプ終了、でよくね?
929 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 11:53:09.06 ID:aojI3MeF] for(i=0; i<5; i++) { y++; if(isAtari()) { y--; } }
930 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 11:59:48.69 ID:b7wzF1nG] ちょっと横から失礼 >>902 これで真っ白な画像を得られました。ありがとうございます。 #include "DxLib.h" int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int) { ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK); int x = 0; int Handle = LoadGraph("char.png"); while (ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0) { SetDrawBright(255, 255, 255); SetDrawBlendMode(DX_BLENDMODE_INVSRC, 255); DrawGraph( x, 100, Handle, TRUE ); SetDrawBlendMode(DX_BLENDMODE_ADD, 255); DrawGraph( x, 100, Handle, TRUE ); SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 ) ; x = x + 1; } DxLib_End(); return 0; } ブレンドモード切替の負荷の重さにはびっくりしたので ゲームの最初にこれで白い画像を作って表示することにしました。
931 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 13:04:49.57 ID:b7wzF1nG] >>918 ちょっとだけ直して動きました。 ttp://www1.axfc.net/uploader/Sc/so/349786 使えそうです。ありがとうございます。
932 名前:名前は開発中のものです。 [2012/05/28(月) 14:53:28.29 ID:WnycGPJc] DXについて勉強するのにオススメの書籍とかありますか? 横スクロールのアクションゲームを作ってみたいんですが
933 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 15:02:03.10 ID:jUTN7lVO] 14才からはじめるわくわく〜 みたいなやつ
934 名前:名前は開発中のものです。 [2012/05/28(月) 20:02:07.96 ID:GTiho4az] >>932 俺の結論として本は要らない Dxライブラリは覚えること余りないから必要なのはサンプルでしょ ネットで他言語でもなんでも見たらいいと思う
935 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 21:06:10.30 ID:51O+Wupn] 公式にあるサンプル全部やって、全部ちょこっとずつ改造してみれば、 次に何を勉強すればいいか道が見えてくるかもね
936 名前:名前は開発中のものです。 mailto:sage [2012/05/29(火) 01:46:18.53 ID:L7O/xZHN] >>927 そんな半端な場所に床を設置すんな
937 名前:名前は開発中のものです。 mailto:sage [2012/05/29(火) 01:50:59.85 ID:BLevQqxO] うお、仮とはいえPMXに対応してきたのか すげーな
938 名前:名前は開発中のものです。 mailto:sage [2012/05/29(火) 02:00:46.52 ID:ajD2ZMcH] >>933 あれ買うなら東方もどきのサイトの方が1000倍マシ
939 名前:名前は開発中のものです。 mailto:sage [2012/05/29(火) 16:38:49.14 ID:0ZCTZE5+] >>932 DXってのはDXライブラリのことを指してるのかな? DXライブラリ自体は画像の描画や音楽の再生、キー操作の取得なんかを簡単にできるものだと思えばいい。 リファレンスを読めばわかるから、書籍など全く必要ない。 問題は各ゲーム(シューティング、横スクロールアクション、落ち物、パズル、etc...)の構造なんだけど、 この辺は当然ながら言語もDXライブラリも全く関係ないから、ひたすらググればいいと思う。 もちろんシューティングに特化した書籍なんかも売ってるとは思うから、 どうしても本がいいならそういうのを買えばいいと思うよ。
940 名前:名前は開発中のものです。 mailto:sage [2012/05/30(水) 23:01:39.68 ID:sRt+VGOO] 【ゲームバグ集】私達の知ってるゲームとは違う【吹いたら負け】 www.youtube.com/watch?v=kN29n-Gnv6A&feature=related これ見るとゲームのバグのほとんどが地形かキャラ同士の変な判定でめり込むことによって起きてるんだね 横アクションを作るとき注意ですね
941 名前:名前は開発中のものです。 mailto:sage [2012/05/30(水) 23:29:00.29 ID:RKMJ5hGw] 勢い良くぶつかったら吹っ飛んだとか、 しゃがみジャンプで天井ぶつかったら吹っ飛んだとか、 ブロックとブロックの間に挟まって吹っ飛んだとか、 よくある光景ですよね
942 名前:名前は開発中のものです。 mailto:sage [2012/05/30(水) 23:38:12.13 ID:0DxYP3XJ] 敵とブロックに挟まれたと思ったらキャラが消えたとか
943 名前:名前は開発中のものです。 mailto:sage [2012/05/31(木) 00:16:28.28 ID:X2kmab9H] それは大統領
944 名前:名前は開発中のものです。 mailto:sage [2012/05/31(木) 05:19:34.98 ID:LR2h9MNT] いつのまにか3.08aが出ていたのね
945 名前:名前は開発中のものです。 mailto:sage [2012/05/31(木) 07:52:32.75 ID:AnVA06dY] 前回からの違いは主に3D関係か
946 名前:名前は開発中のものです。 mailto:sage [2012/05/31(木) 08:24:03.27 ID:xNmKjSKJ] SetBlendGraphParamが便利そう
947 名前:名前は開発中のものです。 mailto:sage [2012/05/31(木) 12:26:15.74 ID:vux5Qb/R] まだリファレンスに反映してない?
948 名前:名前は開発中のものです。 [2012/05/31(木) 14:24:38.29 ID:LR2h9MNT] 3.08a で x64 のプログラムをビルド出来た Release だと駄目みたいだけど
949 名前:名前は開発中のものです。 mailto:sage [2012/05/31(木) 14:59:29.76 ID:AjXSR+Ss] x64のメリットはなに? スピードは同じでメモリがいっぱいとれるとかかな?
950 名前:名前は開発中のものです。 mailto:sage [2012/05/31(木) 15:35:46.17 ID:WauJ0XKH] X
951 名前:名前は開発中のものです。 mailto:sage [2012/05/31(木) 18:52:53.60 ID:M5YppKNB] VirtualAllocでも使わないとメモリーはいっぱい取れないな
952 名前:名前は開発中のものです。 mailto:sage [2012/05/31(木) 20:19:50.42 ID:qSE9w4FD] プレイヤーの最低動作環境がメモリ4GBを超える場合だろ。 超広大なシムシティでも作るのか?
953 名前:名前は開発中のものです。 mailto:sage [2012/05/31(木) 23:26:55.30 ID:aJXCPyxU] x64の環境なら、x64で動かしたいと考えるのは自然かもしれない
954 名前:名前は開発中のものです。 mailto:sage [2012/06/01(金) 00:54:10.39 ID:2QrPWAJY] 周辺機器とかソフトとか全部x64対応してないとダメなんだっけ
955 名前:名前は開発中のものです。 mailto:sage [2012/06/01(金) 12:25:56.05 ID:MdBdhEQE] >>952 マインクラフトみたいなマップで 1ブロック4byte 256*256*256*4で65M 1Gで16マップ分4Gで64マップ分 使おうと思ったらすぐじゃね?
956 名前:名前は開発中のものです。 mailto:sage [2012/06/01(金) 13:02:28.40 ID:xFvEu29T] マイクラならプレイヤーの周辺だけマップが読み込めてれば良いんだし、 その64マップ分をメモリに展開しておく理由がないだろう
957 名前:名前は開発中のものです。 mailto:sage [2012/06/01(金) 14:29:24.03 ID:t4LYu1LP] 多くのSLGは遅延ロードで済むようにゲーム側の仕様を工夫しているな。 リアルタイムに全タイルを更新するとしたらCPUもハイスペック、 マルチスレッドで効率を落とさないゲーム仕様に工夫する必要がある。
958 名前:名前は開発中のものです。 mailto:sage [2012/06/03(日) 19:27:01.91 ID:ErglFbvU] 64bitOS使ってるとデバッグ実行の起動時と終了時がx64の方がスムーズ 俺はそれだけの為にx64lib使ってる んで配布するときはx86libでビルド
959 名前:名前は開発中のものです。 mailto:sage [2012/06/05(火) 08:00:34.11 ID:5hghPcJi] DXライブラリはいいけど本体のC++の方で詰んでワロタ
960 名前:名前は開発中のものです。 mailto:sage [2012/06/05(火) 08:03:10.54 ID:pHV+t2m+] C++なんて関数の途中で変数宣言できるCとして使ってりゃいいんだよ
961 名前:名前は開発中のものです。 mailto:sage [2012/06/05(火) 12:59:37.44 ID:s+a7RtxR] いわゆるbetter Cか。 C99未対応でも、//のコメントアウトやら関数途中での変数宣言が出来るコンパイラは多いけどね・
962 名前:名前は開発中のものです。 mailto:sage [2012/06/05(火) 17:33:28.60 ID:NAR8NRh/] DrawStringって変数使えないんだね 使えるのはFormatの方だけか
963 名前:名前は開発中のものです。 mailto:sage [2012/06/05(火) 21:43:16.29 ID:rfga7AAZ] えっと思ってソース検索してみたが、変数使えてるお std::stringの変数に代入して、c_str()メソッドで使ってる
964 名前:名前は開発中のものです。 mailto:sage [2012/06/05(火) 22:32:10.63 ID:rQvv9pU4] マジかー でも分かりやすいし俺はFormatだけでいいや…
965 名前:名前は開発中のものです。 mailto:sage [2012/06/07(木) 06:57:25.54 ID:/OyZ/OLF] 文字を3Dモデルにして表示してくれる関数があれば絵が描けないのをごまかせるのに
966 名前:名前は開発中のものです。 mailto:sage [2012/06/07(木) 07:51:26.78 ID:Jv6ss4Bc] 要望送ればいいんじゃね?
967 名前:名前は開発中のものです。 mailto:sage [2012/06/07(木) 10:48:51.49 ID:BJcvBZeM] Direct3Dにあるやつなら簡単に追加できそうだけどな。
968 名前:名前は開発中のものです。 mailto:sage [2012/06/07(木) 21:30:58.85 ID:Kz7+CKZO] そういう外部ツール作って画像にしちゃうほうが加工とかもできていい気がする
969 名前:名前は開発中のものです。 mailto:sage [2012/06/07(木) 21:34:42.53 ID:Krec27v1] DXライブラリで攻撃する時の剣のエフェクト作りたいんだけど、 三日月作って表示するだけでいいのかな?外側にいくほど透明度を高くしたい 事前加工とか必要だろうか
970 名前:名前は開発中のものです。 mailto:sage [2012/06/07(木) 21:47:47.85 ID:+N/ekzeb] DXライブラリ使うならDirectXのSDKは入れなくていいんですか?
971 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 03:14:22.43 ID:9m0hwklY] >>970 DirectX SDKはいらない。
972 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 07:58:58.18 ID:q3HoT9+Z] >>969 透明にするのは内側じゃね?
973 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 12:17:16.75 ID:DZv8KWRM] 内側だと東方の穴あき弾みたいになるだろ
974 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 13:04:25.61 ID:c9EZhUJi] どうでもええがなw 本人の好きにさせれば。
975 名前:972 mailto:sage [2012/06/08(金) 14:04:03.64 ID:q3HoT9+Z] 東方は分からんのだ、申し訳ない。 どういうエフェクトを想定しているかで、三日月の内側と外側のどちらを透明にするか決まるのかもしれない。 gmdev.xrea.jp/st/up/775.jpg そういえばそろそろ次スレか。
976 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 14:48:43.82 ID:j/2x2bX+] アルファチャンネル付きの画像を用意するか、諦めて手抜き
977 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 16:39:50.77 ID:SmPCWrti] 俺ならエフェクトを何重かに重ねるかな。
978 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 17:13:50.81 ID:T8O66D4g] 透明度50%の画像を10%ずつ小さくして5枚重ねるとそれっぽいよね あとはレベル補正でなんとかなるかな?
979 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 17:28:02.08 ID:vKWIOWMy] フォトショ
980 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 21:34:17.48 ID:zMZgxXcw] >>975 そういう内側なのか ドーナツ状にする方かと思ってた
981 名前:名前は開発中のものです。 [2012/06/09(土) 02:23:31.12 ID:PDT8+LE/] DXライブラリって物理エンジンも積んでないんでしょ。 しょっぼー。しょぼしょぼりんwwww
982 名前:名前は開発中のものです。 mailto:sage [2012/06/09(土) 08:23:21.97 ID:vgner5vs] でっけー釣り針だなおいwwww
983 名前:名前は開発中のものです。 mailto:sage [2012/06/09(土) 12:51:13.15 ID:dFKH+tB5] 物理エンジンを使わないゲームすら作れないので問題ない
984 名前:名前は開発中のものです。 mailto:sage [2012/06/09(土) 12:53:12.28 ID:0k6AwNTO] むしろDxLib側のBulletは使わず自前ビルドしたもの使ってる
985 名前:名前は開発中のものです。 mailto:sage [2012/06/09(土) 14:41:45.94 ID:x2dTOO+E] 自分はBox2D積んでるなー。C++用じゃないけど日本語資料多くて助かる。
986 名前:名前は開発中のものです。 mailto:sage [2012/06/09(土) 17:08:19.76 ID:6h//v8O2] マルチメディアとそれ以外(圧縮ファイルとか物理エンジン)は 別ライブラリで分けても良さそうだけどね。
987 名前:名前は開発中のものです。 mailto:sage [2012/06/10(日) 12:46:20.13 ID:ER7Sq7YO] マップエディターを作ってたんですけどできたマップが1280*480で SaveDrawScreenを使って640*480の2枚の画像にしてるのですが この画像を1枚にあわせて保存するにはどうすればいいでしょうか 毎回ペイント開いて合わせるのもなんか気持ちよくないので
988 名前:名前は開発中のものです。 mailto:sage [2012/06/10(日) 12:50:20.86 ID:2yVVzMFu] できたマップが1280*480ならいいじゃん
989 名前:名前は開発中のものです。 mailto:sage [2012/06/10(日) 13:18:42.73 ID:lZ191AJm] そのマップエディタが、マップチップ並べる方法のものなら、 二次元配列にそれぞれのマップチップの情報を記録すれば済みそうな物だけど (1マップチップのサイズが40*40なら、640*480が[16][12]の、1280*480が[32][24]の配列になる)、 画像ファイルで保存する方がやりやすい方法にしてるの?
990 名前:名前は開発中のものです。 mailto:sage [2012/06/10(日) 13:52:35.29 ID:ER7Sq7YO] >>989 マップチップを並べる方法です チームで製作しているのですがお互いまだ慣れておらず絵の担当さんから頂いた画像が細かい座標調整が必要でした そのためマップエディターで良い感じの位置に調整してスクリーンショットを取る方法にしようと思い至りました
991 名前:名前は開発中のものです。 mailto:sage [2012/06/10(日) 15:10:48.73 ID:ER7Sq7YO] 探し回っていたら同じような質問を発見して無事解決できました ありがとうございました ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=past&no=471
992 名前:名前は開発中のものです。 mailto:sage [2012/06/10(日) 21:09:31.17 ID:2yVVzMFu] パッドでキー入力を一回だけ判定させる方法ってみんなどうやってる? 1F前のキーをとっておいて判定する方法にしようかと思ってるんだが
993 名前:名前は開発中のものです。 mailto:sage [2012/06/10(日) 21:18:35.76 ID:SZ2/XFTS] それでいいと思う。 ついでに押してる長さとかも一緒に数回分の入力履歴をとっておくようにしたら 今は役に立たなくても、今後使えるようになるかもしれない。 (格闘ゲームのコマンド入力みたいに)
994 名前:名前は開発中のものです。 mailto:sage [2012/06/10(日) 22:08:56.34 ID:/6oGWGHY] 俺はパッドデータ保存・判定クラスを作った。 まず、用途をはっきりさせて、次に、それに合うデータ保存形式を決めた。 あとは、毎フレームで、保存メソッドを呼び出し、データを保存。 判定したい場所で、判定メソッドを呼び出し、保存データを元に判定。 俺の場合はキーリピート的なものが欲しかったので、 ボタンごとに、押しっぱなしになってから何フレ経過しているかをデータで保存するようにした。 保存メソッドでそれを保存。 判定メソッドでは保存したデータを元に、リピート発生の有無などを算出。 流用とか変更がしやすいから楽だったな。
995 名前:名前は開発中のものです。 mailto:sage [2012/06/10(日) 22:12:04.25 ID:1lLcj/tG] elのキー入力を参考にしてる getkeystate?をDxLibのものに変えて ttp://ponk.jp/cpp/el/
996 名前:名前は開発中のものです。 mailto:sage [2012/06/10(日) 23:59:50.33 ID:lj7hTC+Q] 自分も>994に似た感じだなー。むしろ俺いつの間に書きこんだんだ?くらい。 ところで次スレ立てないとやばい。が、俺は弾かれたので、テンプレだけ貼っとく。誰か頼む。 ---- Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、 「DXライブラリ」に関するスレッドです。 DXライブラリに関するテクニックなどの情報交換などを行う事で、 多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。 【公式】 homepage2.nifty.com/natupaji/DxLib/ 【前スレ】 DXライブラリ 総合スレッド その12 toro.2ch.net/test/read.cgi/gamedev/1330000532/ 【過去スレ】 01 pc11.2ch.net/test/read.cgi/gamedev/1197468399/ 02 pc11.2ch.net/test/read.cgi/gamedev/1224923873/ 03 pc11.2ch.net/test/read.cgi/gamedev/1238429676/ 04 pc11.2ch.net/test/read.cgi/gamedev/1249822550/ 05 pc11.2ch.net/test/read.cgi/gamedev/1259912953/ 06 hibari.2ch.net/test/read.cgi/gamedev/1267108154/ 07 hibari.2ch.net/test/read.cgi/gamedev/1286180687/ 08 hibari.2ch.net/test/read.cgi/gamedev/1301818631/ 09 hibari.2ch.net/test/read.cgi/gamedev/1310904069/ 10 hibari.2ch.net/test/read.cgi/gamedev/1313655495/ 11 toro.2ch.net/test/read.cgi/gamedev/1322844235/ 【関連スレ】 C/C++ゲーム製作総合スレッド Part1 toro.2ch.net/test/read.cgi/gamedev/1337516528/
997 名前:名前は開発中のものです。 mailto:sage [2012/06/11(月) 00:13:05.05 ID:vfjk5rjT] 押したキーと押したフレーム数だと 同時押しとか対応できなくない? AとBを押して2秒、とか
998 名前:名前は開発中のものです。 mailto:sage [2012/06/11(月) 01:25:16.17 ID:t2KXIcta] そんな特殊な入力判定必要になったことないからわかんない。
999 名前:名前は開発中のものです。 mailto:sage [2012/06/11(月) 01:36:44.56 ID:KU83wIZ2] ソース書いてみなよ。ここに
1000 名前:名前は開発中のものです。 [2012/06/11(月) 02:09:46.59 ID:t30FF6fH] 、ゞヾ'""''ソ;μ, ヾ (●) (●)彡 ミ " □ " ミ クワッ! 彡 ミ /ソ,, , ,; ,;;:、ヾ` "'"'"
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。