DXライブラリ 総合スレッド その3
レス数が1000を超えています。これ以上書き込みはできません。
0001名前は開発中のものです。
2009/03/31(火) 01:14:36ID:IgyJcgapGUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。
DXライブラリの詳細ついては
http://homepage2.nifty.com/natupaji/DxLib/
を参照して頂きたい。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
過去スレ:DXライブラリ 総合スレッド
http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
http://pc11.2ch.net/test/read.cgi/gamedev/1224923873/
0002テンプレ
2009/03/31(火) 02:12:19ID:kzwE1qo1質問はその言語の初心者質問スレで。
教えたがりの中級者も極力答えないように。
0003名前は開発中のものです。
2009/03/31(火) 02:54:13ID:9fS7KbI9次スレがないのに埋めるなボケ
0004名前は開発中のものです。
2009/03/31(火) 06:34:45ID:JAbAC3OdSTLを質問するのは確かにスレ違いではあるが、
それを言うのなら以前のコンストラクタ処理の話だって、float/doubleの話だってもスレ違いとなってしまうだろうに。
さらに言うと、あたり判定の作り方や、マップチップの表示の仕方やFPS管理の仕方などもゲーム製作に必要な知識が、DXライブラリと直接関係無いとぶった切られてしまうよね。
本当にDXライブラリ関数の使い方"だけ"しか質問できなくなってしまう過疎スレにしたいん?
俺は、DXライブラリを使ってゲーム製作をしている人たちによるゲーム製作全般における質問もアリだとおもうのだが。
あくまでDXライブラリ利用前提でどう実装すべきなのか話を進めたい時も多いだろうし。
0005名前は開発中のものです。
2009/03/31(火) 06:38:14ID:I+gLZXeE俺も同意だよ。
特に最後の2行のためのスレだと思ってたけど…。
DXライブラリ関数の使い方だけの質問スレだったら公式BBSの方が的確だしね。
結局このスレ、「公式行け」だけになっちゃう。
0006名前は開発中のものです。
2009/03/31(火) 07:47:10ID:rSL6H2VD0007名前は開発中のものです。
2009/03/31(火) 09:32:48ID:6nFXdL0R0008名前は開発中のものです。
2009/03/31(火) 09:46:42ID:IkcCkAe5前スレのlist君が異常だっただけ。
0009名前は開発中のものです。
2009/03/31(火) 12:42:37ID:VlKogdKMお前らは公式で質問してろよ
なんで質問する事前提になってるんだ
0010名前は開発中のものです。
2009/03/31(火) 12:53:06ID:uUlB7HHuじゃあ質問じゃないネタ提供よろしく
0011名前は開発中のものです。
2009/03/31(火) 12:54:18ID:6nFXdL0R具体的にどう異常だった?
0012名前は開発中のものです。
2009/03/31(火) 14:13:05ID:IkcCkAe5前スレ少しでも見れば分かる程度のことだけど。
見た上で聞いてるなら、君やlistくんが全て正しいってことでいい。
0013名前は開発中のものです。
2009/03/31(火) 15:36:27ID:EoCekJlW0014名前は開発中のものです。
2009/03/31(火) 16:31:47ID:IkcCkAe5俺は知識披露してた年寄(ID:8c8Vy+u+、ID:wJL07IJT )のことを言ってるんだが。
前>>920を見てlist君という表現を使った。紛らわしかったならすまん。
0015名前は開発中のものです。
2009/03/31(火) 18:20:23ID:3yX1QyX+アフォBlog C言語勉強したけどゲーム作れないぞコラって人向けに
http://afoafodayo.blog84.fc2.com/blog-entry-549.html
やっとみつけた
はてなブックマークの検索性の悪さは異常・・・
0016名前は開発中のものです。
2009/03/31(火) 18:54:09ID:I/qO2uGslist君と呼ばれたびっくりした。自分が年寄りの老害です。
知識披露するにも前>>920は、前>>916で聞かれたから素直に答えただけで……。
長文が目についてウザいのは判るが、聞かれたことに答えてるだけで話題は(自分からは)逸脱してないとおもうけどなあ。
自称中級者が懇切丁寧に説明するのはこのスレじゃアウトなん?
正直叩かれるのにビックリだ。
0017名前は開発中のものです。
2009/03/31(火) 19:04:48ID:clln3x8F0018名前は開発中のものです。
2009/03/31(火) 19:11:27ID:EoCekJlWなぜそこまで否定するのかが解らない。
普段ならスルーされる程度の話題だと思うんだけど。
0019名前は開発中のものです。
2009/03/31(火) 20:47:39ID:Ad7RXl/Lスレ立てじゃない>2が勝手にテンプレとか言って持ち越しにしただけ。
0020名前は開発中のものです。
2009/03/31(火) 21:13:43ID:Es/JEStY0021名前は開発中のものです。
2009/03/31(火) 22:29:49ID:9fS7KbI9--
Cを習得した程度のスキルでも、
GUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
【公式】
http://homepage2.nifty.com/natupaji/DxLib/
【過去スレ】
DXライブラリ 総合スレッド
http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
http://pc11.2ch.net/test/read.cgi/gamedev/1224923873/
DXライブラリ 総合スレッド その3
http://pc11.2ch.net/test/read.cgi/gamedev/1238429676/
0022名前は開発中のものです。
2009/03/31(火) 23:50:48ID:yOP/w+uJ0023名前は開発中のものです。
2009/04/01(水) 02:25:50ID:fUEkL36W気にしなくていいと思うよ。
ためになるレスだったし、スレ違いでもなんでもないと思うよ。
DXライブラリを取り巻く事って、ゲーム作りのちょっとしたTIPSなんかも含むと思うし、
それにまつわる雑談なんかもいいと思うよ。
それこそDXライブラリ限定だとしたら公式がある限り誰もこのスレを使う必要ないしね。
0024名前は開発中のものです。
2009/04/01(水) 07:29:47ID:99TD3Xseせっかく教えていただいた知識も役立ててませんけどね……。
ああ、でもクラスは勉強して使ってみました。けど三行目がさっぱりわからず
結局1フレームに一回、自前でソートさせてます。
0025名前は開発中のものです。
2009/04/01(水) 07:29:56ID:zX+vyCNMあんた最高にかっこいいぜ。
0026名前は開発中のものです。
2009/04/01(水) 09:02:30ID:k4OaMNtU正直に言えよおまいら
0027名前は開発中のものです。
2009/04/01(水) 17:21:42ID:BYfton9F0028名前は開発中のものです。
2009/04/01(水) 17:31:54ID:WMtkg65dup or downのゲーム を日本語で説明する文章を書きます。
0029名前は開発中のものです。
2009/04/01(水) 18:01:07ID:BYfton9F勝率と敗北率がお互い50%絶対超えないし、引き分け率も0.074-0.075の間いったり来たり。
数学やっぱ楽しいです^p^
0030名前は開発中のものです。
2009/04/01(水) 18:22:56ID:iMcacUMwグー チョキ パーの画像作って
じゃんけんぽい ズコ!ってゲームつくるんだ
0031名前は開発中のものです。
2009/04/01(水) 18:30:15ID:OtGOIqcOも必要ではなかろうか
0032名前は開発中のものです。
2009/04/01(水) 18:43:39ID:hayLCRBv>...COMING SOON
>なんか新聞社を敵に回してしまったかもしれません。あのサイトに数日前に導入した機能が・・・なにかあったらなにかあったと思ってください
何があったんだJEX氏
0033名前は開発中のものです。
2009/04/01(水) 20:24:21ID:BYfton9Fもっと良いプログラム組めるようになりてぇ
次はじゃんけんゲームでも作ってみるか
0034名前は開発中のものです。
2009/04/01(水) 20:45:45ID:LaqgGHZHあの、、、1点だけ失礼します。
×確立
○確率
0035名前は開発中のものです。
2009/04/01(水) 22:03:55ID:iMcacUMwおっとIMEの悪口はそこまでだ
0036名前は開発中のものです。
2009/04/01(水) 23:29:46ID:BYfton9F0037名前は開発中のものです。
2009/04/02(木) 00:11:44ID:CktrGb4U本当にIMEたんのこと想っているなら、誤変換をIMEたんのせいにしないであげて。
0038名前は開発中のものです。
2009/04/02(木) 17:53:48ID:QCCv4XDG数字で内部判定すれば自力抽選みたいなことができる
子供のころあったゲーセンのメダルゲームのジャンケンマン初期のやつは
またコレがとんでもない上記のプログラムをさらに単純にしたプログラムで
なんとデモ画面のグーチョキパーの動きで勝率8割まで攻略可能だったという
(8割というのは10円いれる時の物理的なタイミングの誤差。よく10円つまるしww)
http://dgm.hmc6.net/museum/jyankenman.html
0039名前は開発中のものです。
2009/04/02(木) 22:59:56ID:fVGveLIS0040名前は開発中のものです。
2009/04/02(木) 23:26:05ID:QVNrnR8y0041名前は開発中のものです。
2009/04/02(木) 23:49:51ID:libAlu/0いつも判断つかないんだが、何か良い方法は無いだろうか。
0042名前は開発中のものです。
2009/04/02(木) 23:53:46ID:fVGveLIS概出と違って。
0043名前は開発中のものです。
2009/04/03(金) 00:05:19ID:XCYlTU58そうか、あれってマジなのか。
なんだか見るたびに変な応酬があって、うんざりしてたんだ。
0044名前は開発中のものです。
2009/04/03(金) 00:16:55ID:jC+E2iBn0045名前は開発中のものです。
2009/04/03(金) 02:10:31ID:7QUZderU0046名前は開発中のものです。
2009/04/03(金) 02:11:05ID:jC+E2iBn0047名前は開発中のものです。
2009/04/03(金) 16:55:04ID:GX2/ISHC0048名前は開発中のものです。
2009/04/03(金) 18:32:18ID:1bPcLAM20049名前は開発中のものです。
2009/04/03(金) 18:37:35ID:UxNIEp1w0050名前は開発中のものです。
2009/04/03(金) 19:01:42ID:sN5oQCLD依然、何も無し。。。
0051名前は開発中のものです。
2009/04/03(金) 20:16:20ID:s4gdwShB0052名前は開発中のものです。
2009/04/03(金) 20:20:44ID:bOoPhqNd0053名前は開発中のものです。
2009/04/03(金) 20:21:34ID:B6jkiksS統合環境無くても、bcc.exeの代わりにcl.exe使えばいいんじゃない?
0054名前は開発中のものです。
2009/04/03(金) 20:23:00ID:DsLE17Ac0055名前は開発中のものです。
2009/04/03(金) 20:24:44ID:B6jkiksS>>45を読んでくれ
0056名前は開発中のものです。
2009/04/03(金) 22:33:16ID:jC+E2iBnVCでDXライブラリ使っているとインテリセンスが働かなくて不便だなと感じるようになった。
自分で関数やクラスを作るようになってからは。
0057名前は開発中のものです。
2009/04/03(金) 23:17:11ID:XCYlTU58当時使ってたのがVC6だから、出来るかどうかは分からないが。
DXライブラリのソースを読み込む(コンパイルも?)と、内部用の辞書ファイルが生成される。
その辞書ファイルを、自分のプロジェクトのところにコピペ(上書き)。
こうすることでDXライブラリの関数群も、インテリセンスが使えたと思う。
もちろん自前の関数も問題なく使える。
辞書ファイルの拡張子はncbとかだったと思うが自信は無い。
0058名前は開発中のものです。
2009/04/03(金) 23:45:57ID:jC+E2iBnthx
ちょっと試してみる
0059名前は開発中のものです。
2009/04/04(土) 00:30:58ID:zQfs6Ss5もちろん働かないときもあるけどそれはVC++の気分次第っていうのはちょっとした常識じゃない?
そういう時は何も考えずにまずncb消す。
0060名前は開発中のものです。
2009/04/04(土) 00:34:18ID:MwhC2F5hVC2003だからかな。
2008の無料の奴に替えよかな
0061名前は開発中のものです。
2009/04/04(土) 00:38:22ID:bhHC3g+R0062名前は開発中のものです。
2009/04/04(土) 03:27:09ID:zQfs6Ss5VC++のインテリセンスに関してはあまり期待しないっていうのが普通じゃないかな。
2010ではインテリセンスも含めてVC++とかMFCにも力入れるみたいだね。(2008SP1もMFCに力入れてきたし)
だから多分2003から2008にしても変わらないと思うよ。
まあまずは終了させてncb消して起動しなおしてごらん。
0063名前は開発中のものです。
2009/04/04(土) 03:43:24ID:NVBO+V4R知ったかぶり乙
0064名前は開発中のものです。
2009/04/04(土) 08:27:41ID:zQfs6Ss5知ってるなら教えてあげなよ。
俺は経験談と知ってる範囲で答えたまで。
0065名前は開発中のものです。
2009/04/04(土) 09:53:30ID:eurKE9M40066名前は開発中のものです。
2009/04/04(土) 13:21:59ID:NVBO+V4RVS2005からヘッダに書いてあるだけでインテリセンスが効く
59の書き込みでインテリセンス効くって書いてあるんだから
確かめもせずに「多分」程度の確証で他人の書き込みを否定するのってどうよ?
0067名前は開発中のものです。
2009/04/04(土) 13:27:27ID:NVBO+V4R・VC6〜VC2003 ヘッダに書いてあるだけじゃインテリセンス効かない
・VC2005〜 ヘッダに書いてあるだけでインテリセンス効く
0068名前は開発中のものです。
2009/04/04(土) 13:54:17ID:2TEB3sSo0069名前は開発中のものです。
2009/04/05(日) 17:39:32ID:8VF6BH4E実装ほうほうがさっぱりなのですが……。
ランダムに画像を表示させても少しも雪っぽくなりませんでした……。
0070名前は開発中のものです。
2009/04/05(日) 18:09:44ID:oraQAGe0サンプルプログラムのパーティクル基本が参考になると思われ。
0071名前は開発中のものです。
2009/04/05(日) 18:12:03ID:8VF6BH4Eありがとうございます!
0072名前は開発中のものです。
2009/04/05(日) 21:16:09ID:ey93yQqEttp://toku.xdisc.net/cgi/up2/oiu/xs8571.zip
自分のプログラムに組み込むついでにやってみた
0073名前は開発中のものです。
2009/04/05(日) 21:26:22ID:jzXObq/Y降ってる最中に移動量や方向は変わらないのか。
透明度が変わるのは面白いな。
あとたまに、真横や上方向に雪が飛んでくんだがw
0074名前は開発中のものです。
2009/04/05(日) 21:49:08ID:8VF6BH4Eおおサンクス。
C#使ってるからそのまま使えないのが残念……。
つかこれ勝手に使って良い?
0075名前は開発中のものです。
2009/04/05(日) 22:41:49ID:ey93yQqE変な方向に行くのは元のアルゴリズムが花びらだった名残だったり
>>74
どうぞ
0076名前は開発中のものです。
2009/04/05(日) 22:53:50ID:HuaUBP84綺麗だなぁ。
横だが自分も使わせて貰う。
0077名前は開発中のものです。
2009/04/05(日) 23:24:32ID:8VF6BH4Ethx!
0078名前は開発中のものです。
2009/04/11(土) 23:15:22ID:wcB4somL次はシェーダーについて学ぼう
0079名前は開発中のものです。
2009/04/12(日) 16:12:18ID:/tRhsb/ahttp://dixq.net/g/#s5
↑これ導入しても無理だった
0080名前は開発中のものです。
2009/04/12(日) 17:11:30ID:lSUbUSsj0081名前は開発中のものです。
2009/04/12(日) 17:13:14ID:mpmptjcJてかScreenFlipが重いなんて話あったっけ?
単に君の作ってるプログラムが遅くて、60FPSを保ててないのに
垂直同期信号待ちをさせたままって話じゃなくて?
0082名前は開発中のものです。
2009/04/12(日) 17:17:52ID:XXYdX/zb0083名前は開発中のものです。
2009/04/12(日) 17:40:07ID:29TC1pPK0084名前は開発中のものです。
2009/04/12(日) 17:49:43ID:9LgVxSaT実行ファイルのプロパティ開いて、「互換性」→「WindowsXP SP2互換」にチェックを入れてみる。
もしかしたら幸せになれるかもしれない。
0085名前は開発中のものです。
2009/04/12(日) 17:53:25ID:43thkbhn遅くするための処理を導入して重くなったとはどういうことなんだ?
0086名前は開発中のものです。
2009/04/12(日) 19:31:53ID:4cs7HNP3たぶん初心者っぽいからこんなことをあえて言うけど
まずリフレッシュレートとプログラムのfpsを比較しないとね
0087名前は開発中のものです。
2009/04/13(月) 00:15:55ID:GN8f0M0n0088名前は開発中のものです。
2009/04/15(水) 15:18:06ID:I8P/Rh48あのコード量を移植するのは並大抵じゃないとおもうが、作者ガンバレ!
0089名前は開発中のものです。
2009/04/15(水) 16:13:43ID:3g1BJoyHPen4 の 1.6GHz だけど
0090名前は開発中のものです。
2009/04/15(水) 16:37:47ID:I8P/Rh48CPUが100%になるのがいやならVsync待ちを切ればいい。(ティアリングが発生するし、ゲームの速度も変わってしまう)
正しい設計はVsync待ちは有効で、なおかつFPS管理をし60fpsになるようにフレーム毎に適度にsleepを入れること。
0091名前は開発中のものです。
2009/04/15(水) 18:32:01ID:lTpXHjBQ0092名前は開発中のものです。
2009/04/15(水) 20:06:35ID:OTuGa66kモニタのリフレッシュレートが60でない時はどうなるのかな。
0093名前は開発中のものです。
2009/04/15(水) 20:43:14ID:1cQMYjlB>前回の ScreenFlip から 10ミリ秒以下しか時間が経過していない場合のみ Sleep で処理を一時停止するようにしています
>>92
60fpsになるように管理してるんだから60fpsになるだろーがw
0094名前は開発中のものです。
2009/04/15(水) 21:18:20ID:I8P/Rh48フルスクリーンにできる or デフォルトのリフレッシュレートが50 であるのであれば、Vsync有効。
ウィンドウモードでリフレッシュレートが60以外の場合は、ティアリングを犠牲にしてVsync切る。
(ウィンドウモードで垂直同期に合わせてしまうとティアリングの線が毎フレーム同じようなところにできてしまって、逆にきたなくなってしまう)
現状、DirectX7ベースのDXライブラリではウィンドウモードでのVsync無効だから、どうしようもないぜ。
0095名前は開発中のものです。
2009/04/15(水) 21:20:12ID:I8P/Rh48あと、50じゃなくて60。
0096名前は開発中のものです。
2009/04/15(水) 21:20:56ID:lTpXHjBQ0097名前は開発中のものです。
2009/04/15(水) 21:21:42ID:lTpXHjBQ0098名前は開発中のものです。
2009/04/15(水) 21:43:40ID:OTuGa66kだからどう管理するのかなーと。
単純に「1/60秒 - 前回のScreenFlipから経過した時間」でSleepかけると
モニタのリフレッシュレートが70の時、いざScreenFlipしようとした時には
すでに1フレーム経過しちゃうんだから、次のVsync信号待ちまで待っちゃうよね。
そしたら1フレーム 2/70 秒になって 35FPSって事なっちゃうのでは。
いや、当然こんな事解決する方法はあるんだろうけど
俺の頭じゃ難しくて。
0099名前は開発中のものです。
2009/04/16(木) 02:52:38ID:12a1chsH>ウィンドウモードでのVsync無効だから
って言われるけどウィンドウモードで、どう見てもScreenFlipでVsync待った方が明らかにティアリングなしできれいなんだがなぜ?
リフレッシュレートを変えても同じ。
ただ、fps調整無しでリフレッシュレートのfpsになるように単純にVsyncを待った場合、
ウィンドウモードよりフルスクリーンの方が明らかに滑らか(高fps)を体感できる。もうよくわかんない。
0100名前は開発中のものです。
2009/04/16(木) 02:58:08ID:uc3ezfKA0101名前は開発中のものです。
2009/04/16(木) 05:02:47ID:XS+5u9bOOSはVistaかい?
VistaだとDesktopWindowManagerが自動でティアリング防止するように描画順を待機するようになるからティアリング無いかもね。(未検証でゴメン)
詳しくはここ。http://d.hatena.ne.jp/enra/20081014#p2
で、XPでDirectX7環境だとティアリングが発生します。でもXPでもDirectX9が検出できた場合に限ってScreenFlipで垂直同期待ちになる模様。
(もしくはティアリングが発生していても、線がウィンドウの領域と被ってないので見えてないだけかもしれない)
0102名前は開発中のものです。
2009/04/16(木) 05:18:57ID:WR6HuXg0なるほどなるほど
VSync まちでいろいろやってるループより sleep の方が軽いのは当然てことか
0103名前は開発中のものです。
2009/04/16(木) 05:27:06ID:12a1chsH2000/XPです。
下方向に高速スクロールする画面で、Vsync同期/非同期を切り替えられるようにしてます。
明らかに違いが出てきますね。
ティアリングに敏感な人なら確実に分かると思います。
同期してないとガリガリしてるような気がします。
でも、フルスクリーンの方がさら〜って感じでさらにきれいに見えるのも謎。
60Hzと70Hzじゃ描画回数が違うので当然なんだけど。(見た目にも描画回数が多いのがはっきりわかる)
でもこれはウィンドウモードとフルスクリーンじゃ絵柄自体の大きさが違うので錯覚してるだけかも。
>でもXPでもDirectX9が検出できた場合に限ってScreenFlipで垂直同期待ちになる模様。
これはかなり興味深いですね。初めて聞きました。
ウィンドウモードでも間違いなく同期してると思ってる派なので調べてみます。
0104名前は開発中のものです。
2009/04/16(木) 15:55:17ID:U7PVHoMj>70の時は1/70だから1/60よりも速いからその分だけ待てばいいのでは
そしたら70FPSになるんじゃないか。
70FPSは60FPSより1秒間に10フレーム多い事になるから、
6フレームごとに1回、空待ちさせれば60FPSを実現させる事はできるけど、
ゲームの処理時間が、「60FPSだと余裕があるが、70FPSだと足りない」
って時に処理落ちがひどくなる。
0105名前は開発中のものです。
2009/04/16(木) 19:22:11ID:/YbqE5Rhって本に間違いってないですか?
何度書き直しても、サンプルプログラムにエラーが発生します
(P118です)
0106名前は開発中のものです。
2009/04/16(木) 19:37:00ID:D5YSrYi0よくわからないけど、4章-01の最後、P125まで全部入れてひとつのプログラムだぞ。
・main.cpp
・gameframe.h
・gameframe.cpp
0107名前は開発中のものです。
2009/04/16(木) 19:41:32ID:D5YSrYi0gameframe.h の先頭で、#include "DxLib.h" 宣言しておかないとむりぽ
これ、本文に書いてない。
P120上の画面写真のプログラムには、しれっと入ってるけど。
0108名前は開発中のものです。
2009/04/16(木) 20:44:04ID:uc3ezfKA0109名前は開発中のものです。
2009/04/16(木) 23:14:39ID:BmH0FmoL誤植多いそうです
0110名前は開発中のものです。
2009/04/16(木) 23:53:51ID:LfSelEBA0111名前は開発中のものです。
2009/04/17(金) 00:52:02ID:EZBCVXFEint nowtime = GetNowCount();
static int oldtime = 0;
static int frametime = 1000 / 60
int diftime = nowtime - oldtime;
while(1)
{
if(diftime >= frametime)
{
oldtime = nowtime;
break;
}
else
{
Sleep(1);
nowtime = GetNowCount();
diftime = nowtime - oldtime;
}
}
こんな感じでScreenFlip()の前に書いてみて。
今ちょっと60Hz以外選べない環境なので今は確かめられないけど、
たしか以前試したときはちゃんと60Hz以外でも60fps出てたはずだよ。
0112名前は開発中のものです。
2009/04/17(金) 05:23:57ID:WaZv4/Kc0113名前は開発中のものです。
2009/04/17(金) 05:51:08ID:Zvoaz6Vb俺もそんな気がしてきた
0114名前は開発中のものです。
2009/04/17(金) 09:10:19ID:Ulw/lN4/CPU使用率100%から0%になった/(^o^)\ナンテコッタイ
例えばタイトル画面とか即時性のない入力待ちの時って
ちょっと長めにSleep入れたりするほうがいいのかな?
20msぐらいなら問題ないのだろうか・・・
0115名前は開発中のものです。
2009/04/17(金) 09:45:55ID:0V/Re1GH>ちょっと長めにSleep入れたりするほうがいいのかな?
少なくとも俺は入れてる。
>20msぐらいなら問題ないのだろうか・・・
全然問題ないと思う。
もっと入れてもいいくらいでしょ。
実際にやってみて自分でストレス感じるなら減らせばいい。
0116名前は開発中のものです。
2009/04/17(金) 13:46:09ID:WaZv4/Kc20msぐらいなら大丈夫だけどね。
0117名前は開発中のものです。
2009/04/17(金) 16:20:15ID:Zvoaz6Vb0118名前は開発中のものです。
2009/04/17(金) 19:34:30ID:LNYxAbHWあと音楽のループ再生する時はScreenFlipを毎フレーム呼ぶ必要があるみたいだし
0119名前は開発中のものです。
2009/04/17(金) 20:21:09ID:jcPGGnUFマジサンクス
0120名前は開発中のものです。
2009/04/17(金) 20:22:40ID:xbUmRi3d0121名前は開発中のものです。
2009/04/17(金) 20:22:58ID:erDEgGZV0122名前は開発中のものです。
2009/04/17(金) 22:03:28ID:EZBCVXFE音楽再生とScreenFlipは関係ないと思うよ。
CPUが100%になるのは明らかに異常だからちゃんとProcessMessage()かSleep()出来てるか確かめた方がいいよ。
たぶんウィンドウ自体をドラッグすらままならない状態だと思うから。
OSにタスクさえ返してあげられてればCPUが多少高くても気にしなくていいと思うけどなぁ。
ゲームって常駐させたり多重起動させたりするものじゃないし。
0123名前は開発中のものです。
2009/04/17(金) 22:17:35ID:ZoeUfmZ70124118
2009/04/18(土) 02:18:14ID:k17DhjXo素で間違えてたorz
何と言う勘違い 恥ずかしい限りです しばらくROMってます
0125名前は開発中のものです。
2009/04/18(土) 21:37:09ID:okbqytId片側のディスプレイだけ明らかに画面がぼやけるんだけど
DirectXの設定かビデオカードの設定がおかしいんだよなこれ?
0126名前は開発中のものです。
2009/04/18(土) 22:23:48ID:okbqytIdSetEmurationやSetGraphModeで画面を引き延ばすと起こるっぽい
ディスプレイの設定なのかよく分からん・・・
0127名前は開発中のものです。
2009/04/19(日) 00:37:44ID:BefQR+3B同意求められても答えられる人ほとんどいないんじゃない?
0128名前は開発中のものです。
2009/04/20(月) 22:52:47ID:eX32oi4P0129名前は開発中のものです。
2009/04/21(火) 15:00:56ID:UkM4PCidScreenFlipは裏画面と表の内容を交換するで
ScreenCopyは裏画面の内容を表に上書きコピーなんだったんだなー
0130名前は開発中のものです。
2009/04/24(金) 01:45:21ID:Zjz+Ahwz0131名前は開発中のものです。
2009/04/25(土) 02:57:38ID:jgu2I7ssシャギるな。俺もだ。
設定次第ではどうにかなるのかもしれんけど。
どっちにせよわざわざウィンドウを引っ張って画面を跨らせることもなかろう。
0132名前は開発中のものです。
2009/04/27(月) 18:31:23ID:FIDn8lAk0133名前は開発中のものです。
2009/04/27(月) 21:58:22ID:z25pzrXj0134名前は開発中のものです。
2009/04/28(火) 00:04:23ID:eksjqOvu大学生が入門書に読んでちょうどいいレベルだろコレ
0135名前は開発中のものです。
2009/04/28(火) 00:10:39ID:HkJlrRjH0136名前は開発中のものです。
2009/04/28(火) 00:34:07ID:m4cMSkq6俺はBASICがせいぜいだったが、
マシン語とかやってる友人もいたし
決して無理じゃないだろう。
0137名前は開発中のものです。
2009/04/28(火) 00:45:01ID:NnZtX6wz0138名前は開発中のものです。
2009/04/28(火) 01:53:08ID:OFMPoMrl0139名前は開発中のものです。
2009/04/28(火) 08:20:28ID:6tVcbqW6簡単に作れるように自前ライブラリ用意してるけど
そのせいでDxLib関数なのか自前関数なのかごっちゃになってるし。
間に20章ぐらい入れて10本以上ゲーム作って、本の厚さが倍になってもいいぐらい。
0140名前は開発中のものです。
2009/04/28(火) 09:19:39ID:nBjz8W9Wそしたら、値段も倍になるがな
0141名前は開発中のものです。
2009/04/28(火) 10:17:56ID:eksjqOvu小学生 ゲーム遊ぶのおもしれえwww
中学生 ツクールおもしれえwww
高校生 VisualBASICとかC言語を始めるか
大学生 C++とかJAVAで2Dゲームでも作るか
20代 3Dゲーム、オンラインゲーム作るよ!
30代 何でこんな仕事を選んだんだろう……
40代 クビになった。新しい仕事探すか……
50代 息子よ。おれは昔、ゲーム開発をやっててなあ
60代 年金安いのう……
70代 孫よ。わしは昔、ゲーム開発を(ry
80代 開発の仲間……もうみんなこの世におらん……
90代 ゲーム? 何のことかいね
100代 「おじいちゃん! それはご飯じゃないよ、ゲームだよ!」
晩年 「おじいちゃんは亡くなる前に、大好きな『ハレハレユカイ』を唄っていました」
0142名前は開発中のものです。
2009/04/28(火) 10:28:58ID:FvUt88Xp0143名前は開発中のものです。
2009/04/28(火) 16:15:43ID:6TTz0S/cいまここ
0144名前は開発中のものです。
2009/04/28(火) 22:07:41ID:MfOPTYG9これいじる方法はDXライブラリには無いんですか?
0145名前は開発中のものです。
2009/04/28(火) 22:15:25ID:GpFUP3xeつSetGraphMode
0146名前は開発中のものです。
2009/04/28(火) 22:24:39ID:MfOPTYG9ありがとうorz
すみません。ウインドウモードの項ばかり探してました
0147名前は開発中のものです。
2009/04/28(火) 23:44:24ID:AAXsWLBJ0148名前は開発中のものです。
2009/04/29(水) 00:04:40ID:fznxD5WLやあ、俺
0149名前は開発中のものです。
2009/04/29(水) 00:57:49ID:8JDzhdlg何でこんな仕事を選んだんだろう……相談する同僚がいない
>30歳 ←いまここ
俺
0150名前は開発中のものです。
2009/04/29(水) 12:12:40ID:0KNrHYhz中学生 PC98買ってもらってtakeruとかでゲーム買ったりベーマガ買ってBASICで遊ぶ
高校生 女遊びでPCなんていじらない
大学生 にはならずにバイト生活。PCなんて無縁
20代 実家に帰るとWindows98とネットがあったので暇だったのでいじってみる。
ここでwebの世界やプログラミング熱再発。色々物色する。
そしてそのまま引きこもり。
30代 ←もうすぐここ
0151名前は開発中のものです。
2009/04/29(水) 12:23:18ID:Id8MNKk30152名前は開発中のものです。
2009/04/29(水) 13:15:43ID:0KNrHYhz0153名前は開発中のものです。
2009/04/29(水) 14:34:34ID:DcEbzAT60154名前は開発中のものです。
2009/04/29(水) 14:49:56ID:eqm+L+6k0155名前は開発中のものです。
2009/04/29(水) 15:17:03ID:GO8Ds4lj0156名前は開発中のものです。
2009/04/29(水) 19:22:33ID:sy8jjFeIプランナーや絵描きなどで生きられるだけの資産がなければ、そのままスクラップだ
ゲーム会社も高齢化が進んでて、新しい概念が作れなくなってきている
0157名前は開発中のものです。
2009/04/29(水) 19:25:35ID:eqm+L+6k新しい概念が作れないのはゆとりが増えたから
0158名前は開発中のものです。
2009/04/29(水) 20:32:14ID:2b50vk1R0159名前は開発中のものです。
2009/04/29(水) 21:37:02ID:Dpfb2ylv0160名前は開発中のものです。
2009/04/30(木) 00:27:05ID:JN4PBkevDXライブラリで実現できますでしょうか?
GetDragFilePath()の使い方がいまいちわかりません。
ご教授お願い致します_ _
0161名前は開発中のものです。
2009/04/30(木) 00:58:25ID:qZvDrEy3D&Dに関しては、GetDragFilePathでググって出てきたページの内容を見る限り、
この関数は毎フレーム呼び出し、戻り値はD&Dされていれば0、されていなければ-1となる。
D&Dされてたら、引数で渡したバッファにD&Dされたファイルのパスが入ってくる。
ちなみにD&Dされたファイルの個数はGetDragFileNum()で取得できる。
複数ある場合は、その数だけGetDragFilePathを呼べば1つずつファイルパスを取得できる。
ちなみにこれらは毎フレームに一度DragFileInfoClear()で初期化してから使うべき。
ただ情報が古い可能性もあるし、実際試したわけじゃないから、
今のDXライブラリでできるかどうかは知らない。
0162名前は開発中のものです。
2009/04/30(木) 01:05:34ID:qZvDrEy30163名前は開発中のものです。
2009/04/30(木) 01:56:07ID:JGk3snwAint WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow){
ChangeWindowMode(TRUE);
SetMainWindowText("(´・ω・`)");
if(DxLib_Init() == -1 ){return -1;}
int open,tdn,cc;char file[256];
SetDragFileValidFlag(TRUE);SetDrawScreen(DX_SCREEN_BACK);SetFontSize(32);
while(ProcessMessage()==0){
ClearDrawScreen();
open=GetDragFilePath(file);//D&Dでファイル獲得する open:ファイル獲得が成功か失敗か判定
if(open==-1&&CheckMusic()==0)DrawFormatString(0,100,-1," なんか音楽を食わせろ!ESCキーで終了");
if(CheckMusic()==0&&cc==0){SetMainWindowText("(´・ω・`)");cc=1;}
if(CheckMusic()==1)DrawFormatString(0,100,-1," 音楽を止めるのならスペースを押せ!");
if(CheckHitKey(KEY_INPUT_SPACE)==1)StopMusic(); //スペースで音楽を止める
if(CheckHitKey(KEY_INPUT_ESCAPE)==1)break; //エスケープで終了
if(open!=-1){ //ファイル獲得成功
cc=0;SetMainWindowText(file);tdn=PlayMusic(file,DX_PLAYTYPE_LOOP);}
ScreenFlip();Sleep(20);
//音楽ファイル以外を食わせた場合w
if(tdn==-1){MessageBox(NULL,"(゚Д゚)ゴルア!"," それ再生できねーし",0x0000030);StopMusic();break;}
DragFileInfoClear();
}
InitSoundMem();
DxLib_End() ;
return 0 ;
}
0164名前は開発中のものです。
2009/04/30(木) 02:04:43ID:JN4PBkev>>163さんにはサンプルまでご用意いただいて感激です!
これでBGMをプレイヤーに指定させることができます。
即レス感謝!ありがとうございました!!
0165名前は開発中のものです。
2009/04/30(木) 09:08:28ID:QAaf0WGA0166名前は開発中のものです。
2009/04/30(木) 13:16:31ID:Nu0gAO100167名前は開発中のものです。
2009/05/01(金) 08:16:49ID:OvJuayUs見栄えや諸々の理由で画像ファイルとして文字を作ることにした。
インストールされてるフォントを使って12x16のサイズのカタカナを
ほぼそのまま描いてるんだけど、どうしてもエッジが目立っちゃう。
縁取りとか、影とか、ぼかしとか色々試したんだけど難しい。
みんなはどうやってるの?あと、デザインとか凝ったりするの?
0168名前は開発中のものです。
2009/05/01(金) 09:46:27ID:g5JaObohその辺は、普通に。 まずは、見栄えとかよりも、完成が先だしね。
「文字 CG 講座」とか「ロゴ 制作」とかで検索すrば、やりたい事の方法が見つかると思う。
0169名前は開発中のものです。
2009/05/01(金) 10:22:40ID:SX1l7Niwセリフとかそんなヤツなら、何も工夫せずにそのままDrawStringで表示してる。
>デザインとか凝ったりするの?
デザインが大事なのは理解してるが、センスが壊滅的なので
あきらめて最低限で済ませてる。
0170名前は開発中のものです。
2009/05/01(金) 14:38:00ID:OvJuayUsありがとう。俺もデザインが壊滅的です。
しょぼ画像で今まで普通にやって来たんだけど、
先日ゲーセンで業務用のゲームを見たのがいけなかったw
最近はフォントを一文字ずつ手打ちでドット修正して、
気付いたら4、5時間経ってて結局上手くいかなかったとかあって。
まあでも、「この方法では出来ない」っていうのが少し分かったのは収穫だけどw
ゲーム作るのってやっぱり色々な知識が必要だね。
0171名前は開発中のものです。
2009/05/01(金) 21:45:00ID:n+u5dqvm0172名前は開発中のものです。
2009/05/02(土) 08:08:52ID:Sn/Kauilそれで飯食っている奴がいるくらいだから奥が深いよな。
フォントの選定とか字間とか決めるだけでも大変。
0173名前は開発中のものです。
2009/05/02(土) 13:50:47ID:BkuXnv3v台詞に使って日本語漢字とかまでなるとやってられないから普通に既存フォントのでやってるな。
フリーのフォントいくらでもあるから、それ使えばいいんじゃないか?
テキストに文字書いておけば、指定フォントのを画像ファイルにして出力するソフトなかったっけか。
0174名前は開発中のものです。
2009/05/02(土) 14:40:37ID:M7HWaCGQ0175名前は開発中のものです。
2009/05/04(月) 16:41:52ID:FkdRsV2LSetAlwaysRunFlagで非アクティブでも処理を実行し続けるようにして
アクティブ時はCPU使用率15〜20%ぐらいでスムーズに動いてるけど
非アクティブ時は、CPU使用率が0近くになってしまいます。
処理もカクカクになってしまうのですが、
どうにも原因や解決法について手詰まりになってしまったので
何かアドバイスをいただけませんでしょうか?
0176名前は開発中のものです。
2009/05/04(月) 16:47:43ID:dGZpGfbHこれが参考になるかも
ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1224
0177名前は開発中のものです。
2009/05/04(月) 17:21:31ID:FkdRsV2LΣ (゚Д゚;)うおー解決したー!!
DXライブラリ自体の仕様的問題だったとは・・・
ありがとうございましたー
0178名前は開発中のものです。
2009/05/05(火) 23:39:46ID:klIXgzed0179名前は開発中のものです。
2009/05/06(水) 01:59:46ID:36dZu90f0180名前は開発中のものです。
2009/05/07(木) 01:34:26ID:cIvk0VJgどんな簡単な条件でもだめ
whileは全然問題なし、仕方ないからfor文で代用した
0181名前は開発中のものです。
2009/05/07(木) 01:39:44ID:AtAjM9gE0182名前は開発中のものです。
2009/05/08(金) 13:06:52ID:H40Fz4tQ条件を逆にしてみれば?
0183名前は開発中のものです。
2009/05/08(金) 17:28:23ID:mPd9shMxhello world的なコンソールアプリだとなんともないのに
DXライブラリだと動かないのか?
またまたご冗談を○ノ
0184名前は開発中のものです。
2009/05/08(金) 21:29:41ID:1gmuUpcC3Dも触ってみたくなったら次はどの辺のライブラリがお勧めかな?
0185名前は開発中のものです。
2009/05/08(金) 21:43:28ID:mPd9shMxライブラリを使うにしても。
0186名前は開発中のものです。
2009/05/08(金) 23:03:24ID:1gmuUpcC直かー、興味はあるけど難しそうだね
その辺もライブラリのソースを見てみたい感じ
DXライブラリ3Dを引き継いでる(?)のがSiv3Dで公開はまだしていないのか
0187名前は開発中のものです。
2009/05/09(土) 03:40:25ID:lfg6KlkW0188名前は開発中のものです。
2009/05/09(土) 10:18:06ID:K91OINFM現時点ではDarkGDKがお勧め。
DarkBasicをC言語で使えるようにしたライブラリだが、DXライブラリ並に簡単に3Dが使える。
資料もDarkBasicのものが使えるから検索すればかなり見つかると思う。
0189名前は開発中のものです。
2009/05/09(土) 11:47:43ID:kLkdvUF6直叩きはいいけど、ウインドウズと付き合うのがイヤなんだ俺は。
今の俺の技術なら、WinProcの多重switch〜caseの悪夢から逃れられるかもしれないけど。
ここが奇麗にラッピングできたら、DxLibから離れられる。
0190名前は開発中のものです。
2009/05/09(土) 19:21:56ID:jAmZ4VAacでも動く?
0191名前は開発中のものです。
2009/05/09(土) 19:40:27ID:E8u7Mo3p意味も分らずに質問してるのか?それとも釣りか?荒らし?
>(使用する際はC言語の知識だけで大丈夫です)
と、Topページにすら書いてあるが・・・・・
0192名前は開発中のものです。
2009/05/09(土) 19:55:55ID:lCTV4YZ7その回答だと、それはそれで微妙じゃないか?
0193名前は開発中のものです。
2009/05/09(土) 20:07:46ID:IQdWMaEzOpenGLも基礎の基礎ぐらいは分かる。
しかしC++は全くやったことないから、Cのソースコードでも動くのかなぁって思ってさ
つうかこの俺のこの程度のレベルで開発できるのか?w
0194名前は開発中のものです。
2009/05/09(土) 20:14:03ID:trjZI4JPBASICくらいしかまともに使えなかった俺でも作れてる。
0195名前は開発中のものです。
2009/05/09(土) 20:46:52ID:eADherQO0196名前は開発中のものです。
2009/05/09(土) 20:58:33ID:IQdWMaEz自分も通らなかったから、やっぱりcppでやらないとダメか…。
でもcとc++の違いって引数の所とかreturn 0;を入れる事ぐらいだよね
それなら俺にも作れそうだ
0197名前は開発中のものです。
2009/05/09(土) 21:35:15ID:mrxl7P60http://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0415zip.html
0198名前は開発中のものです。
2009/05/09(土) 21:37:34ID:lCTV4YZ7そりゃ細かいところは違うけど。
0199名前は開発中のものです。
2009/05/09(土) 22:24:26ID:yqvEK1UxCのつもりで書いてるけど特に問題は起こってない。
0200名前は開発中のものです。
2009/05/09(土) 22:42:09ID:trjZI4JPきっぱり乗り換えた方が早いと思うよ。
0201名前は開発中のものです。
2009/05/09(土) 22:43:16ID:5QjZvH8Cってことでしょ
CからC++の関数呼べないだろうし
0202名前は開発中のものです。
2009/05/09(土) 23:17:11ID:mrxl7P60http://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0416zip.html
0203名前は開発中のものです。
2009/05/10(日) 01:23:34ID:ZcEG6Uji0204名前は開発中のものです。
2009/05/10(日) 03:57:46ID:LkvOOs8Z184じゃないけど良いなコレ
まあスレ違いだからここではやめとくが
0205名前は開発中のものです。
2009/05/10(日) 09:08:13ID:rPuqylL4それはDXライブラリと関係ない、C言語の領域だからぐぐって探せばみつかるでしょう。
まぁひとつ言っておくなら、読み込むだけなら
テキストファイルだろうとバイナリファイルだろうと関係ねーって事でしょうか。
それがテキストファイルかバイナリファイルかを区別するのは人間の仕事。
コンピュータにとってはどっちも数字の羅列です。
0206名前は開発中のものです。
2009/05/10(日) 09:16:50ID:rPuqylL4おお、簡単そうでいいな。
と思ったが商用だとライセンス必要なのか。
0207名前は開発中のものです。
2009/05/10(日) 09:27:04ID:SuvqbuIWメーカーのひと?
0208名前は開発中のものです。
2009/05/10(日) 10:31:11ID:fyec3Pfk0209名前は開発中のものです。
2009/05/10(日) 15:37:12ID:3Fci4lbQ動かすのに必要な環境とかあるのかな
0210名前は開発中のものです。
2009/05/10(日) 15:49:58ID:pxkMQo3W0211名前は開発中のものです。
2009/05/10(日) 15:54:27ID:QdEuQjX4>>205
せっかくだから DxLib でやろうぜ。
以前、なんかダサイ感じのやつを作った記憶あったのでうp
int MapInit()
{
int FileHandle = FileRead_open("StageData.txt");// ファイルのオープン
int FileSize = FileRead_size("StageData.txt");// ファイルサイズを取得して
char* FileImage = new char[FileSize];// その大きさだけ領域確保
FileRead_read( FileImage,FileSize,FileHandle);// 一気読み
FileRead_close(FileHandle);// ファイルを閉じて終了
const char* d = FileImage;
while(*d != '\0'){ // NULL文字(終端)ではない間
switch( *d ){
:
:
0212名前は開発中のものです。
2009/05/10(日) 16:04:32ID:pxkMQo3W0213名前は開発中のものです。
2009/05/10(日) 16:27:43ID:hIOF9W71曲がはじめに戻る時に一瞬無音部分が挿入されてしまうのは仕方の無い事なんですかね?
0214名前は開発中のものです。
2009/05/10(日) 16:53:15ID:jnxHmucW0215名前は開発中のものです。
2009/05/10(日) 18:54:17ID:rCuDH3cs俺使ってるから間違いない。
0216名前は開発中のものです。
2009/05/10(日) 19:18:26ID:hIOF9W710217名前は開発中のものです。
2009/05/10(日) 20:22:30ID:rCuDH3csてか空白が頭なのか終わりなのか区別つくのか?
俺はoggでやってるけどそんな現象は出ていない。
oggでなくてmp3だから空白が出てるってのも考えにくいし……。
たとえば、
// 音声をループ再生する
PlaySoundMem( SoundHandle, DX_PLAYTYPE_LOOP ) ;
// キーの入力待ち
WaitKey() ;
こんな感じで音楽鳴らしてWaitKeyで待たせてるだけの状態でも空白は出る?
0218名前は開発中のものです。
2009/05/10(日) 21:46:31ID:a1w4zsI+0219名前は開発中のものです。
2009/05/10(日) 21:59:26ID:CorOGe62それでまず音楽データ自体に空白が入ってないか確認するのが先かな。
(俺は古いけどspwaveっての使ってる)
0220名前は開発中のものです。
2009/05/10(日) 23:33:01ID:UtduPSoDいまいちヘッダーファイルに何書けば良いのか分からん。
ヘッダーファイルに書くのって基本的に
構造体、グローバル変数、クラス
で良いんだよな?
でもグローバル変数はそのまま書くより、メインの実行処理を書いたソースでグローバル宣言して、externしたのをヘッダーに書いた方が良いのか?
中々難しい
0221名前は開発中のものです。
2009/05/11(月) 00:02:53ID:MkdOym7I必要性を感じたらやればいいなと。
0222名前は開発中のものです。
2009/05/11(月) 00:25:28ID:HAsszTiW他のプロジェクトで同じヘッダーを使いたいって時があるはず
stdlib.hやwindows.hなどは、頻繁に共有して使う定義をまとめてあるわけだな
ゲーム開発では、バージョンアップや拡張版を作る時に意識する
そういうのが前提になくて、ただ使い捨てのマイナープログラムを作りたいだけなら
ヘッダーに書こうがソースに書こうが大した違いにはならん
集団開発ではこういう実動的な概念を知ってないと、プロジェクトに致命的な遅れを引き起こす原因になる
読めないソース、意味のわからない変数名、再利用性の全くないヘッダー
そういうのを書く奴はとても多い
同僚から「早くクビになれ」と睨まれてるのに、大抵は自覚がない
0223名前は開発中のものです。
2009/05/11(月) 00:37:43ID:h5MMChCx無音部分のないoggを作れば大丈夫だと思う
0224名前は開発中のものです。
2009/05/11(月) 01:25:34ID:SJM28vd6これでmp3にした場合だけループに空白が出来る。
でも編集ソフトでmp3ファイルを見てみても無音が入っていないので
ファイル自体じゃなくてループ再生時に無音が入っちゃってると予想してる。
>>223のような情報もあるのでwavからoggでやってみようと思います。
むしろmp3でちゃんとループしてる人がいるなら是非そのファイルをくれませんか?
0225名前は開発中のものです。
2009/05/11(月) 01:55:23ID:vfkeltZY0226名前は開発中のものです。
2009/05/11(月) 10:32:30ID:Y/ATwNUTグローバル変数を何の工夫もなくヘッダに書くのはありえない。
でも、1つのソースファイルからしかincludeしないなら
ヘッダの意味もないが、トラブルも出ないし好きにしたらいい。
0227名前は開発中のものです。
2009/05/11(月) 23:27:48ID:+oDxJ+XL例のセガの人の本によれば
ヘッダファイルは、そのモジュールの顔のようなものなので、
自分からしか参照しないものはヘッダに書くな、だそうな。
0228名前は開発中のものです。
2009/05/12(火) 20:59:39ID:TP6i3fOM0229名前は開発中のものです。
2009/05/13(水) 00:34:03ID:S36sOxw7リファレンス嫁
0230名前は開発中のものです。
2009/05/13(水) 00:45:59ID:Vux89+qG0231名前は開発中のものです。
2009/05/13(水) 02:31:33ID:SfL0C2tMディーエックス?デラックス?
0232名前は開発中のものです。
2009/05/13(水) 02:39:25ID:SMqynftrてかそもそもデラックスなんて意味込められてたっけか?
0233名前は開発中のものです。
2009/05/13(水) 04:37:24ID:+PRxmC7L今度、自分用のライブラリを作る時は超合金ライブラリという名前にしよう。
0234名前は開発中のものです。
2009/05/13(水) 04:45:57ID:S6Vidvv60235名前は開発中のものです。
2009/05/13(水) 05:27:57ID:WYplVFDZ0236名前は開発中のものです。
2009/05/13(水) 11:01:09ID:+PRxmC7L0237名前は開発中のものです。
2009/05/14(木) 23:52:26ID:JXz6JeNmhttp://www.vector.co.jp/soft/dl/win95/art/se202196.html
アドウェア臭いのついてるから本体以外キャンセル(Jwordとかプレーヤーとか)
http://www.vorbis.com/files/1.0/tobias/OggDS0995.exe
これインスコすればOGGをメディアプレーヤーで直再生できる
0238名前は開発中のものです。
2009/05/16(土) 18:21:08ID:RrtE4NOXこのことによって何か出来なくなる(制限される)ことってありますか? ウインドウズプログラム的に。
0239名前は開発中のものです。
2009/05/20(水) 18:05:19ID:XKq5DK9VDrawRectGraphでその都度座標を指定して描画するのと
LoadDivGraphやDerivationGraphで新しくグラを作成するのってどっちがいいとかありますか?
面倒なのですがDrawRectGraphの方が軽そうな感じがして…
0240名前は開発中のものです。
2009/05/20(水) 19:14:49ID:cd8SaRtc実際に試してみるのが一番いいと思うけど
0241名前は開発中のものです。
2009/05/20(水) 22:50:34ID:XKq5DK9V0242名前は開発中のものです。
2009/05/21(木) 01:24:36ID:nDXZOisY0243名前は開発中のものです。
2009/05/21(木) 14:53:13ID:f26CXGR7メモリに読み込んでハンドル返す方法は高速に描ける
速度を必要とする場面かどうか検討するといい
使い捨ての場面ならメモリに確保しない方が開発の負担が小さいし
何度も使うのならメモリに読み込んだ方が処理の負担が小さい
一般的には後者に統一することが多い
似たような話で、画像にjpgやpngを使ったり、mp3を使うのはCPUに負荷を掛けるので
通常素材にはbmp、効果音にはwavを使うのを勧める
(企業開発で形式を隠蔽したいわけでもないし)
0244名前は開発中のものです。
2009/05/21(木) 17:07:42ID:nDXZOisY0245名前は開発中のものです。
2009/05/21(木) 17:31:35ID:d1JBtW4A0246名前は開発中のものです。
2009/05/21(木) 19:45:39ID:uQ1uMZZL0247名前は開発中のものです。
2009/05/21(木) 20:03:43ID:PVitCZoM0248名前は開発中のものです。
2009/05/21(木) 23:37:28ID:SY9MChf5bmpを使うとゲーム容量が馬鹿デカクなる気がする
実際にどれほど処理・容量の違いがあるのかが知りたいNe!
0249名前は開発中のものです。
2009/05/21(木) 23:43:38ID:Lde+nmZH3Dゲームとかノベルゲームとかならまだしも。
むしろ容量食うのは音楽。
0250名前は開発中のものです。
2009/05/22(金) 00:30:16ID:opiwTOF8けっこう容量も気になってくるのだそうな。
0251名前は開発中のものです。
2009/05/22(金) 00:49:48ID:rdJ4/1mO0252名前は開発中のものです。
2009/05/22(金) 13:26:24ID:Ttltxn7S(bmpやjpgだとチャネル用の別画像を用意しないといけない)
ちなみに読み込みだけにCPU負荷がかかるだけで、
テクスチャになってしまえば転送速度は同じ。
bmpの場合はファイルサイズも大きくなり、読み込みに時間が逆に掛かることもあるので、適材適所が良いと思います
0253名前は開発中のものです。
2009/05/22(金) 21:09:50ID:opiwTOF832x32の画像があって、これを2倍に拡大して表示するのと、
64x64の画像があって、これを等倍で表示するのとでは、どっちが高速?
拡大する手間がある分だけ遅くなると見るべきか、元々の画像が小さいから有利と見るべきか。
実測してみたけど、いまいちよく分からん。
0254名前は開発中のものです。
2009/05/22(金) 21:24:41ID:xxFjO+BK0255名前は開発中のものです。
2009/05/23(土) 00:55:35ID:1QCRwyZH前者の方が早いでしょう
拡大表示処理はハードウェア(Direct3D)で行うので、とても高速ですよ
0256239
2009/05/23(土) 12:29:43ID:A4cQi3hhDrawRectGraphとDerivationGraphの違いを検証してみましたが、
メモリ、ビデオメモリ、処理速度に目立った違いは見受けられませんでした。
なので扱いやすいDerivationGraphを使って行こうと思います。
0257名前は開発中のものです。
2009/05/23(土) 13:25:24ID:ORU4uz0n俺のPCは「VGN-AW71JB」っていう型なんだが…。PC版のスプリンターセルはヌルヌル動き続けるし、スペックの問題ではないと思うんだが…。64bitのvistaってのがなにか影響してるのかな?
0258名前は開発中のものです。
2009/05/23(土) 17:37:42ID:XAnqJ6HC自分や友人がDxLibを使って作ったゲームを俺のPCで起動させると、始めはいいんだが、しばらくしてから必ず30フレームになってしまうのはなぜかわかる人いるか?
俺のPCは「VGN-AW71JB」っていう型なんだが…。PC版のスプリンターセルはヌルヌル動き続けるし、スペックの問題ではないと思うんだが…。64bitのvistaってのがなにか影響してるのかな?
0259名前は開発中のものです。
2009/05/23(土) 20:01:55ID:5w7OxnoQ0260名前は開発中のものです。
2009/05/23(土) 20:38:13ID:JcHBq+Qdつまり、途中で自在に色換えはできない。
わかる、君のやりたい事はわかる。
スプライトの色変えみたいに自在にやりたいんだよな。でもできない。
0261名前は開発中のものです。
2009/05/23(土) 22:53:41ID:5w7OxnoQ0262名前は開発中のものです。
2009/05/23(土) 23:00:23ID:KtGbScqt0263名前は開発中のものです。
2009/05/24(日) 00:14:29ID:wnjrF3Q20264名前は開発中のものです。
2009/05/24(日) 00:17:36ID:mQM6vOM4処理速度が低下するような時は、メモリーリークの可能性がある、
簡単に書くと、メモリを解放せずループで使いっぱなしにすると
メモリーがどんどん不足してゆき処理速度低下として症状が現れる。
0265名前は開発中のものです。
2009/05/24(日) 00:42:23ID:3op8nAnx一色ごとに画像を抽出してそれを全部白くして、表示時に色をいじってだね・・・
コストはかかるが、あくまで自由自在に色をいじりたい奴だけそうしてみるとか
0266名前は開発中のものです。
2009/05/24(日) 04:14:52ID:7GmmmL9xVC2008は豪華だけど重い
0267名前は開発中のものです。
2009/05/24(日) 17:40:43ID:seD1hHi/同じソースでも、友人のPCだったら落ちないという…
落ちないようにするにはどうしたらいいかな?
※と、書いてる途中でタスクマネージャーを見たら、CPU使用率が90%以上に張り付いてた。
他何も起動してないし、アプリケーションを停止したら0%に戻る。意味不明。
0268名前は開発中のものです。
2009/05/24(日) 19:21:41ID:e3aiszR00269名前は開発中のものです。
2009/05/24(日) 20:01:22ID:PboGdTn+文字描画するのに、毎回文字の大きさ変えて描画してるとか
0270名前は開発中のものです。
2009/05/24(日) 23:50:08ID:seD1hHi/CPU:Core 2 Duo 2.66GHz
RAM:4.00GB
友人
CPU:Core 2 Duo 2.40GHz
RAM:2.00GB
ソースとして挙げるなら、DxLibのホームページの、ゲーム作成講座のソース。
四角君が自分に向けて弾を撃って来るあのソースですらなりました。
0271名前は開発中のものです。
2009/05/25(月) 00:30:41ID:41gxgfIl0272名前は開発中のものです。
2009/05/25(月) 01:34:29ID:eHx6nkcb何が悪いのか……
0273名前は開発中のものです。
2009/05/25(月) 01:53:57ID:UZHs9GNu質問だったら「エスパーじゃないんだから、そんな事知らん」
0274名前は開発中のものです。
2009/05/25(月) 02:16:31ID:/EmhtAKe0275名前は開発中のものです。
2009/05/25(月) 07:48:45ID:qL901e+j0276名前は開発中のものです。
2009/05/25(月) 10:55:40ID:yXpMtdiRグラボと設定によっては同期待ちのタイミングでCPU処理に加算されとても重く「感じる」ことがある。
0277名前は開発中のものです。
2009/05/25(月) 15:09:43ID:bb62p5Sdでカオスになるぜ!
0278名前は開発中のものです。
2009/05/26(火) 17:43:21ID:WrI50zFN誰もが一度は通る道www
0279名前は開発中のものです。
2009/05/27(水) 04:36:49ID:cQqUnwcL0280名前は開発中のものです。
2009/05/27(水) 04:47:29ID:klPEh/z60281名前は開発中のものです。
2009/05/29(金) 00:03:12ID:vY9ARI7KDxライブラリをうまく名前空間に突っ込めないかなー、と思ったが
自前で改造しなきゃならない量を考えると挫折しそうだって愚痴。
>279
3Dで作った背景を2D画像に落として、
無理やりパターンアニメで表示させてるって作品があったような気がする。
0282名前は開発中のものです。
2009/05/29(金) 01:20:12ID:4j6tq9JR実際にいじってないのでなんとも言えないが
ここに映像つきのサンプルあるよ。
http://dixq.net/rp/
0283279
2009/05/29(金) 06:57:39ID:Vqjs1m4Eふむ…努力次第でどうにでもなるという解釈でおkかな。時間はかかりそうだがやってみないことにはわからないな
>>281
横シューのなら見たことあるwwものすごい労力の割に拡張性が無さそうでなぁ…
>>282
おお、こんな感じで動かせられるなら…
とりあえずテクスチャを簡単にくりくり動かせるような関数でもつくってみることにする
0284名前は開発中のものです。
2009/05/29(金) 21:51:58ID:izoQPgWw関数かいてカーソル合わせると宣言が表示されるから便利なんだけどなあ
0285名前は開発中のものです。
2009/05/29(金) 23:04:59ID:ATWupmEU0286名前は開発中のものです。
2009/05/30(土) 23:32:29ID:3JWvpnu4>無理やりパターンアニメで表示させてるって作品があったような気がする。
いいねこれメガテンの3Dダンジョンみたいなのに使えるな
0287名前は開発中のものです。
2009/05/31(日) 03:54:51ID:/tj3gvKSswith(state){
case 0:
if(CheckHitKey(KEY_INPUT_RETURN)){
文字表示
state++;
}
case 1:
if(CheckHitKey(KEY_INPUT_RETURN)){
文字表示
state++;
}
case 2:
if(CheckHitKey(KEY_INPUT_RETURN)){
文字表示
}
}
という風にすると、全部一気にキー判定されて、同時にすべての文字が表示されます。
WaitKeyとかWaitTimerを使う以外で、エンターを押すごとに順番に表示させるにはどうすればいいでしょう?
0288名前は開発中のものです。
2009/05/31(日) 04:07:26ID:WdCW0LKPenterが押しっぱなしの時は、flagを0にシナイので、
enterが離されて、再度flagが0になってからswitch文の実行が行われる。ように改造すれば
望みの結果が得られると思う。
int state = 0;
int flag =0;
if(flag == 0){
switch(state){
case 0:
if(CheckHitKey(KEY_INPUT_RETURN)){
flag =100;
文字表示
state++;
}
case 1:
if(CheckHitKey(KEY_INPUT_RETURN)){
flag =100;
文字表示
state++;
}
case 2:
if(CheckHitKey(KEY_INPUT_RETURN)){
flag =100;
文字表示
}
}
}else if(flag != 0)
{f( !CheckHitKey(KEY_INPUT_RETURN) ){
flag =0;
}
0289名前は開発中のものです。
2009/05/31(日) 04:49:59ID:j4yiAyL2キーバッファを設けることによって、押された瞬間を判定することができる*/
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
ChangeWindowMode(TRUE);
if (DxLib_Init() == -1) {return -1;}
SetDrawScreen(DX_SCREEN_BACK);
char key_buffer[2][256]; // キーバッファ
int state = 0;
while (ProcessMessage() != -1) {
ClearDrawScreen();
// 前のフレームの入力状態を保持
for (int i = 0; i < 256; i++) {
key_buffer[1][i] = key_buffer[0][i];
}
// 現在のフレームの入力状態を取得
GetHitKeyStateAll(key_buffer[0]);
// 「現在のフレームで押されている」かつ「前のフレームで押されていない」ならば
if (key_buffer[0][KEY_INPUT_RETURN] && !key_buffer[1][KEY_INPUT_RETURN]) {
state++; // 次の状態へ
}
// state の値によって分岐するなり何なり
DrawString(0, 0, "Press enter key!", GetColor(255, 255, 255));
DrawFormatString(0, 20, GetColor(255, 255, 255), "状態%d", state);
// 適当なところで終了
if (state == 10) {break;}
ScreenFlip();
WaitTimer(10);
}
DxLib_End();
return 0;
}
0290名前は開発中のものです。
2009/05/31(日) 05:11:01ID:YoqdwaI90291名前は開発中のものです。
2009/05/31(日) 08:31:50ID:JGIiJgnTLeftFlag=999;
文字表示}else LeftFlag=0;
押したときだけ処理するようにすればいけそう?
0292名前は開発中のものです。
2009/05/31(日) 08:46:00ID:P4ttxSKSbreak
0293名前は開発中のものです。
2009/05/31(日) 15:21:06ID:jTyG44wWif(enter_cnt<100){enter_cnt++;}
}else{
enter_cnt=0;
}
if(enter_cnt)//押している間
if(enter_cnt==1)//押された瞬間
0294名前は開発中のものです。
2009/05/31(日) 15:22:27ID:jTyG44wWif(enter_cnt<100){enter_cnt++;}
}else{
enter_cnt=0;
}
半角消えるのか
0295名前は開発中のものです。
2009/05/31(日) 20:06:14ID:kvaGbtb9DOGA最盛期にうんざりするほどあったよそういうの
0296名前は開発中のものです。
2009/06/01(月) 03:53:44ID:ojIQArFl0297名前は開発中のものです。
2009/06/01(月) 03:59:15ID:YGv3z7sbif文とインクリメント
0298名前は開発中のものです。
2009/06/01(月) 04:02:48ID:7hVJjQOF今話題の押された瞬間を数えて適当な変数に保存しときゃいいんでね?
0299名前は開発中のものです。
2009/06/01(月) 04:12:11ID:ojIQArFl下のままだと、ABCDっていっきに表示されます。
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode(TRUE);
if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;
int col1 = GetColor(255, 255, 255);
char input[4];
int i = 0;
0300名前は開発中のものです。
2009/06/01(月) 04:13:52ID:ojIQArFlwhile(ProcessMessage()==0 && CheckHitKey(KEY_INPUT_ESCAPE)==0){
if(CheckHitKey(KEY_INPUT_RETURN)){
switch(i){
case 0:
input[i] = 'A';
break;
case 1:
input[i] = 'B';
break;
case 2:
input[i] = 'C';
break;
case 3:
input[i] = 'D';
break;
}
i++;
}
if(CheckHitKey(KEY_INPUT_SPACE)){
ClearDrawScreen();
DrawString(0, 0, input, col1);
}
ScreenFlip();
}
DxLib_End();
return 0;
}
0301名前は開発中のものです。
2009/06/01(月) 08:41:57ID:7hVJjQOFあるごりずむ体操
(ループはじめ)
↓
<前回キーが押されていたか?> YES→ (ループおわり)
↓ NO
<キーが押されているか?> NO → (ループおわり)
↓ YES
[キーが押された時の処理]
↓
(ループおわり)
0302名前は開発中のものです。
2009/06/01(月) 08:43:59ID:OkPmCHq70303名前は開発中のものです。
2009/06/01(月) 09:36:50ID:hCSvJ7Y8while( ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0 && CheckHitKey(KEY_INPUT_RETURN) == 1 ){
Sleep(16) ;
}
0304名前は開発中のものです。
2009/06/01(月) 10:52:22ID:YGv3z7sb昔、組み込みプログラムでやったな、そういう処理。
0305名前は開発中のものです。
2009/06/01(月) 16:12:49ID:rm5/xw9Eclass Key {
private:
int keyCode, state;
public:
Key( int KeyCode ) : keyCode( KeyCode ), state( 0 ) {}
int CheckHit() { int tmp = state; state = CheckHitKey( keyCode ); return tmp ? 0 : state; }
};
//WinMain
...
Key enter( KEY_INPUT_RETURN );
if(enter.CheckHit()){
...
0306名前は開発中のものです。
2009/06/01(月) 21:33:29ID:lE2okL9b0307名前は開発中のものです。
2009/06/01(月) 22:14:20ID:MR6y8v2X0308名前は開発中のものです。
2009/06/01(月) 22:52:38ID:aqGzCF5U0309名前は開発中のものです。
2009/06/01(月) 22:57:02ID:eaj8yaj9それはともかく言われたように押してくごとにABCD表示させようと思ったら
>>300を変更するとしたら
int returnOn = 0; // ←
while(ProcessMessage()==0 && CheckHitKey(KEY_INPUT_ESCAPE)==0){
if(CheckHitKey(KEY_INPUT_RETURN) && !returnOn){ // ←
switch(i){
case 0:
input[i] = 'A';
break;
case 1:
input[i] = 'B';
break;
case 2:
input[i] = 'C';
break;
case 3:
input[i] = 'D';
break;
}
i++;
returnOn = 1; // ←
}
if( !CheckHitKey(KEY_INPUT_RETURN)) returnOn = 0; // ←
(以下略)
とかやるとか
0310名前は開発中のものです。
2009/06/01(月) 23:27:38ID:FdTrWJbB0311名前は開発中のものです。
2009/06/02(火) 09:36:41ID:9M4SMxHrなんかゲームのメインループ()
{
if((Aボタン==1)&&(Aボタンバッファ==0))
{
なんか押された瞬間だけ1回やりたい処理
}
Aボタンバッファ=Aボタン
}
最初からKEY_DOWN、KEY_UP的なものがライブラリに有れば楽なんだが
ゲームじゃしょっちゅう使うし
0312名前は開発中のものです。
2009/06/02(火) 09:48:11ID:fOpSnwq/そのバッファに生でアクセスすることはあまりないが、
かといってキーごとにオブジェクト化するのもありえない
0313名前は開発中のものです。
2009/06/02(火) 11:07:30ID:lqyt4myq0314名前は開発中のものです。
2009/06/02(火) 11:08:32ID:fOpSnwq/上の例の場合、バッファは二つ以上ないとあまり意味ない
キーがマッピングしきれないって人はchar配列とか使えばいい
よりこだわる人はRawInputで
0315名前は開発中のものです。
2009/06/02(火) 21:23:19ID:CgQN485t自分が使ってるルーチンのコードを記事にまとめました
http://d.hatena.ne.jp/kokarage/20090602/p2
0316名前は開発中のものです。
2009/06/02(火) 22:46:42ID:D2ufpiqQキーコンフィグの実装で悩んでるんだけど、
>>315とかだと KEY_INPUT_なんとか の部分は変えられないし
どうやってキーコンフィグ実装するんだろうか・・・
同じようなソースでenumを弄っても根本的には変わらないし
0317名前は開発中のものです。
2009/06/02(火) 23:00:27ID:fOpSnwq/0318名前は開発中のものです。
2009/06/02(火) 23:00:38ID:vp7xQIPqKEY_INPUT_なんとかとスクリーンに表示する文字との対応表は作らにゃならんが
0319名前は開発中のものです。
2009/06/02(火) 23:19:31ID:rGe8VGDA312 名前:名前は開発中のものです。[sage] 投稿日:2009/06/02(火) 09:48:11 ID:fOpSnwq/
32ビットか64ビットの整数をバッファにしてビット演算で書き込み、取り出しが一般的だろ
そのバッファに生でアクセスすることはあまりないが、
かといってキーごとにオブジェクト化するのもありえない
314 名前:名前は開発中のものです。[sage] 投稿日:2009/06/02(火) 11:08:32 ID:fOpSnwq/
抜けてたが、
上の例の場合、バッファは二つ以上ないとあまり意味ない
キーがマッピングしきれないって人はchar配列とか使えばいい
よりこだわる人はRawInputで
317 名前:名前は開発中のものです。[sage] 投稿日:2009/06/02(火) 23:00:27 ID:fOpSnwq/
少しは頭使えよww
0320名前は開発中のものです。
2009/06/02(火) 23:23:59ID:9M4SMxHr自分の場合:
ちょっと>>315と関数の仕様が違うけど
KEY_STATE getKeyState(int pad_num, KEY_FUNC key_func);
if(getKeyState(1, shot_btn) == KEY_DOWN){
ショット処理
}
コンフィグのiniファイルかなんかを読んで
shot_btnとかjump_btnとかの数字を適当に書き換える
今パッと思いついただけでコンフィグ実装したことないけど
0321名前は開発中のものです。
2009/06/03(水) 01:33:47ID:BENUHFDk俺も大体そんな感じでやってる
0322名前は開発中のものです。
2009/06/03(水) 01:35:57ID:ZbYk0Q0Kウインドゥモードにした場合、勝手にウインドゥを作成して表示ではなく、あるウインドゥを使うように
することってDXライブラリではできますか?
0323名前は開発中のものです。
2009/06/03(水) 02:49:29ID:jjOgvpoK例えばIEのウィンドウに表示したりとか?
意味がよくわからんが何より意図がわからない
0324名前は開発中のものです。
2009/06/03(水) 04:00:28ID:bNYd6KiM0325名前は開発中のものです。
2009/06/03(水) 10:50:20ID:tN/MRQC4無理じゃないか?
0326名前は開発中のものです。
2009/06/03(水) 12:26:59ID:jjOgvpoKジョイパッド無理じゃなかったっけ?
まぁ可能かどうかは別にして
それをどうラッピングして押下げや押上げの判定を楽にしようかって話なんじゃ
0327名前は開発中のものです。
2009/06/03(水) 14:28:21ID:/YZEGe2A押上判定は個々の部分でやってるな。
0328名前は開発中のものです。
2009/06/03(水) 17:51:51ID:JOR7X/qwttp://www.dotup.org/uploda/www.dotup.org90647.zip.html
考え方は>>315と同じ
0329名前は開発中のものです。
2009/06/03(水) 18:54:40ID:jjOgvpoK自分はWin32APIのイメージが強すぎたせいか
KEY_UPとかキー状態の列挙体を戻り値で返す方法前提で考えていたけど
メンバにアクセスして真偽だけ返すという手もあるのか…
0330名前は開発中のものです。
2009/06/03(水) 20:15:41ID:n5yqAu71意味わからん。>>307さんですか?
0331名前は開発中のものです。
2009/06/03(水) 20:41:08ID:RNCUnVzX0332名前は開発中のものです。
2009/06/03(水) 22:22:44ID:DNn913L50333名前は開発中のものです。
2009/06/03(水) 23:55:15ID:ZbYk0Q0K0334名前は開発中のものです。
2009/06/04(木) 00:44:33ID:4zSVCft70335名前は開発中のものです。
2009/06/04(木) 00:56:02ID:uCnhFctq0336名前は開発中のものです。
2009/06/04(木) 03:42:53ID:pMlbkkXE0337名前は開発中のものです。
2009/06/04(木) 04:45:47ID:EMFSgqr30338名前は開発中のものです。
2009/06/04(木) 07:23:29ID:pMlbkkXE名乗ったのが4人なら、もっと天津飯ネタを取り入れていた
0339名前は開発中のものです。
2009/06/04(木) 19:12:58ID:EMFSgqr3>>328式がベストでおk?
0340名前は開発中のものです。
2009/06/04(木) 21:55:52ID:94jaKxLF結局の所
DXライブラリで作ったゲームと
OpenGLで作ったゲームと
DirectXで作ったゲームって
どこがどうちがうの?ほぼ一緒だろ?
0341名前は開発中のものです。
2009/06/04(木) 23:58:41ID:NBcwy8pb名称が違う
難易度も違う
0342名前は開発中のものです。
2009/06/05(金) 00:24:06ID:LjYKB7R9DXライブラリ:楽。動作実績が大きい。
OpeGL:日本のゲーム作りに関しては情報少ない。
DirectX:DXライブラリと似たようなラッパーを書く事になる。動作検証要。
0343名前は開発中のものです。
2009/06/05(金) 00:26:20ID:jQ78PNQ20344名前は開発中のものです。
2009/06/05(金) 00:29:54ID:MVmrQAbM0345名前は開発中のものです。
2009/06/05(金) 00:39:57ID:fb3Bnpon→日本人からプログラミングの素養を奪い取るキラーソフト
DXライブラリ
→日本人から3Dプログラミングの素養を奪い取るキラーソフト
漢ならLinux環境でC+OpenGLでvi+gdbするべし
0346名前は開発中のものです。
2009/06/05(金) 01:17:49ID:k3aCK9Tqそれなら薦めるべきはSDLな気がする
それだけだとせっかくCとGL使ってもキー入力まわりで移植性がなくなる
GLUTのキー処理は論外だし
SDLからGL叩けるし
メジャーなプログラミング言語のほとんどがSDL対応してるし
でもこのスレ的にどうかと思うぜこの話題
0347名前は開発中のものです。
2009/06/05(金) 01:22:53ID:gGshfnNu0348名前は開発中のものです。
2009/06/05(金) 01:48:22ID:byAKAyX7「作ったゲーム」に関していう違いなら
DXライブラリで作ったゲーム
動作実績があるライブラリだから動作する環境が多い
速度は各ソフトの特性に合わせて最適化できないぶん遅い
ライブラリで実装されていてDirectX直叩きなら使える機能が使えないから表現力はDirectX直叩きした場合より劣る
OpenGLで作ったゲームとDirectXで作ったゲーム
エンジンの動作検証は作者PCのみだからプレイヤー環境で動作しない可能性はライブラリを使った場合より高い
作るソフトに合わせて最適化できるのでDXライブラリ作者と同レベルのプログラム力を持っていれば確実にDirectX直叩きのエンジンの方が動作速度が速い
DirectX直叩きできるから表現力はDirectXの表現力とイコール
0349名前は開発中のものです。
2009/06/05(金) 02:19:36ID:byAKAyX7基本的にゲーム製作を助けるためのものだからプレーヤー側から見ればDirectX直叩きで
DXライブラリと同等かそれ以上の性能のオリジナルエンジンを使ってソフトを作ってくれた方が嬉しいのは確かだろう
(それが製作者が支払う労力に見合うかどうかはさておき)
ただ、DXライブラリの存在があったことによって世に出ることができたゲームソフトもあるだろうから
端的にプレーヤー側にとっては動作安定以外にはデメリットしかないという結論に達することはできない
345的な理論はBASIC言語についても似たようなことが言われていたね、まあ3D対応すれば多少は改善されるんじゃないか
0350名前は開発中のものです。
2009/06/05(金) 06:01:05ID:/qtS2mASDirectXとか使おうもんならC++の上にこれも覚える負担に駆られるためかなり厳しくなる
DXLIBだと覚えること比較的少なく済むからC++に労力割けれるしね
だからその人その人の状況次第でしょう
あとこう書くといちゃもんつけてくる奴がいるから言っとくけど
全半角に突っ込むのなしね
俺タイプ苦手だから一々直すの面倒いからそれだけは言っとく
0351名前は開発中のものです。
2009/06/05(金) 07:44:06ID:Jb6PFwRw0352名前は開発中のものです。
2009/06/05(金) 08:16:16ID:2+rjN8tBATOKだってファンクションキー一回押すだけだろうに……。
ていうかタイプ苦手だから面倒なんじゃなくて
それくらいを面倒がるからいつまでたってもタイプ苦手なんじゃないか。
0353名前は開発中のものです。
2009/06/05(金) 11:48:16ID:KAzeFILe0354名前は開発中のものです。
2009/06/05(金) 12:27:22ID:/qtS2mAS0355名前は開発中のものです。
2009/06/05(金) 14:40:29ID:pZVc1EDuプログラミングしてて全角でコメントした後半角になおしたりとか正直邪魔くさい。
0356名前は開発中のものです。
2009/06/05(金) 17:58:00ID:b0tlHB//初心者用でいいなら14歳から始める〜 とか
0357名前は開発中のものです。
2009/06/05(金) 21:40:13ID:k3aCK9Tq>>349
一通り触ったことはなさそうなことだけ伝わってくる文だな
その割に長くてうざい
0358名前は開発中のものです。
2009/06/05(金) 21:56:05ID:WwCy/X5YOpenGLならラッパー書かずに済むの?
0359名前は開発中のものです。
2009/06/05(金) 23:07:05ID:1schIxWd0360名前は開発中のものです。
2009/06/05(金) 23:14:10ID:KAzeFILe明日あたり立ち読みしに行ってみます
0361名前は開発中のものです。
2009/06/05(金) 23:49:13ID:LjYKB7R9誤字脱字内容間違い多いからな。
0362名前は開発中のものです。
2009/06/06(土) 00:03:30ID:H/iQ8fyWむしろ技術力がつく
0363名前は開発中のものです。
2009/06/06(土) 00:06:10ID:sFhdVHFw自分で言語やコンパイラつくったり
0364名前は開発中のものです。
2009/06/06(土) 00:44:32ID:yKGSZjfM俺もこれやりたい
ウィンドウ周りは.NET Frameworkにまかせて、あるPictureBoxコントロールの中で描画とか
0365名前は開発中のものです。
2009/06/06(土) 00:57:21ID:sFhdVHFw0366名前は開発中のものです。
2009/06/06(土) 02:23:33ID:0RWuIZ8Xと言うよりあれはそんな初心者向きじゃないような気モス
ある程度基本はできていた方がいいかも
俺は大分参考になったし俺のやり方はそれがベースになってる
0367名前は開発中のものです。
2009/06/06(土) 14:28:01ID:9zaJ0Qz/プレイヤーがx座標400ぐらいまで行ったら、背景画像をスクロールさせる感じで組んでみたら
動いてるようには見えるけど自身の座標は当然変わらず、後ろのハリボテが動いてるだけになったw
どんな感じでマップスクロールって作ってる?
0368名前は開発中のものです。
2009/06/06(土) 14:45:01ID:mp6p4QK3基本的のその考え方で間違ってない。
気に入らないならもっと考え方を進めていけばいいだけ。
0369名前は開発中のものです。
2009/06/06(土) 15:02:08ID:triYp4O50370名前は開発中のものです。
2009/06/06(土) 16:34:01ID:4wIgR8zNあれは裏バッファ2に描いておいて、裏バッファに縮小転送、フリップというやり方
なのでしょうか?
それとも拡大・縮小の段階毎に元絵を用意しておいて、現在の段階に応じた元絵
を裏バッファに描画、フリップというやり方なのでしょうか?
0371名前は開発中のものです。
2009/06/06(土) 17:22:10ID:mp6p4QK3普通にそれぞれの画像を描画する際に縮小描画するだろうな。
当然、表示座標も縮小計算して。
0372名前は開発中のものです。
2009/06/06(土) 17:26:21ID:Fiwfc+rD>>370だと後者になんのかな
0373名前は開発中のものです。
2009/06/06(土) 17:40:50ID:mp6p4QK30374名前は開発中のものです。
2009/06/06(土) 18:10:53ID:94tz/m1F拡縮機能使ってる? それとも予め画像用意しとく?
って聞きたいだけじゃないかな。
0375名前は開発中のものです。
2009/06/06(土) 18:59:26ID:9zaJ0Qz/それともXY座標だけのでもいい?
0376名前は開発中のものです。
2009/06/06(土) 19:42:33ID:94tz/m1F>int SetWaitVSyncFlag( int Flag ) ;
>ScreenFlip関数 実行時にCRTの垂直同期信号待ちをするかのフラグセット
ってあるんだけど、
これって液晶モニタだと関係ない(常にtrue扱いになる?)んだろうか。
手元に液晶しか無いんで、プログラムが間違ってるのか仕様なのか判断できないんだ。
>375
なんの当たり判定だよと。
x,yだけで処理できるなら三角関数使わなくてもいいんじゃないの?
0377名前は開発中のものです。
2009/06/06(土) 21:33:11ID:gMk4d0exとりあえずうちの液晶モニタじゃ普通に動いてるし。
グラボ(RADEON)で垂直同期信号のON/OFF設定ができてるから
問題となるのはグラボの設定って気がする。
0378名前は開発中のものです。
2009/06/06(土) 21:49:45ID:94tz/m1Fなんかすまん。
色々と試してみた結果、
グラボの設定を変更&フルスクリーンでFPSが60Hzの上限を突破することが出来た。
まあ、実際に使うことはないだろうけれど。
0379名前は開発中のものです。
2009/06/06(土) 21:52:06ID:9zaJ0Qz/横スクロールの当たり判定
0380名前は開発中のものです。
2009/06/06(土) 22:08:08ID:gMk4d0ex君はもう少し自分の考えてる事を他人にわかって貰う努力をしろw
スクロールと当たり判定と三角関数がどう関わってくるのか、の説明とか
どうして「三角関数が必要かも」と思ったか、とか。
0381名前は開発中のものです。
2009/06/06(土) 22:46:25ID:sFhdVHFw0382名前は開発中のものです。
2009/06/06(土) 23:14:29ID:vskJtjA7おまえ、偉そうジャン?
0383名前は開発中のものです。
2009/06/06(土) 23:46:26ID:+AmloxXp0384名前は開発中のものです。
2009/06/07(日) 00:27:15ID:jsaQKHFo努力しろとか、おまえ、何様ジャン?
0385名前は開発中のものです。
2009/06/07(日) 00:43:22ID:7g+XVYWNこれのメッセージの中身って、%dで変数表示したりできるんですか?
できるならどうやってやるんでしょうか、教えてください。
0386名前は開発中のものです。
2009/06/07(日) 00:47:04ID:jsaQKHFoリファレンス読む努力しろ
こんな簡単な事ができなきゃやめちまえ
0387名前は開発中のものです。
2009/06/07(日) 00:57:18ID:WlXcjgXY返答ありがとうございます。
どうも、うまく伝わってなかったみたいですね。
そうか、1つの建物なり乗り物を描画する時に縮小描画してるというわけですね。
それが普通ということですね。
>>386
あんたも努力しろって言ってるジャン
0388名前は開発中のものです。
2009/06/07(日) 00:57:54ID:fLd/zS9/俺も379読んで380と同じ意見だ
384は379だけでわかるのか?
>>385
できない、sprintfを調べてみるといい
0389名前は開発中のものです。
2009/06/07(日) 02:35:15ID:3sx78L/gまあ俺は2次元しか知らんから分からんが
0390名前は開発中のものです。
2009/06/07(日) 10:52:33ID:OFYyutYg0391名前は開発中のものです。
2009/06/07(日) 11:57:27ID:caHBoLjZある問題について出題者が回答者の質問にYes/No形式でヒントを与えつつ
解答を推理していくゲームか。
なるほど確かに、質問者がちゃんと状況を説明できず、情報も小出しにしかできないで
質問に答えようとする人間が、なんとか回答するに足るだけの情報を
引き出そうと四苦八苦するところが似ているな。
0392名前は開発中のものです。
2009/06/07(日) 12:07:51ID:OFYyutYgゲーム化したぜ(原作がスレって意味じゃないが)
スローンとマクヘールの体験版をプレイする作業に戻るんだ
0393名前は開発中のものです。
2009/06/08(月) 08:25:05ID:LOgaJ0S5敵を出すときって、マップ座標の一定値までプレイヤーが来たら敵を出現させるって感じでいいのかな?
今敵の出現関数の引数にマップ座標渡してやってるんだけど、それだと思った所に出すのがめんどくさい。
もっといい方法ない?
0394名前は開発中のものです。
2009/06/08(月) 08:29:40ID:sCESisPc他にもっと適切なスレがあると思うんだが。
>>393
それで特に間違いはないと思うが、
マップデータに敵の存在情報を埋め込むという手もあると思うな。
自由スクロールかどうか等で、いろいろ工夫がいるようになるだろうけど。
0395名前は開発中のものです。
2009/06/08(月) 09:03:31ID:5KFTi9VQ2Dスクロールゲームと言ってもいろいろあるからそれにもよる
0396名前は開発中のものです。
2009/06/08(月) 10:40:15ID:tSfMBcni確かにDXライブラリ以外の話題はスレ的によくないと思うし。
0397名前は開発中のものです。
2009/06/08(月) 11:12:30ID:WLx6NXXxそれらで別れるからなあ。
0398名前は開発中のものです。
2009/06/08(月) 11:33:19ID:cazy22G6【初心者】スレを立てる前にココで質問を【Part19】
http://pc11.2ch.net/test/read.cgi/gamedev/1236761855/
0399名前は開発中のものです。
2009/06/08(月) 13:24:46ID:5KFTi9VQ0400名前は開発中のものです。
2009/06/08(月) 13:44:11ID:1Ns/D0F70401名前は開発中のものです。
2009/06/08(月) 17:09:17ID:Q/bmJU+V0402名前は開発中のものです。
2009/06/08(月) 20:15:15ID:fnZML6Vnその中で、わくわくゲームプログラミングを買ってきました
ゆくゆくはRPG作れたらいいなぁ、なんて
しかし最近の14歳は凄いな、ざっと見たけどこの本理解できんだろうか・・
0403名前は開発中のものです。
2009/06/08(月) 20:22:53ID:kVsTXpwy0404名前は開発中のものです。
2009/06/08(月) 21:19:56ID:ScR8iayc0405名前は開発中のものです。
2009/06/08(月) 23:13:08ID:4xXNhiJa年齢で知識の量は違っても論理力はたいして変わらないと思う
0406名前は開発中のものです。
2009/06/08(月) 23:22:34ID:gmTgYuK1昔は小中でハンドアセンブルとかふつうだったし
テキストエディタ無かったし
アセンブラやコンパイラ無かったし
それでもゲーム作ってたからね
資料がネット無い時代だけど毎月大量の雑誌があったおかげで
今の10倍は情報量があると思う
14歳からはじめる〜の内容が毎月5冊くらい雑誌としてあったと思いねぇ
0407名前は開発中のものです。
2009/06/08(月) 23:31:36ID:VwdPN9TR0408名前は開発中のものです。
2009/06/08(月) 23:35:38ID:1Ns/D0F7モノがあふれてない方がかえって集中できてよいことの典型的な例ですな
0409名前は開発中のものです。
2009/06/08(月) 23:38:00ID:rJGFypi7情報も今のほうが圧倒的に多いし楽に手に入る。
逆に、情報や手段が多いせいで入りにくくなってる。
0410名前は開発中のものです。
2009/06/08(月) 23:58:56ID:gmTgYuK1方眼用紙もってドット絵かいたりハンドアセンブルばっかりしてた
変換表の半分くらいは暗記してたけど今じゃもう何も覚えて無い
c9がretだっけとかそんな感じ
ミスすれば暴走>リセットだったから実行するにも緊張した
結果机上デバッグにみんな慣れてソースやバイナリ見るだけですぐわかるようになってくる
バイナリ見たときのビッグエンディアンのわかりやすさはあこがれた
なんせ俺の暴走原因の90%は上位と下位のスワップし忘れがほとんどだったから
あと当時はPCの楽しさは俺達しかしらないんだぜ的なものもあったかな
というか全然普及して無いから虐げられてた
マイコン触れる=ネクラの変人で運動も何も出来ないんだろ的な
だからDXライブラリのように敷居を下げるライブラリにはがんばってもらいたい
今のほうが情報が入手しやすいというのはどうだろうね
CPUそのものとかOSとかデザパタとかそういうオカタイ情報は入手しやすいけど
ゲームを作りたい場合の情報の敷居の高さは半端じゃないよね?
徳間のM-FANみたいなのが必要かなと
0411名前は開発中のものです。
2009/06/09(火) 00:57:34ID:S/a6iR+n最初は出来る限りシンプルなゲームから作った方がいい…と、僕は思うんだ。
80年代前半より前の生まれなら、ゲーム&ウォッチが通じるんだが
最近の子(20歳以下)だと、どのへんが分かりやすい例え何だろうか。
0412名前は開発中のものです。
2009/06/09(火) 01:10:43ID:oifuXaCW>>410
俺も方眼紙にドット絵描いたり、
ノートにニーモニックでプログラム書いてから、ニーモニック→マシン語変換表見ながらマシン語に書き換えて、
それをバイナリエディタで入力とかやってたなぁw
ところで当時バイナリエディタって読んでたっけ? なんか別の呼び方だったような気がするが……。
0413名前は開発中のものです。
2009/06/09(火) 01:17:12ID:gC7kpoXP0414名前は開発中のものです。
2009/06/09(火) 01:46:37ID:PMo4RsPh0415名前は開発中のものです。
2009/06/09(火) 02:52:08ID:3VeuGuyA0416名前は開発中のものです。
2009/06/09(火) 03:20:38ID:C8Rc41AVなんであんなに創作意欲があったんだろうと思う
年取るとアイデアうかばない症候群になった
ただの鬱なのかもしれんが
0417名前は開発中のものです。
2009/06/09(火) 04:40:20ID:ur7it59gVCもあることだしファミコンでいいんじゃね?
0418名前は開発中のものです。
2009/06/09(火) 05:12:36ID:6uG82dMD教師に「そんなおもちゃが一体何の役に立つんだ」と
即却下されたのもなつかしい
0419名前は開発中のものです。
2009/06/09(火) 09:36:31ID:S/a6iR+nファミコンだと、スーパーマリオ3やドラクエ3も含まれるんだぜ?
ケータイアプリとかなら行けるのかな? やったことないから分からんのだが。
0420名前は開発中のものです。
2009/06/09(火) 09:50:17ID:ur7it59g0421名前は開発中のものです。
2009/06/09(火) 11:52:23ID:S/a6iR+n0422名前は開発中のものです。
2009/06/09(火) 13:07:47ID:IuPr0Cmy俺もツクールに数百時間費やしたくちだが、今思うと凄いな。
アイデアは今でも思い浮かぶんだが、頭の中だけで終わってそれを表に出そうっていう気にならない。
誰かが作ってくれるならアイデアとかは言うんだけど自分でやるってなるとめんどくさくて。
ちなみにその数百時間かけたのはセーブデータぶっ飛んで電子の藻屑に\(^o^)/
数百時間かけてすら、まだ1/5程度な完成度だったけど・・・
0423名前は開発中のものです。
2009/06/09(火) 14:14:05ID:+TNFSrzk0424名前は開発中のものです。
2009/06/09(火) 14:29:51ID:/uwI++Tj0425名前は開発中のものです。
2009/06/09(火) 14:45:39ID:/EtnpSFu0426名前は開発中のものです。
2009/06/09(火) 23:50:55ID:ggNV6tYDプログラムとしては、選択肢を選んだ順番に配列に格納して、正しい解答と比較することで正誤判定をしています。
一応、選択肢を選んで決定するところまではできたのですが、正誤判定の部分?がうまくいかないんです。
正しい順に選択肢を選んでも、間違っているということになっているみたいです。
なぜでしょうか?
あと4回目に選択肢を選ぶと、変な文字が表示されるのはなぜでしょうか?
自分の作ったプログラムです。
ヘッダファイルとメイン部分、会話(選択肢並び替え)部分に分かれています。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9402.cpp
C言語をはじめて1年、DXライブラリをはじめて2か月くらいなので、やさしく教えてください。
お願いします。
0427名前は開発中のものです。
2009/06/10(水) 01:02:39ID:EOc9oIq+char input[5][1];
をグローバルにすればとりあえず動くと思う
ところで、要素数1だったら配列の意味なくね?
アドバイスとして、
↓の関数あたりを使えばもう少しスマートに書けると思う
sprintf、strcmp (C言語)
DrawFormatString (DXライブラリ)
0428名前は開発中のものです。
2009/06/10(水) 15:37:12ID:UXlA/6A3inputをグローバル変数にしたら、うまくいきました。
アドバイスしていただいたことも参考にして、もう少しスマートなプログラムが書けるように努力します。
本当にありがとうございました。
0429名前は開発中のものです。
2009/06/10(水) 22:45:00ID:kJPqJciVかえって乱暴に扱われるってばっちゃが言ってた
0430名前は開発中のものです。
2009/06/10(水) 23:47:48ID:yn44iXp90431名前は開発中のものです。
2009/06/11(木) 23:55:55ID:GA3GCHk+if(keiken==0)printf("童貞乙");
0432名前は開発中のものです。
2009/06/12(金) 00:00:02ID:ADvlYAyg初期化しとけ
0433名前は開発中のものです。
2009/06/12(金) 00:04:48ID:M4d3vxIHこうですか?分かりません><
#define KEIKEN 0
if(KEIKEN==0)printf("童貞乙");
0434名前は開発中のものです。
2009/06/12(金) 04:04:32ID:Yy7W6LDGint keiken=0;
if(keiken==0)printf("童貞乙");
0435名前は開発中のものです。
2009/06/12(金) 07:22:27ID:9cqRM4P7if(keiken==0)printf("童貞乙");
0436名前は開発中のものです。
2009/06/12(金) 08:37:17ID:yeEoVlcI0437名前は開発中のものです。
2009/06/12(金) 11:39:23ID:jHstWptskeiken ++ ;
keiken ++ ;
keiken ++ ;
keiken ++ ;
if ( 1 ) printf ( "童貞乙" ) ;
これで。
0438名前は開発中のものです。
2009/06/12(金) 12:18:42ID:xPu8mGZk0439名前は開発中のものです。
2009/06/12(金) 12:22:38ID:Upl7Se9Gインクリメントってスペースがあってもいいの?
0440名前は開発中のものです。
2009/06/12(金) 12:33:12ID:5rESS90A0441名前は開発中のものです。
2009/06/12(金) 12:48:39ID:l4TbPUJWとか
if(!keiken)
ってみんなあんま使わない?
視認性重視で「==1」「==0」なのかな?
某神録のサイトでも今見たらそんな表記だった。
0442名前は開発中のものです。
2009/06/12(金) 13:02:13ID:jHstWptsよく使うと思うが、今回は単に>431に合わせただけじゃない?
あとは掲示板で見やすい書き方というのはあるかもしれんね。
0443名前は開発中のものです。
2009/06/12(金) 13:08:28ID:AJoYy9jzあえて==0使ったんでしょ。
実際のコードでもそういうことはやる。
0444名前は開発中のものです。
2009/06/12(金) 13:48:30ID:6cWATceQ0であることを強調するため。
あと文化圏の違いもある。
0が偽じゃない言語も多数存在するから、そういう言語出身の人は
if(keiken)というコードは気持ち悪く感じる。
逆に生粋のC/C++の人はif(keiken==0)というのは冗長に感じる。
俺は簡潔性よりもわかりやすさを重要と考えてるから、==で比較する。
使う言語がC++だけじゃないってのもあるけど。
0445名前は開発中のものです。
2009/06/12(金) 13:57:03ID:+pEtBUBPこういうのDXライブラリで作ってるのかな
0446名前は開発中のものです。
2009/06/12(金) 13:58:09ID:+pEtBUBPwhile(!CheckHitKey(KEY_INPUT_ESCAPE)){
}
おおこういう表記もできるのか
0447名前は開発中のものです。
2009/06/12(金) 14:39:12ID:Nk+ds+Ow関数の戻り値なら>>446みたいな感じで書くかな。
0448名前は開発中のものです。
2009/06/12(金) 15:36:56ID:CIdl30UY3値以上なら(不)等号あるいはswitchを使うかな
if (!strcmp(str, "hoge")) // 一致したら
とかは気持ち悪い
0449名前は開発中のものです。
2009/06/12(金) 16:05:58ID:wLR5hiQv0450名前は開発中のものです。
2009/06/12(金) 18:56:18ID:g9ISpJC5やっぱこれは見づらいのかな
0452名前は開発中のものです。
2009/06/13(土) 10:14:12ID:yreqn12m世の中には条件式を省略しようとする輩がいるから
0453名前は開発中のものです。
2009/06/13(土) 10:24:26ID:yreqn12mif(hoge()){
…
}
じゃ返値をひとつだけ判定することができないじゃないの
あとでhoge()の返値を増やしたら予期せぬ動作をする可能性が高い
hoge()の返値を絶対に増やさない!なんて自信満々に言える奴は少ないでしょ
==で結べば必ず1つの返値で動作するから安全
0454名前は開発中のものです。
2009/06/13(土) 13:01:19ID:khmiiTOMC++は多値返せないよ
戻り値のとり得る値が増減する、とエスパーすると、
関数の戻り値っていうのは、関数本来の意味を参照すると、
関数の作用そのもの、すなわち関数が実装する機能そのもの。
(わからないならSchemeやHaskellとか関数型プログラミング言語を一度触ってくれ)
これが変更されるということは、すなわち関数の機能が変わったか、設計の錬度が全く足りてない
(どんな機能を実装するかすらあやふやだった)かどちらか。
どちらにせよその変更は、その関数を使用するコード全体に波及する。
だから
>あとでhoge()の返値を増やしたら予期せぬ動作をする可能性が高い
この指摘はずれてる。
繰り返しになるけど、戻り値の変更はそれを使用するコード全体に波及するから、
予期せぬ動作をする可能性が高い、じゃなくて、予期せぬ動作をしないようにコード
を変更しないといけない。
0455名前は開発中のものです。
2009/06/13(土) 15:58:30ID:MRDz7JnU実装の修正は何度もやるとして
インターフェースや振る舞いはなかなか変えないもんだ
というか、戻り値の意味が2通りを超える時は
関数名も変えざるを得ない気がするが
0456名前は開発中のものです。
2009/06/15(月) 23:58:33ID:FuxW1Dfe透明色指定しても透明にならない
bmp2pngが必要
0457名前は開発中のものです。
2009/06/16(火) 01:46:16ID:H4jkoMGr何かいい方法あるかな?
x座標を調整するの面倒だ
0458名前は開発中のものです。
2009/06/16(火) 02:10:16ID:1CAlzcIC自分は使ったことないんで分からないけど、
GetDrawStringWidth
GetDrawFormatStringWidth
というのはどう?
で、長さを調べてxを調整して、文字列を出力するところまでを1つの関数にしちゃうの。
0459名前は開発中のものです。
2009/06/16(火) 02:19:38ID:qN6akUYZcountを0と1でオンオフしてSleep(300)とかで歩行と同じように調整はできたんだけど、
歩き出しが時々ぎこちないので悩んでます。sleepじゃなくていい方法が思いつかない
0460名前は開発中のものです。
2009/06/16(火) 02:28:14ID:H4jkoMGrフォントを変えないならいける
CreateFontToHandleで作ったフォントデータだと駄目っぽい
>>459
countを範囲でオンオフ切り替えてみては
if(count%40<20)//ドロー
else //ドロー2
count++;
0461名前は開発中のものです。
2009/06/16(火) 02:34:01ID:wxVXqeT5GetDrawStringWidthToHandleがあるじゃん
0462名前は開発中のものです。
2009/06/16(火) 02:36:09ID:H4jkoMGrうわ・・・恥ずかしい・・ごめんなさい
ありがとねん
0463名前は開発中のものです。
2009/06/16(火) 03:45:39ID:1CAlzcICそもそもSleep使ったら何も出来なくなるんじゃ?
0464名前は開発中のものです。
2009/06/16(火) 08:51:37ID:mvp6g5dM0465名前は開発中のものです。
2009/06/16(火) 09:09:09ID:q6YxOHAdClearDrawScreen();
if(count<20) 右足が前に出てるキャラ表示
if(count>=20&&count<40)左足が前に出てるキャラ表示
ScreenFlip();
WaitTimer(10);
count++;
if(count==40)count=0;
}
うーんよくわからん
0466名前は開発中のものです。
2009/06/16(火) 09:54:16ID:1CAlzcIC基本的な考え方はそれでいいと思うよ。
あとせっかく答えてくれた>460の答えも読んどいた方がいいんじゃね?
0467名前は開発中のものです。
2009/06/16(火) 10:06:16ID:yTy6SiIo基準FPS値決めて、フレーム数と秒が変換できるようにしてみるといい
あとWaitTimer(10)とかいうのはジョークだよね?w
0468466
2009/06/16(火) 10:16:47ID:1CAlzcIC>>467
おや、見逃してたw
もしかして>463(俺)の発言を勘違いしちゃったのかな……? だとしたらちょっと責任感が。
0469名前は開発中のものです。
2009/06/16(火) 12:57:31ID:zt3TsheyたぶんWaitTimer等の関数を使わないと高速足踏みに見えると感じて、
こういう手段で自然に見えるようにしたんじゃないかな。
一秒でひとつの動作をループさせる必要はないからこれはあまり良くないと思うけど。
0470名前は開発中のものです。
2009/06/16(火) 13:19:46ID:1CAlzcICcount値20ごとに表示を変えてるみたいだし、それは大丈夫なんじゃないかしら?
0471名前は開発中のものです。
2009/06/16(火) 14:04:12ID:KbLsp5Ay0472名前は開発中のものです。
2009/06/16(火) 14:17:30ID:MjcTUWQv0473名前は開発中のものです。
2009/06/16(火) 16:03:45ID:rewLOGjyと上級者ぶってみるわ
0474459
2009/06/16(火) 18:26:00ID:qN6akUYZWaitやSleepは使わずにFPSとかFrameやらを使って試行錯誤してみます。
countを0と1でオンオフにしてたけど>>465のようにフレームカウントにしてやってみます。
0475名前は開発中のものです。
2009/06/16(火) 18:35:39ID:1CAlzcIC0476名前は開発中のものです。
2009/06/16(火) 23:35:34ID:8GILQKQTレートは60ヘルツかも100ヘルツかもしれないし
65とか75とか微妙な数値になることもある
DXライブラリの教本にあるように書かないと、動作環境が変わった時に同じように動く保証がない
俺が以前に見た酷い例
FPSが60切ると点数がどんどん減る意味不明なゲーム
しかもどんなアルゴリズムか知らんが、FPS60でも点数が減りっぱなし
ああいう「自分の環境しか見ない」人間は駄目だな
0477名前は開発中のものです。
2009/06/16(火) 23:40:46ID:fYBFrBfu0478名前は開発中のものです。
2009/06/16(火) 23:56:34ID:1CAlzcICと言っても、個人レベルの開発でどこまで他の環境を考えられるやら。
定番のアルゴリズムとかは書けるかもしれないけど、それだけじゃ意味ないし。
結局のところ「知らね」って言いきるしかできない。
0479名前は開発中のものです。
2009/06/16(火) 23:59:57ID:+nd9Tj3kティアリングが気になるんだよなぁ。
他人が作ったゲームは60FPS超えるやつとかあるけど
ティアリングあまり気にならないんだよな。どうやってんだろ。
0480名前は開発中のものです。
2009/06/17(水) 00:27:22ID:gsrBiXQcWaitTimer(10); 入れるとCPU使用率が下がる ただそれだけw
0481名前は開発中のものです。
2009/06/17(水) 00:32:32ID:s0zhQi6M君みたいな人が駄目らしいよ
自分の環境しか見ない人間は駄目なんだってさ
ていうかさ、FPSが60切ると点数がどんどん下がるゲームかどうか
ソースもアルゴリズムも考えずにどうやって判別したのかねwプッw
偉いなぁこの人wプレイしただけでバグの原因分かっちゃうって>>476は神だねwプッw
0482名前は開発中のものです。
2009/06/17(水) 03:56:59ID:moXGEW/H1,Sleepを使ってFPSを30ほどに落としてやる。
2,時間と同期をとる。
くらいしか思いつかない。
0483名前は開発中のものです。
2009/06/17(水) 07:52:50ID:zFwmddUq0484名前は開発中のものです。
2009/06/17(水) 08:55:08ID:Sg+3JQO30485名前は開発中のものです。
2009/06/17(水) 15:01:39ID:v4ECr6VG作りやすいのは固定フレーム、性能を活かしやすいのは可変フレーム。
自分は面倒なので、60固定前提でやってるんだが
(1)タイマ(ミリ秒)を取得して1フレームの規定時間(16msec)が過ぎるまで待つ
(2)モニタのVSYNCを待つ
(3)モニタのリフレッシュレートを変更する
の3パターン用意して、あとはユーザに適当に選んでもらおうかなと。
まずいかな?
0486名前は開発中のものです。
2009/06/17(水) 18:17:49ID:V4BAg+VP0487名前は開発中のものです。
2009/06/17(水) 18:47:03ID:A2Hqv0+b・環境(グラボの設定)によっては垂直同期信号待ちがOFFになってる場合があるのでFPSは保たれない。
・垂直同期信号待ちがONだとして、FPS保てる状態でも、
モニタのリフレッシュレートを60にしてたり70にしてたりってのはユーザーの好き好きなので、
作り手の望んだとおりのFPSになってくれるとは限らない。
0488名前は開発中のものです。
2009/06/17(水) 20:28:42ID:00woQzQy0489名前は開発中のものです。
2009/06/17(水) 20:53:25ID:00woQzQyhttp://www.pqrs.org/tekezo/gba/index.html.ja
http://omoshiro-joho.com/tech-center/cgi-bin/wiki/index.php?Linux%A4%C7GBA%A5%B2%A1%BC%A5%E0%B3%AB%C8%AF
http://nocash.emubase.de/gbatek.htm
http://belogic.com/gba/directsound.shtml
0490名前は開発中のものです。
2009/06/18(木) 01:52:47ID:lg5GVuaj0491名前は開発中のものです。
2009/06/18(木) 04:16:26ID:eqFlz8O10492名前は開発中のものです。
2009/06/18(木) 04:54:12ID:U/ILN7Qk一応あるっしょ。
0493名前は開発中のものです。
2009/06/18(木) 05:03:47ID:4gTcdCic0494名前は開発中のものです。
2009/06/18(木) 05:07:59ID:U/ILN7Qkアクションゲームのゲーム速度2割アップとか結構きついですぜ
0495名前は開発中のものです。
2009/06/18(木) 07:25:22ID:8Inai5Jq開発中止?
0496名前は開発中のものです。
2009/06/18(木) 09:48:52ID:obCaTvEe0497名前は開発中のものです。
2009/06/18(木) 16:23:14ID:FAWLSPyh気づくのはいつもしばらくプレイしてからだった
0498名前は開発中のものです。
2009/06/18(木) 16:53:46ID:U/ILN7Qk気付かぬうちに難易度が上がってたり、タイミングが変わってミスを誘発させたりするって
ちょっと怖いよな。
0499名前は開発中のものです。
2009/06/18(木) 17:10:57ID:4gTcdCicってことは2次元アクションでいえば1フレーム毎の移動量が固定なのか。
自分自身も楽だからそういう作り方をしているけど…
例えばあるゲームで
60FPSだと重いのでコンフィグで30FPSに変更って場合は
ゲーム速度そのものは変わらないものだと思っていた。
0500名前は開発中のものです。
2009/06/18(木) 17:35:08ID:u8KJWVMz時間で処理、描画だけFPSで更新なら変わらないよ。
全体をFPS60処理だと60より上に上がらないようにしてるのが一般的かなぁ。
ツールで簡単に上げれたり、処理間に合わないとFPS下がって全体の速度も低下する。
0501名前は開発中のものです。
2009/06/18(木) 17:56:28ID:U/ILN7Qkフレームではなく時間単位で処理してるなら
ゲーム速度云々の話題にすらならんと思うよ。
0502名前は開発中のものです。
2009/06/18(木) 21:48:15ID:3XyNBKLr0503名前は開発中のものです。
2009/06/18(木) 21:57:55ID:y4gPpvjp0504名前は開発中のものです。
2009/06/18(木) 22:12:42ID:4gTcdCicユーザーをゲームに合わしちまえばいいんだ
0505名前は開発中のものです。
2009/06/18(木) 23:01:35ID:7QIAxIr+0506名前は開発中のものです。
2009/06/18(木) 23:19:36ID:cOrVzTjy違うんじゃない?
モニタのリフレッシュレートが60だろうが70だろうが時間単位で処理するからこそ
スピード一定でティアリングも発生しないようにできるんでしょ。
垂直同期信号が切ってあるなら、そもそもティアリングは発生してあたりまえだろうし。
0507名前は開発中のものです。
2009/06/18(木) 23:47:20ID:3XyNBKLr1画面分のデータの構築途中でそのメモリイメージが画面に表示されて画面上部と下部でフレームがずれるということだから
ティアリングが発生するということじゃないの
0508名前は開発中のものです。
2009/06/18(木) 23:58:10ID:cOrVzTjyなぜ時間単位で処理する必要があるかって言ったら、
垂直同期信号待ちをして、ティアリングを起こさないようにしたいけど、
ユーザーのモニタのリフレシュレートが60なのか70なのかが判らない、からでしょ?
0509名前は開発中のものです。
2009/06/19(金) 00:03:49ID:Wkij18nv実際の画面の更新途中でメモリ上の画面データが更新された場合に、描画済み画素と未描画画素でフレームがずれるためティアリングが発生する、だった。
要するにAPIでリフレッシュレートを60に設定して60前提で作ればよい。60に対応してないモニタを使ってるやつのことは知らない。
0510名前は開発中のものです。
2009/06/19(金) 00:08:11ID:AlkmRsbh0511名前は開発中のものです。
2009/06/19(金) 00:12:38ID:s7w0uGNMFPS指定APIは過信してはいけない
上のほうにあるようにドライバ側の設定が優先される
0512名前は開発中のものです。
2009/06/19(金) 00:22:34ID:Wkij18nv0513名前は開発中のものです。
2009/06/19(金) 00:47:10ID:pN8o6lEn「60以外は知らん」と言いきっちゃうのも、それはそれでアリな気がする
0514名前は開発中のものです。
2009/06/19(金) 02:05:59ID:7uKPrG8o0515名前は開発中のものです。
2009/06/19(金) 03:38:42ID:AlkmRsbh0516名前は開発中のものです。
2009/06/19(金) 08:04:02ID:huFKHnzQ0517名前は開発中のものです。
2009/06/19(金) 09:00:27ID:Dq7L9OoN20世紀へお帰り下さい
0518名前は開発中のものです。
2009/06/19(金) 09:40:02ID:4AnMu6gm動作環境をテキストに書いたら、それを満たすあらゆる環境で同じように動いてもらわないと困る
デフォルトで不具合が出る可能性があるなら、設定で変えられるようにしなきゃ駄目
なるべくたくさんの環境でテストするのも大事
0519名前は開発中のものです。
2009/06/19(金) 12:28:29ID:8D0wDPEb0520名前は開発中のものです。
2009/06/19(金) 12:57:07ID:ciGq9GNbそういう選択式になってるゲームってほとんどみないよな?
普通はどうやってんだろ、ってのが話題の焦点じゃないかな。
0521名前は開発中のものです。
2009/06/19(金) 15:25:14ID:pN8o6lEn実際、60Hz固定のモニタも多いんじゃね?
0522名前は開発中のものです。
2009/06/19(金) 16:07:46ID:L4Ogxl+D飽きた
0523名前は開発中のものです。
2009/06/19(金) 16:47:37ID:8D0wDPEb0524名前は開発中のものです。
2009/06/19(金) 23:33:13ID:Dq7L9OoNだから帰れってww
0525名前は開発中のものです。
2009/06/19(金) 23:50:46ID:L4Ogxl+DじゃぁDxLibの今後
俺はもう少し発展してくれてもいいと思う、3Dを強化して欲しいね
0526名前は開発中のものです。
2009/06/20(土) 00:41:17ID:ynTX3CaL3D強化するなら作り直しレベルだろ
0527名前は開発中のものです。
2009/06/20(土) 00:42:51ID:FZJG9pXN0528名前は開発中のものです。
2009/06/20(土) 00:53:36ID:gQS8hglY0529名前は開発中のものです。
2009/06/20(土) 01:03:05ID:X3CDDO5oいま3D機能作ってるって公式掲示板で言ってたけど・・・
意外とみんなチェックしてないんだな
0530名前は開発中のものです。
2009/06/20(土) 01:08:17ID:ppcvkMn4なん…だと?
0531名前は開発中のものです。
2009/06/20(土) 01:49:27ID:FZJG9pXN0532名前は開発中のものです。
2009/06/20(土) 02:34:40ID:gQS8hglY0533名前は開発中のものです。
2009/06/21(日) 02:15:20ID:dtFx8GuNcsv形式で出力して、読み込んで描画したいんだけど上手くいきません
#include "DxLib.h"
int WINAPI...
{
if( DxLib_Init() == -1 ) return -1 ;
int mapchip[256];
char mapdata[15][20];
int filehandle;
LoadDivGraph("a.bmp",256,16,16,16,16,mapchip);
f = FileRead_open("a.csv");
FileRead_gets(mapdata,num,filehandle);
このあとfor文でFileRead_getsで読み込んだ1行を15回くりかえして
mapchipに入れていきたいんだけど・・・
FileRead_getsのnumに何を入れていいのかが??状態。
リファレンス読んでもメモリ領域のサイズて書いてあるけど・・・
日本語おかしくてスマン
0534名前は開発中のものです。
2009/06/21(日) 02:35:09ID:ffHKmVPnてか、a.csvの内容はどんな感じになってんの?
0535名前は開発中のものです。
2009/06/21(日) 02:48:44ID:aQAsxkjfint mapdata[15][20],mapwidth= 0, mapheight= 0, mapchipwidth, mapchipheight, bitcount;
int filehandle;
char buf[1024];
filehandle = FileRead_open("a.csv");
if (filehandle==0){エラー処理}
int gyoucount = 0,retucount = 0, iVal,layercount;
while((FileRead_eof(filehandle) == 0)&&( gyoucount < mapheight+1 ))
{
FileRead_gets(buf, 1023, filehandle);
if (gyoucount == 0){
sscanf_s(buf, "%d,%d,%d,%d,%d,%d", &mapwidth, &mapheight, &mapchipwidth, &mapchipheight, &layercount, &bitcount);
}else{
while(retucount<mapwidth){
char *next_token;
if (retucount==0){
iVal=atoi(strtok_s(buf, ",",&next_token));
}else{
iVal=atoi(strtok_s(NULL, ",",&next_token));
}
mapdata[gyoucount-1][retucount] = iVal;
retucount++;
}}
gyoucount++;
retucount = 0;
}
FileRead_close(filehandle);
if( ( gyoucount != mapheight+1 ) || ( retucount != 0 ) ){エラー処理}
0536名前は開発中のものです。
2009/06/21(日) 02:49:49ID:dtFx8GuN0 0 0 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1
1 1 1 1 1 0 0 0 0 0 0 0 1 1 3 3 0 0 0 0
1 1 1 1 1 1 0 0 0 0 0 0 0 0 3 3 0 0 0 0
1 1 1 1 1 1 1 0 0 0 0 0 3 3 3 0 0 0 0 0
1 1 1 1 1 1 1 0 0 0 3 3 3 3 3 3 0 0 0 0
0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 0 2 2 0 0
0 0 2 2 2 2 2 2 0 0 0 0 3 3 0 2 2 0 0 0
0 0 0 0 0 2 2 2 0 0 0 0 2 2 2 2 0 0 0 0
0 0 0 0 0 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0が草原で1が川で2が森で3が山です
1行ずつ読み込んでchar chip[ ][ ]に入れて
その番号をint型の数字に変換してmapchip[ ]で描画させたいんですが・・orz
ごめん、メモリ領域のサイズってどうやって調べるの?
0537名前は開発中のものです。
2009/06/21(日) 04:17:54ID:jkwbtsZu0538名前は開発中のものです。
2009/06/21(日) 08:29:25ID:vb/GsENJ0539名前は開発中のものです。
2009/06/21(日) 09:37:49ID:SurdRKYg遅れたけど正確にはダブルバッファリングしてるからティアリングはおきないよ。
データの構築中に画面に表示される事は無い。
あと垂直同期を待ちつつタイマーで調整する事も可能。
具体的にはタイマーでfpsを調整すれば、ゲームが基準にするのはタイマーじゃなく、
一定間隔が保障されてるフレームを基準にすればおk
0540名前は開発中のものです。
2009/06/21(日) 13:35:35ID:QJhUeuVRifstream+For2重ループで読み込んでしまえば良い
都合のいいことに半角スペース無視ってくれるからね
c++知らなければスルーしてよし
0541名前は開発中のものです。
2009/06/21(日) 13:59:11ID:E25maqZD最期の2行の意味をくわしく。
0542名前は開発中のものです。
2009/06/21(日) 14:24:01ID:ZO5ct3aw60の時は、前回の1/60秒後の世界を描くし50の時は1/50秒後の世界を描くんだろう。
0543名前は開発中のものです。
2009/06/21(日) 14:40:01ID:/SjwP+Lmそういうのが載ってる詳細なリファレンスは無いんですか?
0544名前は開発中のものです。
2009/06/21(日) 15:01:10ID:E25maqZD下記に追記する形で。
while(1){
main_loop();
flip();
}
0545名前は開発中のものです。
2009/06/21(日) 15:55:05ID:gvSWV/Tl:
ScreelFlip()
時間計測A(ミリ秒)
:
ScreenFlip()
時間計測B(ミリ秒)
:
移動距離算出 100 * ( B-A ) / 1000
:
ScreenFlip()
時間計測〜
って感じ?
0546名前は開発中のものです。
2009/06/21(日) 17:22:04ID:nC5CYBlY垂直同期が取れるなら
while(1){
main_loop();
sleep until 垂直同期60hz;
flip();
}
取れないなら
A = GetTickCount();
while(1){
main_loop();
B = GetTickCount();
sleep(17 - ((B - A) % 17)); //1tick = 0.001秒, 17tick = 1/60秒と仮定
flip();
A = B;
}
ただ、こうするとsleepしてる時間が無駄だから…
0547名前は開発中のものです。
2009/06/21(日) 17:24:40ID:nC5CYBlYmain_loop()の処理時間が十分に短いなら
A = GetTickCount();
while(1){
do {
main_loop();
B = GetTickCount();
} while (B-A < 17);
flip();
A = B;
}
あるいはタイマーを使うか…
A = GetTickCount();
while(1){
main_loop();
B = GetTickCount();
SetTimer(17 - ((B - A) % 17), flip());
A = B;
}
それとも描画と計算は別スレッドにするか…
0548名前は開発中のものです。
2009/06/21(日) 20:10:23ID:SurdRKYgそうとは限らないよ。
まずfps制限と描画を完全にわけて考える。
fps制限は60に設定したとする。
int nowtime = GetNowCount();
static int oldtime = 0;
static int frametime = 1000 / 60;
int diftime = nowtime - oldtime;
while(1)
{
if(diftime >= frametime)
{
oldtime = nowtime;
break;
}
else
{
Sleep(1);
nowtime = GetNowCount();
diftime = nowtime - oldtime;
}
}
これで垂直同期しようがしまいが60で固定された。
1ループで1フレーム1/60秒が保障されたので、1秒で100ドットキャラを進ませたいのなら、60フレームで100ドット進ませればおk
5秒後に何かをしたいときも、5秒をタイマーで計測するんじゃなくて300フレーム後に行えばおk
だから>>539で「ゲームが基準にするのはタイマーじゃなく、一定間隔が保障されてるフレームを基準にすればおk」と書いた。
ただ、これだとスペック不足によって60fpsが出ない場合や、リフレッシュレートが60以外でかつ垂直同期を待った場合中途半端な同期によって60fpsが出ない場合(これは垂直同期を待たない事で解決出来る)、
フレームがゲームスピードの基準になっているのでゲームスピードが遅くなってしまう。(処理落ち)
これはこれでおkならそのままでいいが、ゲームスピードだけは死守するのならフレームスキップ(コマ落ち)が必要になる。
この方法も色々あるので今回は割愛。
0549名前は開発中のものです。
2009/06/21(日) 20:20:31ID:E25maqZD0550名前は開発中のものです。
2009/06/21(日) 20:27:19ID:SurdRKYgティアリングの話がしたいの?
>垂直同期を待つってことは動作速度がリフレッシュレート固定になるってことじゃないの?
これを解決したいの?
どっちなの?
てか548を読んで解決出来なかったの?
質問しといてなんなの。
0551名前は開発中のものです。
2009/06/21(日) 20:38:53ID:E25maqZD0552名前は開発中のものです。
2009/06/21(日) 20:52:15ID:dtFx8GuN書いてあるよ
0553名前は開発中のものです。
2009/06/21(日) 20:52:45ID:n8mlBebR>>539に書いてあんじゃん
SurdRKYgがかわいそすぎる、援護するぜ
んでぐぐったらすぐにわかりやすいのでてきたぞ
ちょっとは自分で調べろ
ttp://spitfire.client.jp/program/fps.html
0554名前は開発中のものです。
2009/06/21(日) 20:55:52ID:dtFx8GuN0555名前は開発中のものです。
2009/06/21(日) 21:15:08ID:E25maqZDリフレッシュレートをAPIで固定する、か
リフレッシュレートを何らかの方法で取得して、1フレームの移動量をリフレッシュレートに合わせて変更する
しかないわけか。
0556名前は開発中のものです。
2009/06/21(日) 21:26:14ID:nqKSgOSf何が「なるほど」なんだか・・・
548をどう読めば
「リフレッシュレートを何らかの方法で取得して、1フレームの移動量をリフレッシュレートに合わせて変更する 」
の説明になるんだよ
読む気がないなら質問なんてするな
0557名前は開発中のものです。
2009/06/21(日) 21:33:30ID:E25maqZDダブルバッファリングしてるからティアリングはおきないとか言ってるし。
0558名前は開発中のものです。
2009/06/21(日) 21:41:05ID:OYxJ3LRg垂直同期信号待ちしないと、裏画面と表画面切り替える瞬間にモニタ画面更新される事もあるから結局ティアリングは発生する。
0559名前は開発中のものです。
2009/06/21(日) 21:59:20ID:SurdRKYg垂直同期を待たない事で解決出来るのは60fpsにならない場合の話だから下5行は読まなくていいよ。
しかもコマ落ちさせれば同期待ちでも解決出来るって書いてあるのに…。
120Hzのモニタで同期待ちするけど60fpsに制限すればゲーム速度も一定になるでしょ?
1フレームの移動量を変更するんじゃなく、移動量をフレームに合わせれば常に一定でしょ?
>>558
flipする時はコピーするんじゃなくてVRAMの参照先を変えるだけだから、VRAM上のデータを書き換え途中って事は無いと思うけど。
だからどの瞬間においても描画途中で画面更新される事は無いと思うんだけど違うのかな?
もちろんこれはティアリングの厳密な意味でのことなので、広義の意味の 画面のちらつき=ティアリング として使われる事についてはそれでいいけど。
0560名前は開発中のものです。
2009/06/21(日) 22:03:54ID:nqKSgOSf残念だけど垂直同期を待たない場合はビデオカードがモニタに映像を送信している間でも
参照先のVRAMアドレスを変えてしまうからティアリングは発生する
0561名前は開発中のものです。
2009/06/21(日) 22:08:13ID:OYxJ3LRgDXライブラリで裏画面への描きこみ、ScreenFlipってほとんどデフォだよね?
これが君のいうダブルバッファリングでしょ?
ScreenFlipの垂直同期信号待ちをOFFにして、
タイマーだけでスピード固定するようにして、フルスクリーンで動かしてごらん。
ティアリング一目瞭然だから。
0562名前は開発中のものです。
2009/06/21(日) 22:11:13ID:SurdRKYgそうなんだ。どうもありがとう。
同期しない事によるちらつきは画面更新部分と非更新部分の時間がばらばらな事による現象かと思ってた。
モニタのVsync信号の方が偉くて、そのタイミングでflipした時は次のVRAMの更新先を強制的に参照するみたいな認識でいいのかな。
0563名前は開発中のものです。
2009/06/21(日) 22:16:46ID:SurdRKYgややや、ちらつくのは一目瞭然だけど、ティアリング(=上半分表画面で下半分裏画面のような状態)かどうかっていのは人間の目では判別不可能でしょ。
そのちらつきの原因は、更新部分と更新して無い部分の時間差によるものだと思ってた。
例えば背景が流れる画面の場合、1場面を■、次の場面を□とした場合、
■□■□■□■□■□
と見えればちらつかないが、
■■□■□□□■■□
のように見えるとちらついてみえると思うんだ。
でも>>560のレスで、ティアリング自体も起きているとのことなので一応解決出来た。
これはもうちょっと自力で調べてみようと思う。
0564名前は開発中のものです。
2009/06/21(日) 22:23:40ID:OYxJ3LRg描き終わって、次の画面が描き始められるまでの一瞬の間にVRAMのアドレスを切り替える、って事だね。
そうする事で初めてティアリングを防げる。
>>563
ちらつくというより画面が波打つ、と言った方がよかったかな。
>ティアリング(=上半分表画面で下半分裏画面のような状態)かどうかっていのは人間の目では判別不可能でしょ。
ぴったりには合わないとは言え、だいたい60FPSで固定しようとしてスピード調整してるわけだから
ズレが生じるのも大体画面更新の同じタイミングになるわけ。
当然、人間の目にもはっきり判るよ。
0565名前は開発中のものです。
2009/06/21(日) 22:40:54ID:Fv4f33jD固定フレームレートの2Dゲーははっきりとわかる
キャラだけならともかく背景のスクロールもよくつかわれるからくっきりと
3Dとかで可変フレームレートだとわかりにくくなるかな
でも2Dメインでしょ、DXライブラリ
0566名前は開発中のものです。
2009/06/21(日) 22:52:23ID:i9HN6tkr垂直同期を待たずにティアリングを抑制する方法を答えよ
答)
垂直同期信号の発生周期をフリップのタイミングの合わせればよい
0567名前は開発中のものです。
2009/06/21(日) 23:06:19ID:FjFdKqe+0568名前は開発中のものです。
2009/06/21(日) 23:09:10ID:SurdRKYgCRTの場合は走査線があるので画面の上半分と下半分で違う場合もあると思うんだけど、
液晶の場合は1画面をいっぺんに更新するわけだけど、それでも上半分と下半分で違うようなものになるってことなのですか?
VRAMから送られるデータは画面の左上から右下のデータが順次送られてるのかな?
そしてその送られてる時間がネックになっていてその間にflipしたらバックバッファの途中のアドレスから参照されるってこと!?
それってそもそもおかしくないですか?
バックバッファが出来上がっていない可能性もあるし、どうせ同期待ちしていないんだからとりあえずフロントバッファのデータを送りきってからバックバッファ分を送ればいいわけだし。
じゃあ将来例えば物凄くリフレッシュレートが高くなった場合、VRAMからモニタにデータを送る時間よりもモニタの更新速度の方が速かったりしたら
"同期待ちしてるのにティアリングが起きてる"っていう最悪な状態になっちゃいそうですが。
なのでやっぱり液晶の場合はティアリングは起きていないと思いますがどうでしょう?
>>565
えと、だから、画面更新に合わせずに好き勝手にflipしたら、
ある1枚が長く見えてるかもしれないしある1枚が欠損しているかもしれない。
だからちらつくように見えると思うんだけど、
肉眼でただちらつくように見えるからってそれはティアリングが起きてる証明にはなってないよ。
0569名前は開発中のものです。
2009/06/21(日) 23:33:13ID:E25maqZD0570名前は開発中のものです。
2009/06/21(日) 23:41:01ID:nqKSgOSf>VRAMから送られるデータは画面の左上から右下のデータが順次送られてるのかな?
Yes
>そしてその送られてる時間がネックになっていてその間にflipしたらバックバッファの途中のアドレスから参照されるってこと!?
Yes
>バックバッファが出来上がっていない可能性もあるし、どうせ同期待ちしていないんだからとりあえずフロントバッファのデータを送りきってからバックバッファ分を送ればいいわけだし。
?
何を言いたいのか良くわからないけど
VRAMのデータをモニタに送るタイミングはPC側からは操作できない
リフレッシュレートに依存する
>じゃあ将来例えば物凄くリフレッシュレートが高くなった場合、VRAMからモニタにデータを送る時間よりもモニタの更新速度の方が速かったりしたら
>"同期待ちしてるのにティアリングが起きてる"っていう最悪な状態になっちゃいそうですが。
縦解像度nの画面データをモニタに送る流れ
0lineを転送→水平同期期間→1lineを転送→水平同期期間→
nlineを転送→垂直同期期間→0lineを転送→水平同期期間
つまり、垂直同期間は1画面分のデータを転送した後にくるので、
「VRAMからモニタにデータを送る時間よりもモニタの更新速度の方が速い」
というのはそもそもありえないよ、nline分送る前に垂直同期期間に突入する事はないから・・・
0571名前は開発中のものです。
2009/06/21(日) 23:45:26ID:nqKSgOSf>リフレッシュレートに依存する
厳密には設定した解像度とリフレッシュレートに応じて発生する
水平同期信号と垂直同期信号に依存する
>0lineを転送→水平同期期間→1lineを転送→水平同期期間→
>nlineを転送→垂直同期期間→0lineを転送→水平同期期間
0lineを転送→水平同期期間→1lineを転送→水平同期期間→
(n-1)lineを転送→垂直同期期間→0lineを転送→水平同期期間
の誤り
0572名前は開発中のものです。
2009/06/22(月) 00:07:43ID:kame7wv0おまえ顔真っ赤だぞ?
0573名前は開発中のものです。
2009/06/22(月) 00:08:14ID:1Ugl+7iQ0574名前は開発中のものです。
2009/06/22(月) 00:09:59ID:ErP4dB7Rそういうことだったんですね。
詳しい説明どうもありがとうございます。
>VRAMのデータをモニタに送るタイミングはPC側からは操作できない
>厳密には設定した解像度とリフレッシュレートに応じて発生する
>水平同期信号と垂直同期信号に依存する
ビデオカード側がモニタに送るタイミングを主導しているんだと思ってましたけど、そこが間違っていたようです。
0575名前は開発中のものです。
2009/06/22(月) 00:14:49ID:kAGY284T>だから、画面更新に合わせずに好き勝手にflipしたら、
>ある1枚が長く見えてるかもしれないしある1枚が欠損しているかもしれない。
>だからちらつくように見えると思うんだけど、
ちらつくっていうよりも、それはがたつくというか、コマ落ちとかそういう心配でしょ?
ティアリングってのは君が言ってるように上と下の画像にズレが生じる現象だから、
横に対して線が入って(実際にはドット単位でずれてる)波打ってるようにみえる。
コマ落ちだったらこうは見えないはずでしょ?
実際にプログラム動かしてみてみれば一目瞭然だと思うんだが……。
0576名前は開発中のものです。
2009/06/22(月) 00:17:48ID:VZ3co5HH14歳のやつ
計算式思い切り間違えているぞ。
実際にリフレッシュレートの違うモニタで確かめたから間違いない。
0577名前は開発中のものです。
2009/06/22(月) 00:28:31ID:XZV3fJ2J0578名前は開発中のものです。
2009/06/22(月) 09:11:17ID:4PYRYd3U何がどう違うのか具体的に例をつけて書け
改良案も書け
0579名前は開発中のものです。
2009/06/22(月) 14:34:23ID:N6BYq6ehママにでも頼め。
0580名前は開発中のものです。
2009/06/22(月) 15:54:58ID:VZ3co5HH自分で考える癖をつけよう。
適当な数字を入れて検証してみ。
明らかにおかしいのがわかるから。
どうおかしいのかわかれば治し方は自明だと思う。
0581名前は開発中のものです。
2009/06/22(月) 17:39:07ID:oZ+8nNkj学生さんなのかな?
デジタル写真に法的な証拠能力は無いわけだが
0582名前は開発中のものです。
2009/06/22(月) 17:40:41ID:pV5yAQzs0583名前は開発中のものです。
2009/06/22(月) 18:16:54ID:VZ3co5HH0584名前は開発中のものです。
2009/06/22(月) 20:45:11ID:C5JJD30U0585名前は開発中のものです。
2009/06/22(月) 20:51:20ID:CIAC500Z0586名前は開発中のものです。
2009/06/22(月) 20:51:55ID:kame7wv0いい年こいて2chやってんじゃねえよカス
0587名前は開発中のものです。
2009/06/22(月) 21:05:11ID:CIAC500Z0588名前は開発中のものです。
2009/06/22(月) 21:10:13ID:kame7wv00589名前は開発中のものです。
2009/06/22(月) 21:11:51ID:CIAC500Z0590名前は開発中のものです。
2009/06/22(月) 21:32:05ID:6Vl6l2Pm0591名前は開発中のものです。
2009/06/22(月) 21:58:40ID:kame7wv0オッサンにもなってゲームでも作ってんスかね?w
0592名前は開発中のものです。
2009/06/22(月) 22:52:27ID:wZqXAX7r0593名前は開発中のものです。
2009/06/22(月) 23:27:33ID:PR8N99oV0594名前は開発中のものです。
2009/06/22(月) 23:37:18ID:6Vl6l2Pm0595名前は開発中のものです。
2009/06/23(火) 00:57:26ID:JW/qeXlf0596名前は開発中のものです。
2009/06/23(火) 01:04:40ID:/wkYhisO0597名前は開発中のものです。
2009/06/23(火) 09:24:14ID:eUvBMQ0GDXライブラリでおもしろいゲーム創っていこう。
0598名前は開発中のものです。
2009/06/23(火) 09:52:25ID:dhA25QDvこういう奴は駄目だな……
デバッグ報告になってない
再現例も書けない奴は現場に出てこないでほしいと思う
そもそも「適当な数字を入れたら」ってのは、「適当な数字が必ず入る」という前提なのか?
プログラムの動作の中で「適当な数字」が入らざるを得ないような状況を説明できるのか?
例えばOSやモニタやリフレッシュレートを変えたらおかしい、と言うなら説明になるが
チート使ったらゲームがバグった、レベルの議論は論外だ
こういう人に限って動的な数値に固定値を代入したりしてるんだから
0599名前は開発中のものです。
2009/06/23(火) 09:57:56ID:NMdhocxd現場では嫌がられると思うぞ。
0600名前は開発中のものです。
2009/06/23(火) 09:58:29ID:NvkMU1Q4わからないなら、わかりません教えてくださいって素直に言えばいいんだよ。
0601名前は開発中のものです。
2009/06/23(火) 10:49:50ID:4P883XyE0602名前は開発中のものです。
2009/06/23(火) 12:18:26ID:A0fh8Dl0なんでこんなカリカリしてんのさ
0603名前は開発中のものです。
2009/06/23(火) 12:28:04ID:btxPW8HG0604名前は開発中のものです。
2009/06/23(火) 15:57:39ID:+DVKp8CTわからないなら素直にそういえばいいじゃない。
>例えばOSやモニタやリフレッシュレートを変えたらおかしい、と言うなら説明になるが
>>576
疑うならリフレッシュレート変えて実際に試してみ。
0605名前は開発中のものです。
2009/06/23(火) 17:46:43ID:ifo/8btq0606名前は開発中のものです。
2009/06/23(火) 22:32:28ID:BZp72+wO掲示板だし
そもそも教えない奴にこそ性格に問題抱えてる事がほとんど
0607名前は開発中のものです。
2009/06/23(火) 22:34:58ID:BZp72+wOググレとかそれ以前のことでしょとか嫌味吐くのおまえらじゃん
0608名前は開発中のものです。
2009/06/23(火) 23:13:33ID:joZZV7Mo例えば、タイトル画面でスタートボタン押してから次の画面が表示されるまでの待ちの処理ってのはどうやってフレーム単位で処理すればいいんだろう。
0609名前は開発中のものです。
2009/06/23(火) 23:19:45ID:+iWMMldZこれだけ色々答えてくれる場でなんでそういう考えに至るのか。
あまりにガキ過ぎる。
0610名前は開発中のものです。
2009/06/23(火) 23:21:51ID:UNSoodNB0611名前は開発中のものです。
2009/06/23(火) 23:24:00ID:ifo/8btqどういう意味?
待ちの時間って、本当に何もしないって事?
それともデータロードとかしてる時の事?
0612名前は開発中のものです。
2009/06/23(火) 23:53:01ID:95CP5Nnoガキは教えて貰うのが当たり前だと勘違いしてるから始末が悪い。
0613名前は開発中のものです。
2009/06/24(水) 00:21:16ID:9O2FRRtx0614名前は開発中のものです。
2009/06/24(水) 00:45:52ID:km6ob3xz//14歳本より
//リフレッシュレートの高い環境ほど1フレームあたりの移動量を小さくしfloatの配列にセットする
void SetFrameRate()
{
float frametime = 0;
unsigned int s = GetNowCount();//計算開始時刻をsに代入
for(int i=0; i<30; i++)
{
ScreenFlip();
unsigned int e = GetNowCount();//計測終了時間をeに代入
frametime += e - s ;
s = e;
}
frametime = frametime/30;//30回採取した経過時間の平均を取る
for(int i=1; i<20; i++)
{
idouryou[i] = i / frametime * 16.67;//←ここの式が間違い!自力で治そう!
}
}
解説文は間違っていないから単純ミスだろう
適当な数字を入れてみって言ったのは
frametimeの値が小さくなればどうなるか式に入れて考えてみってこと
試すまでもなくこの式がおかしい事が判る筈
0615名前は開発中のものです。
2009/06/24(水) 01:14:19ID:OqjteeH50616名前は開発中のものです。
2009/06/24(水) 01:20:49ID:zu36k+NF答え言っちゃいけないのかな
あそことあそこ入れ替えるでおk?
0617名前は開発中のものです。
2009/06/24(水) 01:31:30ID:km6ob3xzうん。
それでおk。
ちなみに初版で気付いてラトルズに付属の葉書で出したが
C++本でも後の版でも訂正されなかった。
サポートページに訂正箇所のpdfがあるが読んだら全然違う箇所のことだった。
0618名前は開発中のものです。
2009/06/24(水) 02:15:36ID:6DfYO0Sm0619名前は開発中のものです。
2009/06/24(水) 10:34:44ID:QnhT+AWI0620名前は開発中のものです。
2009/06/24(水) 15:00:37ID:iWb66gX0これ買ったらDXライブラリの作者さんに何らかのお金が行くんだろうか?
行くなら買ってもいいかなあ。
0621名前は開発中のものです。
2009/06/24(水) 19:31:31ID:iPuVSgwO何で答えを言っちゃいけないとかいう言葉が出るの?お前は?
バカなの間抜けなの?なにがそんなに秘密にしたがんの?死ねば?
0622名前は開発中のものです。
2009/06/24(水) 20:29:05ID:2pcTgAck0623名前は開発中のものです。
2009/06/24(水) 20:33:55ID:cCHdRy2i釣りであってくれw
0624名前は開発中のものです。
2009/06/24(水) 20:53:30ID:km6ob3xz0625名前は開発中のものです。
2009/06/25(木) 00:07:29ID:lGFh6/SQ0626名前は開発中のものです。
2009/06/25(木) 00:30:15ID:z4Ht8mWs0627名前は開発中のものです。
2009/06/28(日) 16:38:04ID:Mn3+4Podclass Enemy{};
と
class Player{};
ってのがあったとして、両方とも座標用変数がpribate:になってる場合、両者の当たり判定はどうやって組んだらいいかな?
あと、Enemyをたくさん出したい場合って、class Enemy型の配列をつくっていいの?
それとも他になにか良い方法があるのかな?
今現在、練習を兼ねてミニゲームのようなものを作ってて行き詰っちゃって。
よかったら教えてください。
0628名前は開発中のものです。
2009/06/28(日) 18:36:01ID:zlbWct1+まあ普通は getx(){return x;} という public なメンバ関数から座標を取得するのかな
もう一方の方は俺はEnemy型のlist でやってるけど
配列でも別にいいんじゃないかな
まあ俺みたいなへぼいのから聞くより出来る奴から聞いたほうがいいと思うが
0629名前は開発中のものです。
2009/06/28(日) 18:52:38ID:L4rlBUkj0630名前は開発中のものです。
2009/06/28(日) 19:48:47ID:Mn3+4Pod返答ありがとうございます。
さあ当たり判定を作ろう。と思ったときに上記のことでつまづいて書き込ませもらったんだけど
返答があるまでちょこっとなにか加えようかなと思っていじってたら、上から降ってきたものが
地面についたとたん固まるという想定外の現象に見舞われて、コードの半分ほどを書き直す
羽目になってしまって。
いまだ復旧作業の途中なので、せっかく返答してくれたけどその知識を使うのはもう少しあとになりそうです。
とりあえず、HitEnemy()というメンバ関数を作って、Playerのポインタを渡す感じでいこうかと思ってます。
…出来ないかもしれないけど。返答ありがとうございました。
0631名前は開発中のものです。
2009/06/28(日) 20:07:12ID:FGL1jWKoprivateならget使うことになるんじゃないかな。
めんどいなら一時的にfriendしてやるとか。
0632名前は開発中のものです。
2009/06/28(日) 21:45:36ID:J3SLmnCXって書いてあるけどprivateにする意味があるからprivateなんじゃないのかな。
参照したいならprivateにする意味がないって事なので、
publicにするかアクセサメソッド作ればいいのでは。
まあ後者がいいと思う。
0633名前は開発中のものです。
2009/06/29(月) 00:05:45ID:ExNjCSjV後、これも仕様がワカランからあれだけど Direction(方向)の情報とか必要ないのかな。
0634名前は開発中のものです。
2009/06/29(月) 00:08:39ID:0NdYoqqQ無駄にそういうの増やすと負荷増やすだけだし
ゲームによってはそういうこともやるだろうが
0635名前は開発中のものです。
2009/06/29(月) 23:41:07ID:0tScVOcn0636名前は開発中のものです。
2009/06/29(月) 23:46:20ID:4d+M4K38判定回数が飛躍的に増えるって事でしょう。
0637名前は開発中のものです。
2009/06/30(火) 00:59:39ID:2TdNpUsa理屈がわかんなきゃ全部publicにしてもstaticにしてもいいじゃないかって話になる
クラスの意味をまず勉強した方がいい
0638名前は開発中のものです。
2009/06/30(火) 12:36:26ID:YPE4/kWnと
GraphUnLock
って以前はリファレンスに載ってたと思うんだが、見つからない。
サンプルが見たかったんだけど、以前のリファレンスってもう見れないのか。
インターネットアーカイブはダメだった。
0639名前は開発中のものです。
2009/06/30(火) 12:48:34ID:EGHH7lwt過去スレにそれっぽいものが
http://www.2chsearch.jp/?b=gamedev&d=1224923873#kiji_828
0640名前は開発中のものです。
2009/06/30(火) 13:51:06ID:A8eMVGinリゾート地として知られる南太平洋のタヒチ(仏領ポリネシア)で、たつの市の食品メーカー「イトメン」が製造するインスタントラーメンが売り上げを伸ばしている。
ここ10年で輸出量が倍増しているほか、現地商社の依頼で2年前からカップめんの販売も始めるなどファンを増やしている。
イトメンによると、タヒチへの輸出量は1998年が155万食だったが、2008年には356万食に倍増。
神戸税関によると、神戸港の即席めんの輸出量は07、08年と連続で全国一。
うちタヒチへの輸出は08年が303トンで、同税関は「タヒチ向けはほとんどがイトメンの製品」という。
イトメンの即席めんがタヒチへ渡るようになったのは40年ほど前で、神戸の貿易会社がタヒチに住む中国人向けに輸出したのが始まりという。
タヒチには118の島に23万人が住む。今はシェア6割ほどを占め、イトメンが直接輸出している。
即席めんは、国ごとの味覚に合わせるケースが多く、現地生産が主流。
同社は日本で販売している「チャンポンめん」と味は同じで、パッケージを変え「ALL-IN-ONE」の商品名で販売しているが、現地でも受け入れられている。
人気が高い理由について、同社の伊藤充弘社長(53)は「香港製などライバルの製品が少ないためでは」と分析。
タヒチで日本の旅行会社現地法人で10年間働く日野到さん(36)は「日本のラーメンは最も品質が良くて人気。よく売り切れている。
長年、安定して輸入が続いているイトメンの商品が定着している」という。
伊藤社長は「最近は原料の高騰で利益はほとんどないが、親しまれている味を届け続けたい」としている。
http://www.kobe-np.co.jp/news/keizai/0002072011.shtml
【グルメ】タヒチで日本の即席めん「イトメン」が人気
http://tsushima.2ch.net/test/read.cgi/newsplus/1246257826/
【イトメン】 イトメンのチャンポン麺 【総合スレ】 Part2
http://gimpo.2ch.net/test/read.cgi/nissin/1185419295/
0641名前は開発中のものです。
2009/06/30(火) 14:07:23ID:6Cj5H8P60642名前は開発中のものです。
2009/06/30(火) 14:12:28ID:IiroK7Eg0643名前は開発中のものです。
2009/06/30(火) 21:08:32ID:O5h6+0gK0644名前は開発中のものです。
2009/07/01(水) 00:09:56ID:g4kBRgyqint WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, LPSTR lpc, int nC){
while(ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0){
〜
}
}
こう言う風に作れって本に書いてあったんですが
この構造と本格的なwinプログラムの場合のウインドウズプロシージャとかとの関係がイマイチわからないのですが
どういう風になってるんでしょうか?
0645名前は開発中のものです。
2009/07/01(水) 00:15:05ID:UhT4qFyx関係ないと思っておk
0646名前は開発中のものです。
2009/07/01(水) 00:21:01ID:tzxPZ+Bo0647名前は開発中のものです。
2009/07/01(水) 00:31:13ID:9VzVKeVm知人がタイマーイベント仕掛けてWM_TIMERがきたときにループ処理してたからそういうもんだと思って疑わなかった
0648名前は開発中のものです。
2009/07/01(水) 05:08:47ID:aia3X3LP0649名前は開発中のものです。
2009/07/01(水) 09:35:30ID:LrL8gFoC0650名前は開発中のものです。
2009/07/01(水) 19:59:44ID:eeCacGXjきちんと関数化、ライブラリ化すれば難しいゲームでも綺麗に書けるってこと
DXlibの機能には制限があるし、余計な機能もついているので、
最終的に自分で最適なライブラリを書くようになれるのがいいよ
0651名前は開発中のものです。
2009/07/03(金) 20:54:33ID:BsjXjKQw他の関数は普通に使える
0652名前は開発中のものです。
2009/07/04(土) 18:08:40ID:p2ue3IYDうちでは正常に動くが。ヘッダから消してしまったとか。
0653名前は開発中のものです。
2009/07/06(月) 22:42:09ID:AVbDbUwfおせーて
0654名前は開発中のものです。
2009/07/08(水) 01:56:14ID:OgMSMAZ50655名前は開発中のものです。
2009/07/08(水) 02:25:32ID:94RipojrSetLoopPosSoundMemではだめなの?
0656名前は開発中のものです。
2009/07/08(水) 02:58:22ID:OgMSMAZ5ありがとうございます。すみません、説明不足でした。
PlayMusicでストリーム再生し、ループ位置を設定したいのです。
0657名前は開発中のものです。
2009/07/08(水) 11:53:36ID:Qn1Es1PySetLoopPosSoundMemとSetCreateSoundDataTypeを使って解決しました。
ありがとうございました。
0658名前は開発中のものです。
2009/07/08(水) 22:05:37ID:qTICtjjxRAM 4GB
GPU GeForce 9600M GT
VRAM 2GB
OS Windows Vista 64Bit
DxLibで作られたソフトをこいつで動かすと、始めは60fpsでなめらかにも関わらず、
しばらくすると30fpsになるのはなぜなんだ?
ガクガクするならまだしも、ぴったり30fpsなんだ。
またしばらくすると治ったりもするし、なにかひとつの関数が原因になってたりするのかな?
0659名前は開発中のものです。
2009/07/08(水) 22:17:02ID:i+ja7A8H0660名前は開発中のものです。
2009/07/08(水) 22:40:16ID:uhEtjIe1うちも24か30で安定、フルスクリーンだと60fpsありがとうございます状態。
0661名前は開発中のものです。
2009/07/08(水) 23:16:39ID:tUPC3dXe0662名前は開発中のものです。
2009/07/08(水) 23:26:07ID:Sk8AIN2R60、30、24ってよく見る数字だし
0663名前は開発中のものです。
2009/07/09(木) 01:06:35ID:h1wYunUV(1) 1フレームの処理が1/60秒未満なら1秒間に60回描画できる
(2) 1/60秒以上2/60秒未満なら30回描画できる
つまり瞬間的には30か60のどちらかになる
1のケースと2のケースが混ざったとすると長期的には平均することで30と60の間の値になりうる
しかし大抵の場合は1フレームの処理が1/60秒で収まるか、あるいは超えるかで30と60に分かれる
と予想
0664名前は開発中のものです。
2009/07/09(木) 02:46:07ID:IPUdantx0665名前は開発中のものです。
2009/07/09(木) 22:24:55ID:9TUAw73Mというか、GPUの設定をどう変えてもまったく同じ・・・
0666名前は開発中のものです。
2009/07/09(木) 23:12:54ID:PnCCkvgD0667名前は開発中のものです。
2009/07/10(金) 06:17:28ID:On7fn4n80668名前は開発中のものです。
2009/07/10(金) 06:55:03ID:aqVpLVfM0669名前は開発中のものです。
2009/07/10(金) 09:02:40ID:G7FiBYYu全部読んでそれでもわからなかったらまたおいで。
0670名前は開発中のものです。
2009/07/10(金) 12:51:04ID:xhZ5jDJO0671名前は開発中のものです。
2009/07/10(金) 13:23:29ID:Pbfo1cNYbullet[i].locate.x = 320; とか多重に扱うと見た目が重く感じるぐらい。
0672名前は開発中のものです。
2009/07/10(金) 13:23:43ID:GMEf2Yqs0673名前は開発中のものです。
2009/07/10(金) 15:09:18ID:xhZ5jDJOthx
多重に気をつけて、メンバ変数は極力そのクラス内で処理するようにしますわ
0674名前は開発中のものです。
2009/07/10(金) 23:17:50ID:kvfVpi7wとかなら、ちょっとは考えろよwwとか思うけど。
普通に組んでる限りじゃ、そんな気にする必要はないかと。
どうしても気になるなら、POINTなりをpublicで継承すりゃ、
bullet[i].x=320にできるし、どうせゲームだからこれで問題無いでしょ。
0675名前は開発中のものです。
2009/07/11(土) 01:55:20ID:UeAE0WWVbullet[i].x()=320;
これくらいなら見た目もタイプ量も許容範囲だろ
0676名前は開発中のものです。
2009/07/11(土) 01:56:20ID:UeAE0WWV0677名前は開発中のものです。
2009/07/11(土) 07:49:08ID:wBBMdddU0678名前は開発中のものです。
2009/07/11(土) 18:21:58ID:SvZlB+M+0679名前は開発中のものです。
2009/07/14(火) 04:20:59ID:wRlAP6qv再起動してみると普通に実行されるのは何だろう
0680名前は開発中のものです。
2009/07/14(火) 04:40:19ID:mFQZCpWd何を言いたいのか分らんが・・・
(エスパー希望の相談なのか、只の雑談なのか、愚痴なのか?)
とりあえず、タスク がタスクマネージャーとかのタスク(application)の事なら、
単純にどっかが無限ループに嵌ったか、画面書き換えの部分を通らなくなったか(orキー入力の部分を・・・)
だろう。
とりあえず、printfを色んな所に仕込んでおいて、デバックを掛けるとかするのが基本。
怪しい所がどうみてもライブラリ側だったら、公式に書き込めばいいし、
そうでないなら、再現性を高めて、その変な挙動をここででも、公式ででも聞いてみればいい。
大概は、配列でindexが超えて・・・・とか、switchでbreak;が抜けてて・・・とか
if文の後に変なモノがあって、ifでの抜けだしが効かなくなってたりとか、
{}の対応が微妙にずれてて・・・とか、初期化してないのを使っていて、タイミング次第で・・・とか
(後は、WindowsUpdateしてなさ過ぎて、リターンが遅れてるのを応答なしに解釈されてるとかもあるか、)
0681名前は開発中のものです。
2009/07/14(火) 04:49:20ID:wRlAP6qvその通り
>単純にどっかが無限ループに嵌ったか、画面書き換えの部分を通らなくなったか(orキー入力の部分を・・・)
>だろう。
そういった部分は見当たらなかった
何せOSを再起動させてそのプログラムを再び実行させたら何の問題もなく動いたのですからプログラムに原因があるとは思えないのですが
0682名前は開発中のものです。
2009/07/14(火) 05:07:49ID:pOq3rm7Pあるいは君だけが体験できるくらいレアな現象って事になるだろう?
調べる事ができるのは君だけなんだから
素直に>>680の忠告に従って、きちんと調べていけばいい。
「これで合ってるはず」なんて余計な「思い込み」はデバッグ作業の邪魔にしかならないぞ。
0683名前は開発中のものです。
2009/07/14(火) 05:36:27ID:mFQZCpWdそれだけの事で、プログラムに問題があるとは思えないって・・・・
とりあえず、
初期化なしでつかってる場合にはOS再起動とかで簡単に変わるし、
時間取得なんかをちゃんと処理してないと、
日にち跨ぎや時間跨ぎで、発生したりしなかったりする。
>>682も言うとおり、思い込みよりも手を動かしてデバックしなぁ。
プログラムは書いた通りに動いても、思った通りには動くとは限らないんだからさぁ。
0684名前は開発中のものです。
2009/07/14(火) 06:46:29ID:wRlAP6qvまあ動くようになった訳だからそのまま何事もなかったかのように過ぎていくのだろう
0685名前は開発中のものです。
2009/07/14(火) 07:14:55ID:MgrfsfEm0686名前は開発中のものです。
2009/07/14(火) 07:53:46ID:wRlAP6qvその可能性のあるコードって、(実行時に処理を通ってるコードの中で)
while( (!ProcessMessage()) && (!keybuf[KEY_INPUT_ESCAPE]) )
しかなかったんだが(変な書き方でスマソ)
確かに keybuf はグローバル変数にしてしまってるし
char keybuf[256] = {0};
で初期化したつもりになってるけどどうなんか分らん
まあ動くようになったし確認しようにももうできないからな、動くから
まあ良しとして続けるしかないな
0687名前は開発中のものです。
2009/07/14(火) 08:07:50ID:1FTDe9TM0688名前は開発中のものです。
2009/07/14(火) 09:43:25ID:MgrfsfEm0689名前は開発中のものです。
2009/07/14(火) 20:58:42ID:2Fk/wASWプログラムに思い込みは絶対あかん。
0690名前は開発中のものです。
2009/07/14(火) 23:37:46ID:wRlAP6qvこの先動かなくなる可能性ないわけではないが
そうなったところでこれ以上バグは見つからんだろうな、俺の力では
0691名前は開発中のものです。
2009/07/15(水) 00:00:28ID:MHxGaYOY外見上動いてても、バグがあれば意図してないデータが含まれてる。
0692名前は開発中のものです。
2009/07/15(水) 01:08:24ID:ouOmT7td多分printfとかで一つ一つ処理の中身を吐き出して見てもどの道今の俺の能力では
バグを発見できるとは思えないから忠告はありがたいがこのままいくことにするわ
以前も同じようなこと何回かあったしそんときもちゃんと完成まで漕ぎ付けているし
0693名前は開発中のものです。
2009/07/15(水) 01:17:22ID:Pli3pE87ID:ouOmT7td
お前さ、そんなスタンスなら、なんでわざわざここに書き込んだわけ?はじめから書き込むなよ。
なに、構って欲しかった?わざわざお前の書き込みに一生懸命考えてレスしてくれた
人達に失礼だと思わないの?
0694名前は開発中のものです。
2009/07/15(水) 01:49:11ID:9zT2ADv7プログラムを書いた本人に見当がつかないなら、他人の経験に頼るのも良いと思うよ。
自分がそんなバグにぶち当たったとしても根気だけで調べようとは思わないな。
時間が余ってるなら別だけど。
で、他人の立場から言うと、あれだけの情報で問題のありそうな点を指摘するのは無理だ。
アドバイスとしてはバグ発見を諦めるのではなく自分用バグリストを作ってそこに追加しろ。
0695名前は開発中のものです。
2009/07/15(水) 02:09:56ID:ouOmT7tdでアドバイス通りに考えてみたけど駄目だった
0696名前は開発中のものです。
2009/07/15(水) 02:15:50ID:oAaV9htYそうか、お疲れ。
コード晒す勇気があれば、案外デバックしてくれる人が居るとおもうけど…
(自分一人だと考えがなかなか間違いに気付きにくいからコードレビューは有効だと思う)
「アドバイス通りに考えてみた」ってのは、
もちろん、printfとかでデバック情報をポコポコ吐き出させたけど、バグらしき場所が見あたらなかった
って意味だよね。念のため。
0697名前は開発中のものです。
2009/07/15(水) 02:28:23ID:HAQqwNAf無理なら帰れ
0698名前は開発中のものです。
2009/07/15(水) 06:33:25ID:jzF+qqts俺だけ?
0699名前は開発中のものです。
2009/07/15(水) 07:55:06ID:OJRObvUW意外とバグって見当つけてたとこ以外にあったりするもんなんだよなぁ
0700名前は開発中のものです。
2009/07/15(水) 08:38:43ID:MHxGaYOY>>692でデバッグしてないと言ってるじゃん。
0701名前は開発中のものです。
2009/07/15(水) 10:08:04ID:kzUIqF8J0702名前は開発中のものです。
2009/07/15(水) 10:45:30ID:jzF+qqts分かる分かるw
そしてバグを再現させるのは非プログラマに丸投げする俺
0703名前は開発中のものです。
2009/07/15(水) 11:25:55ID:aCtz8rQi0704名前は開発中のものです。
2009/07/15(水) 20:48:39ID:vgHuQMIaテストも作れないし
そもそもバグなのか想定なのかも混乱するんだろ?
0705名前は開発中のものです。
2009/07/15(水) 21:06:50ID:SOTm+sdF0706名前は開発中のものです。
2009/07/15(水) 21:09:53ID:MHxGaYOY0707名前は開発中のものです。
2009/07/15(水) 23:03:43ID:MZkEPg1i最終的にうまく動作するものが仕様です。
どだい、仕様書でバグが防げると思ってる法が異常。
仕様書の想定だろうが、結果駄目ならバグだろ!
0708名前は開発中のものです。
2009/07/15(水) 23:17:51ID:OJRObvUW仕様の段階でバグ出すレベルの人はちょっとヤバイ。
0709名前は開発中のものです。
2009/07/16(木) 00:10:27ID:ZK0MxNzH紙に書いてみたらあっさり解決ってのはよくあることだけどな。
0710名前は開発中のものです。
2009/07/16(木) 03:15:22ID:1/ar+JW7のが重要なんです!」と力説する新人が入った時を思い出した
0711名前は開発中のものです。
2009/07/16(木) 10:03:06ID:qgWixxR7仕様書がなければダメになる人とそうでない人がいる。
始めた時は正しい方向に向かっていたが、
出来上がった時には違った方向を向いている、
世の中にはそんな人も多くいる。
チームで進めるとき、意思の統一が重要で
依頼しても、出来上がりが違うものになるのは困り者。
人それぞれなので、きちんとできるひともいるので、そのような人は不要と言われる
0712名前は開発中のものです。
2009/07/16(木) 10:53:13ID:glHWB671「言った、言わない」の問題になってしまうから
あらかじめ、ちゃんと紙にして保存しておくって事だろう。
できるできないの問題じゃないよ。
自分のため、相手のための保険みたいなもんだ。
0713名前は開発中のものです。
2009/07/16(木) 11:11:34ID:qgWixxR7チームで行う時の基盤になる、開発ドキュメントとして
取り扱い説明書として、保守業務の基準として必須のものである。
0714名前は開発中のものです。
2009/07/16(木) 11:30:46ID:Frg8+T60作り方が違うだろ
ttp://marupeke296.com/DXCLS_BottumUpStructingOfClass.html
0715名前は開発中のものです。
2009/07/16(木) 13:48:32ID:JxCE3uCoいつかは。
0716名前は開発中のものです。
2009/07/16(木) 16:20:01ID:MA5d2Bm10717名前は開発中のものです。
2009/07/16(木) 16:29:44ID:K0RdyJ0x0718名前は開発中のものです。
2009/07/16(木) 17:36:09ID:sfuED1R60719名前は開発中のものです。
2009/07/16(木) 21:20:58ID:0qzmxnbaダウト
仕様はソースと答え合わせする為のもの
ソースみて内容がわかるのと、本来どうあるべきなのかは別問題
0720名前は開発中のものです。
2009/07/16(木) 22:04:34ID:sfuED1R6はっきり切り分けないで話してるからこんなにカオスなのか
0721名前は開発中のものです。
2009/07/17(金) 09:45:51ID:iPNwCeP80722名前は開発中のものです。
2009/07/17(金) 09:47:37ID:ZC/cxW1dそれにコメントは確かに大事だが
関数名をgetScreenFrameParSecondみたいにきちんと書けば、仕様が明らかにわかる
クラス・変数名も同じ
例えばiteratorをitとか省略して書くのはダメ
タイプ速度は速くなるが、後のコーディングで詰まるから、作業は全く速くなってない。むしろ遅くなる
省略しなければiteratorという言葉を知らない他人が見ても、ググれば意味がわかる
あとは、日本語で名前つける人がいるけど
ネットに和英辞書あるんだから使ってほしい
英語の勉強になるし国際化にも対応できる
0723名前は開発中のものです。
2009/07/17(金) 10:08:40ID:fic4arti国外にソース晒すほど立派なもん作れるなんてうぬぼれてない。
0724名前は開発中のものです。
2009/07/17(金) 10:48:52ID:XzHK2st60725名前は開発中のものです。
2009/07/17(金) 11:36:53ID:71PbqEZA0726名前は開発中のものです。
2009/07/17(金) 14:37:53ID:AtGtaSaV0727名前は開発中のものです。
2009/07/17(金) 14:42:09ID:vX9OmGXPとかは問題ないと思うけどな。宣言のクラス名で大体分かるし。
宣言が遠すぎて分からんような関数ならその時点で問題だし。
0728名前は開発中のものです。
2009/07/17(金) 15:20:17ID:vX9OmGXP定番の良書とかでも普通みんなそうだし、Linuxカーネルみたいな大物ソースでも
そうだし。
結局、識別名だけで理解できる情報は限られるのも現実。そうでなければ、それこそ
アプリケーションハンガリアンなんかを全識別名に徹底すれば最高なのかもしれない
けど、実際は関数エントリにはしっかりした出入り仕様のコメントが欲しい訳で。
まぁ、スレ違いなんだけどね。
正直、D3DXのせいで、「扱いやすくする」という使命のラッパーライブラリの系統
は居場所を失ってるから、このスレの居場所も同様によく分からないんだよなぁ。
0729名前は開発中のものです。
2009/07/17(金) 15:37:38ID:/TZL4Vnl| ノ ヽ
/ ● ● | クマ知ってるか。
| ( _●_) ミ 出雲地方では、木と岩と水の在る場所を「熊々しい谷」と呼ぶ。
彡、 |∪| 、`\ 「熊々しい」とは、神々しいの意味だ。
/ __ ヽノ /´> )
(___) / (_/
| /
| /\ \
| / ) )
∪ ( \
\_)
0730名前は開発中のものです。
2009/07/17(金) 22:02:14ID:Z3s3jxcY引数がある場合とかに
複数行にわたってしまって
なんだか見づらくならない?
今まで見たソースだとgetScrFPS程度には略してるけど
おまえらどうなの?
0731名前は開発中のものです。
2009/07/17(金) 22:12:33ID:3aIuRMAB0732名前は開発中のものです。
2009/07/17(金) 22:12:54ID:a1yK0hIN0733名前は開発中のものです。
2009/07/17(金) 22:29:41ID:PpX+kDe1ひとつのGetPos()って関数で渡すにはどうしたらいいかな?
考えてみたんだけど、どうしても一つでいろいろなところで使える方法がみつからないんだよ。
まだプログラム経験が短いもんで。
0734名前は開発中のものです。
2009/07/17(金) 22:47:07ID:a1yK0hIN0735名前は開発中のものです。
2009/07/17(金) 23:03:35ID:TRJ/ynqn基本Getは単一変数を返す方がいい。
内部の構造体のデータを返すのは間違っている。
その場合はとるのではなく、チェックしてもらう。
bool chk_XXXX (pos *dat); が正しい。
で、この関数はインラインであれば、スピード的には何の問題も無い。
考え方が逆。
0736名前は開発中のものです。
2009/07/17(金) 23:06:22ID:TRJ/ynqnこれ基本中の基本
0737名前は開発中のものです。
2009/07/17(金) 23:31:36ID:cB4HhxMPでもゲームは作れてるぜ!
0738名前は開発中のものです。
2009/07/17(金) 23:36:29ID:iPNwCeP80739名前は開発中のものです。
2009/07/18(土) 00:03:32ID:pCmtYAM2private の場合 getx(){return x;} でアクセスするのと速度変わらんのか
0740名前は開発中のものです。
2009/07/18(土) 08:04:35ID:QevxnE5g詳しい事はしらんが、常識的な範囲でコンパイルを考えれば、
最適化が普通だったら遅くなる理由は無いと思う。
最適化をしないなら、クラスから関数のアドレスに飛んで、
そこで値:xを取得して、それをどっかに格納な分
遅くなるんだろうけど・・・。
0741名前は開発中のものです。
2009/07/18(土) 08:54:43ID:UXbVEGUEちょっと違う
getx(){return x;} がクラスの中に書かれ、そのクラスがヘッダーファイルなら。
インライン展開されるので
aa = getx(){return x;}
||
aa = A.x と同じ
最適化は関係ない
0742名前は開発中のものです。
2009/07/18(土) 08:56:36ID:UXbVEGUE0743名前は開発中のものです。
2009/07/18(土) 10:41:55ID:PwgwIsF1ソース側で定義でもinlineつけて展開できるなら同じじゃないっけか
後、クラス内での処理はインラインしてくれるのが普通だったきがする
メンバ関数内で別のメンバ関数呼び出して処理とか
まー、>>736か
0744名前は開発中のものです。
2009/07/18(土) 14:09:33ID:xlxZEQtnclass Foo {
Pos pos_;
public:
Pos& GetPos() { return pos_; }
const Pos& GetPos() const { return pos_; }
};
スコープの外側にインスタンスを返すなら、参照渡しじゃ無理なので、コンパイラの
NRVOに期待して、例えば以下のように書くことになる。
inline Pos GetPos() {
Pos result;
/* code */
return result;
}
NRVO非対応でRVOだけ対応のコンパイラだと、
inline Pos GetPos() {
/* code */
return Pos( /* code */ );
}
こういうコードじゃないと>>741の言うような最適化は掛からない。
コンパイラーメーカーもC++標準化委員会もNRVOが掛かるように頑張ってるはずだが、
実装状況はコンパイラによってまちまちなんで調べてくれ。多分検索すればすぐ分かる。
VC++なら2005からNRVO行けるっぽい。/O1くらいでもNRVOは掛かる模様。
プロファイラで後から最適化ってのも常道だけど、I/F設計段階の話はそうもいかないし
なぁ。
まぁ、俺なら基本的には参照渡し、リターンで解体される自動変数なら値渡しで返して、
後者がボトルネックになるならインライン化でたぶんNRVO発動でおk、って書く。で、
「この設計だと遅そうだしポインタ渡そう」って言われたら、実際どうなるか興味ある
んでベンチでも書いたり、ついでに↓みたいなのも一緒に見たりしながら相談する。
http://msdn.microsoft.com/en-us/library/ms364057(VS.80).aspx
0745名前は開発中のものです。
2009/07/18(土) 14:20:17ID:xlxZEQtnスコープの外に「自動」インスタンスを返すなら、だな。
つーか、二つめと三つめは最初の質問のシチュエーションから逸脱してるな。すまん。
まぁでも、メンバ関数でもNRVOは重要なんで、仕組みは知っておいた方が。
0746名前は開発中のものです。
2009/07/19(日) 05:29:35ID:TXlg+NUwif(key & PAD_INPUT_B){
for(double t=0; t<10; t=t+0.1){
int vo = -60;
int ay=10;
jikidata.y = vo * t + 1/2 * ay * t*t + jikidata.y;
WaitTimer( 1000 );
jikidata.ghandle = LoadGraph("media\\imgbb4792ea7ec6f3d_frame_0009.bmp");
}
}
DXライブラリを使ってアクションゲームのジャンプをプログラムしたいんですが
これで実行すると、キャラが止まったり、動かなくなってしまうんですが、どこを改変すればいいんでしょうか?
0747名前は開発中のものです。
2009/07/19(日) 05:51:18ID:EpiDWLJN正直どこにつっこめばいいかわからないので
公式のサンプルを参考にすればいいとだけ言っておく
http://homepage2.nifty.com/natupaji/DxLib/dxprogram.html#N2
0748名前は開発中のものです。
2009/07/19(日) 11:01:02ID:7iXtFi1U0749名前は開発中のものです。
2009/07/19(日) 21:11:12ID:mJh1WCZZ0750名前は開発中のものです。
2009/07/20(月) 01:05:51ID:pleKhZHBリアルタイム処理で使うのは駄目に決まってるな
フェードアウト後の待ち時間とかに使うのが正しい
でも個人的にはウェイト系の関数やら処理体系作って、それを使えばいいと思う
while(……){
//ここにwaitから切り放したい処理を書く
//例えば、ゲームは止まっても風景は動かしたい
//処理ごとにwaitを分ければさらに色々なことができる
if(waitFlag==FALSE){
//ここにwait前にやりたい処理を書く
//waitTime、waitFlagは本来条件式で設定するのが望ましい
waitTime=1500;//1500ミリ秒=1.5秒
waitFlag=TRUE;
}else{
if(1ミリ秒経過したら){
waitTime--;
}
if(waitTime==0){//1.5秒経った
waitFlag==FALSE;
}else{
//waitTime=0未満;を描いたな?と怒る
//エラーフラグを大量に埋めるのは開発の最適化とアンチートに役立つ
}
}
}
こんな
0751名前は開発中のものです。
2009/07/20(月) 01:09:47ID:pleKhZHB0752名前は開発中のものです。
2009/07/20(月) 18:56:48ID:u2THICPq0753名前は開発中のものです。
2009/07/20(月) 23:05:51ID:hrqPLvNBこれならどの環境でもキッチリ結果が出るね
カウンタ回すしかやったことないから参考になるわ
だけどアクションとかだと遅延おきてカクカクにならないかな
0754名前は開発中のものです。
2009/07/22(水) 14:20:11ID:23EfZ5Teフォントのファイル名を指定して読み込みするような関数が見つからなくてどうすればいいか困ってるんですが
0755名前は開発中のものです。
2009/07/23(木) 01:22:02ID:w7s2/iav0756名前は開発中のものです。
2009/07/23(木) 01:49:57ID:w7s2/iavDXライブラリでは出来ないような気がする
でもフォントファイルを一時的に開くプログラムがあれば通常のフォントと同じように
名前の指定だけで使えるはず……
0757754
2009/07/23(木) 02:35:05ID:M1f3xhTA結果はWin32APIのAddFontResourceEx関数を使えば一時的にTTFファイルからフォントリストに登録できるみたい
第二引数に0x10(FR_PRIVATE)を渡せばそのプロセスだけで使えるようになるぽ
使い終えたらRemoveFontResourceExで開放する必要もあるみたい。登録時とまったく同じ引数で呼び出す必要あり
AddFontResourceEx("hoge.ttf", 0x10, 0); // これでhogeフォントを登録。DxLibのEnumFontNameでも表示されるはず。
RemoveFontResourceEx("hoge.ttf", 0x10, 0); // 削除。引数を↑と同じにしないといけないらしい
いくらDxLib関係でググっても見つからなかったので少々冗長気味に解説してみたよ
正直この機能はDxLibにラップされてても違和感無いと思うんだけど
0758名前は開発中のものです。
2009/07/23(木) 03:39:18ID:8ujD6dNo0759名前は開発中のものです。
2009/07/23(木) 21:34:58ID:PImKyCUU0760名前は開発中のものです。
2009/07/23(木) 21:51:01ID:tLjhSV6z完全に濃くなったら、表示する画像を切り替える。
真っ黒な画像を少しずつ薄くしながら表示する。完全に薄くなったら、以後、真っ黒な画像は表示しない。
これでいいと思う。
0761名前は開発中のものです。
2009/07/23(木) 23:37:10ID:JVsH2uDi0762名前は開発中のものです。
2009/07/24(金) 02:52:41ID:sonMl0Vt0763名前は開発中のものです。
2009/07/24(金) 03:42:20ID:nwWosEk7Dxlib.h内を、サウンドハンドルの再生位置で検索
0764名前は開発中のものです。
2009/07/24(金) 04:08:03ID:sonMl0Vtやってみました
PlaySoundMem でやってるときは GetSoundCurrentPosition で取得すればいいのかな
でやってみましたが GetSoundCurrentPosition がいくら再生してるときでも0しか返ってこないのですが
ちゃんと引数に正しい SoundHandle 入れてますよ
0765名前は開発中のものです。
2009/07/24(金) 04:20:10ID:nwWosEk7PlaySoundMemのTopPositionFlagを0にすれば
取りあえずは途中から再生できるはず
0766名前は開発中のものです。
2009/07/24(金) 06:13:08ID:sonMl0Vt0767名前は開発中のものです。
2009/07/24(金) 08:59:47ID:5C3gkZxnちょっと懐かしかった。pchも使ってなかったんだなぁとか。
つーかpch使ってない奴も多そうだから勝手に手順説明するぜ。
1. プロジェクト→新しい項目の追加→ヘッダーファイルでstdafx.hをプロジェクトに追加
2. プロジェクト→新しい項目の追加→C++ファイルでstdafx.cppをプロジェクトに追加
3. DxLib.hや標準ライブラリなど、自作でない巨大ヘッダのinclude文を*.cppから全部削除して、
代わりにstdafx.hの中に全部突っ込む(自作ヘッダは普通に*.cppで各自includeする方がいい)
/* stdafx.hの例 */
#pragma once
#include <DxLib.h>
#include <string>
using std::string;
/* ここまで */
4. 全ての*.cppの最初に#include "stdafx.h"を書く(コメントは前に入れてもおk)
ちなみにstdafx.cppは、#include "stdafx.h"の一行だけでおk
5. ソリューションエクスプローラでプロジェクト名を右クリックしてプロパティを開き、左上の
構成を「すべての構成」にして、構成プロパティ→C/C++→プリコンパイル済みヘッダー→
プリコンパイル済みヘッダーの作成/使用を「プリコンパイル済みヘッダーファイルを使用する
(/Yu)」に変更する
6. ソリューションエクスプローラで「stdafx.cpp」を右クリックしてプロパティを開き、左上の
構成を「すべての構成」にして、構成プロパティ→C/C++→プリコンパイル済みヘッダー→
プリコンパイル済みヘッダーの作成/使用を「プリコンパイル済みヘッダーファイルを作成する
(/Yc)」に変更する
これで、stdafx.hを変更する時以外は、ビルド速度がかなり劇的に上がるはず。
大した作業にはならないはずだから一度試すといい。
0768名前は開発中のものです。
2009/07/24(金) 09:09:49ID:5C3gkZxn自作ヘッダから<string>とか<math.h>とか使いたい場合も、「必ず全ての*.cppの最初で
stdafx.hがインクルードされる」という規則だから、結局は自作ヘッダがインクルードされる
時点ではstdafx.hが既に読み込み済みになってる。
なので、自作ヘッダに#include <string>とか書く必要も無し。自作ヘッダで使いたい標準の
ライブラリなんかのincludeも、全部stdafx.hに逃がせばおk。
0769名前は開発中のものです。
2009/07/24(金) 17:40:08ID:JWiEj2kHデメリットとかはありますか?
0770名前は開発中のものです。
2009/07/24(金) 18:12:52ID:HmqJ54co0771名前は開発中のものです。
2009/07/24(金) 19:26:36ID:5C3gkZxn「使いたい外部ライブラリのヘッダを全部何も考えずにstdafx.hに入れまくれ」
「全てのcppファイルの頭でstdafx.hをインクルードしろ」
ってルールが縛りといえば縛りだけど、むしろ楽になるだけだと思う。コンパイルも
別次元に速くなるし。
原理的には、stdafx.hの中身をコンパイルし終わったとこでいったん止めちゃって、
中間情報として拡張子pchのファイルに保存しておき、*.cppをコンパイルする時に
その情報を使い回して、#include "stdafx.h"まで読み飛ばして、それ以降のソース
だけコンパイルするイメージ。実際に内部がどう動いてるかは知らないけど。
なので、cppの頭で#include "stdafx.h"を入れ忘れると、
「プリコンパイル済みヘッダーの検索中に予期せぬ EOF を検出しました」
とか言われる。
stdafx.hの中には、C++のソースなら何書いても多分平気だから、大抵の使い方には
対応できると思われ。あまり頻繁に書き換えると、そのたびにpch作り直しで効果が
薄まるけど、自作ヘッダでも「更新少ない」「かなり色々なソースから参照される」
みたいな奴はstdafx.hに入れちゃってもいいと思う。
0772名前は開発中のものです。
2009/07/25(土) 15:25:58ID:3qZ+q5uIプレイヤーキャラクターを移動させたければこうすればいい。
といった部品部品は作れるけど、いざゲーム自体を作ろうとなったら全然作れないんだ。
いったいどうしたらいいのかな・・・?
0773名前は開発中のものです。
2009/07/25(土) 15:36:28ID:hVdocGyY一体何が問題なんだ?
それを言わずして質問されてもわかるはずがない。
0774名前は開発中のものです。
2009/07/25(土) 15:37:45ID:tEWYFYw5とりあえず目標を決めてはどうか。
ただし、あまり大作でも作れなきゃ意味がないので、
初期の携帯電話用ゲームや、初期のファミコン、インベーダゲーム、倉庫番あたりを目指す。
矢印キーだけ、せいぜいそこにボタン1個くらいで遊べるゲームが楽でいい。
目標が決まったら、それを「部品」に分解する。
うまく部品単位になればお前さんの勝利。
0775名前は開発中のものです。
2009/07/25(土) 17:05:50ID:OnXN/lFaずれた方向性がある。両方うまい人はすごくいい。
最初の一歩はとにかく単純に、ゲーム内容どうでもいいから一本のゲームとして
成り立ってる物を作る、つーこと。極端な話、全部WinMain()に入ってても一向に
構わない。(綺麗な部品作りに慣れてるならそうはならないだろうが)
部品は必要性を実感してから作る方が最適になりやすい。いわゆるシーズじゃなく
ニーズで作る。先に需要を予測して部品を作る、ってのはほどほどにすべき。
で、「クソゲー作ってもなぁ」と思うなら、いっそ最初から真面目に本気ゲーを
作り始めてしまっても全然問題ない。
0776名前は開発中のものです。
2009/07/26(日) 08:48:42ID:Hw5xOpYa特にシーンやリソースの管理が入ってくるとかなり面倒になる。
そういう点ではやっぱり最初は1面のみの単純なゲームから始めた方がいいね。
プログラムが大きくなればなるほどバグ取りも大変になるから、最初は小規模から始めた方がいい。
自分はいつも最初からあれこれ入れようとして墓穴を掘ってる。
0777名前は開発中のものです。
2009/07/26(日) 11:40:31ID:AWfgbmGQ紙にステータスを書いて遊ぶとか、人形をいじって遊ぶとか
そういうアナログな手法でイメージを立てて設計する
何も考えずにプログラムを先に書くのは意味がない。
ゲームを考える(妄想する)、ゲームを作る、ゲームを遊ぶ
この3つのどれが欠けてもうまくいかない
まず面白いシステムや世界観を考える
次にプログラム、シナリオ、絵、音楽などで形にする
最後に完成品を遊び倒して面白いゲームに近付ける
ゲームは工業製品だから、作り手の職人気質がもろに出るよ
0778名前は開発中のものです。
2009/07/26(日) 11:57:44ID:aBNM0ylQ>>776のいうシーン管理とかそういう骨組みの構造とか
0779名前は開発中のものです。
2009/07/26(日) 23:48:51ID:AGlm2m1e0780名前は開発中のものです。
2009/07/27(月) 00:01:10ID:GCep4g8b特に最初のうちは、あんまり考えないほうがいいと思うんだけどな。
緻密に設計していくのは、ミニゲームを何本か完成させた後のほうがいいと思う。
0781名前は開発中のものです。
2009/07/27(月) 00:11:13ID:bEbQPsi9肥大化してゲームになってる。
0782名前は開発中のものです。
2009/07/27(月) 00:16:38ID:VenKtjMK肥大化してまとまらなくなってやめる。
0783名前は開発中のものです。
2009/07/27(月) 00:30:42ID:aQ/IFL1X肥大化することなく寝る。
0784名前は開発中のものです。
2009/07/27(月) 01:20:08ID:VJq6W4rLフイタwwwww
0785名前は開発中のものです。
2009/07/27(月) 01:49:38ID:pfTBKVpb0786名前は開発中のものです。
2009/07/27(月) 04:39:26ID:GaH2TMCV今はゲームが完成しない
0787名前は開発中のものです。
2009/07/27(月) 04:44:35ID:aJcGKYvD0788名前は開発中のものです。
2009/07/27(月) 08:01:02ID:sP35fefq> そこで今度は××に冠する解説をよみ「これには△△が抜けている」という印象をもち、
> そしてなかなか自分のゲームが完成しない、というパターンに陥った人は少なくないでしょう。
> さまざまな技術書や解説書、入門書を読みつくし、最先端技術に精通しているはずなのに
> 自作アプリケーションがほとんど作れないというのは、決して珍しくありません。
0789名前は開発中のものです。
2009/07/27(月) 08:53:03ID:CBwVvngl0790名前は開発中のものです。
2009/07/27(月) 13:31:26ID:1REfJ+es0791名前は開発中のものです。
2009/07/27(月) 17:02:26ID:cEG3tUqV0792名前は開発中のものです。
2009/07/27(月) 21:15:32ID:C0govEpu俺はそれを胸に頑張ったよ…。
0793名前は開発中のものです。
2009/07/27(月) 23:14:17ID:aJcGKYvD何でも試してみるもんさ
0794名前は開発中のものです。
2009/07/27(月) 23:41:51ID:1REfJ+es0795名前は開発中のものです。
2009/07/28(火) 02:18:15ID:0RhUYUoP0796名前は開発中のものです。
2009/07/28(火) 05:12:13ID:uYQPfFdp3Dポリゴン描画したいです……
0797名前は開発中のものです。
2009/07/28(火) 12:23:42ID:YL4nqTsX0798名前は開発中のものです。
2009/07/28(火) 13:20:14ID:aQj264s2逃げたんじゃないか?
大学中退するやつだし
0799名前は開発中のものです。
2009/07/28(火) 19:50:25ID:lbcOkIrb3D描画をDXライブラリみたいに単純化するのは無理。3D描画のフレームワークは
D3DXで十分。それ以上やるとライブラリの独自色が付く。
2DもD3DXSpriteで構わないし、ちょっと調べればテクスチャにαの付いた板ポリを
D3DXで描画する方法はいくらでも出てくるけど。
DirectX6はDreamcast向け、DirectX8はXbox向けに作り直されてる訳で、そのまま
でも十分行けるライブラリ。DXライブラリの最大の意義は、WinMainのすっきり感
だと思う。
0800名前は開発中のものです。
2009/07/28(火) 20:50:59ID:LTJXvZ7vDXライブラリでも使えよ!って言われて固有名詞だとは夢にも思わず
なかなか存在に気付けなかった俺
0801名前は開発中のものです。
2009/07/28(火) 20:52:30ID:bkreYxYWゲームフレームワークみたいな方向に簡単にするなら別だけども
0802名前は開発中のものです。
2009/07/28(火) 21:36:50ID:C3k1GCCB流れを断ち切った横レスなんですが、
C言語+dxlibで作ったプログラムをC++のクラスってのを使って
まとめようと思い、メインループを書いてみたんですが、
書き方があっているのかすごく不安なのでお聞きしたいと思いました。
もし、スレチならいいスレ教えて・・・
よし!見せてみろ!ならソース張る。
0803名前は開発中のものです。
2009/07/28(火) 21:37:39ID:lZJGMEL/0804名前は開発中のものです。
2009/07/28(火) 21:43:58ID:LTJXvZ7vヨシみせてみろ
0805802
2009/07/28(火) 21:52:18ID:C3k1GCCB#include "GV.h"
int WINAPI WinMain(
HINSTANCE hI,HINSTANCE hP,
LPSTR lpC,int nC
)
{
ChangeWindowMode(TRUE);
if(DxLib_Init() == -1) return -1;
//↓このあたりがめっちゃ不安なのですが。
Flame* T = new Flame;
//
SetDrawScreen(DX_SCREEN_BACK);
//MainLoop()内で処理を書いてます
while(!(ProcessMessage()) && !(CheckHitKey(KEY_INPUT_ESCAPE))
&& (T -> MainLoop()) && !(ScreenFlip()) && !(ClsDrawScreen()));
//
DxLib_End();
return 0;
}
ヘッダファイルも見てもらえるのなら・・・・☆彡ってレスしてくらさい
0806名前は開発中のものです。
2009/07/28(火) 22:00:28ID:bkreYxYWそれだけならそんなにおかしいところはないと思う
細かいどうでもいいことを突っ込ませてもらうと,
FlameじゃなくてFrame
あと大文字一字の変数名はやめてくれ紛らわしい
0807801
2009/07/28(火) 22:09:21ID:C3k1GCCB一文字違いが大違いでした・・・
参考にした本(セガ本?)にそういう記述があったのでつい (Tの件は)
T* <=この変数を使う場合
T->A
T->B
とか、
for(int i=0;i<1000;i++){
T-> X[i]
}
みたいに変数の中身をwhileの中で更新しまくっても問題ないですか?
0808名前は開発中のものです。
2009/07/28(火) 22:10:29ID:YL4nqTsX0809名前は開発中のものです。
2009/07/28(火) 22:14:47ID:C3k1GCCBちなみに2章を読み始めてから進まないまま二ヶ月目
0810名前は開発中のものです。
2009/07/28(火) 22:16:24ID:bkreYxYWダメダメ
それならCの構造体と変わらない
クラスの外からメンバ変数にアクセスするのは避ける
クラスっていうのは,外からはボタンを押すだけで中で勝手に処理してくれる
便利な機械みたいな感じ(そういう風に作るのが理想)
0811名前は開発中のものです。
2009/07/28(火) 22:19:08ID:TfpzHMPf0812名前は開発中のものです。
2009/07/28(火) 22:26:10ID:bkreYxYWためしに他の人が作ったC++のクラスライブラリを触ってみればいいんじゃない
ゲームエンジンならSeleneとか
英語大丈夫ならIrrlichtなんかも簡潔でおすすめ
どういう風にクラスを使えばいいのかわかるよ
0813802
2009/07/28(火) 22:29:42ID:C3k1GCCB本高い・・・。
すでに
14才から・・・、
OS自作・・・
やさしいC・・・
よくわかるC・・・
IP!
Cプログラミング講座、
アルゴリズムマニアックス、
はじめてのアルゴリズム入門、
とかの本を買っては進めないところがあって止まるを繰り返してもう資金が・・・
来月余裕があったら買ってみます。
0814名前は開発中のものです。
2009/07/28(火) 22:31:58ID:TfpzHMPfそれか図書館だな
0815801
2009/07/28(火) 22:35:44ID:C3k1GCCBと勘違いして作り始めたのさ!
もう・・・タイムリミットがちかずいている・・・・・・
やつが・・・・来る!
0816名前は開発中のものです。
2009/07/28(火) 22:36:54ID:LTJXvZ7v0817802
2009/07/28(火) 22:41:24ID:C3k1GCCBそういうことなのか!
なんかよくわかった気がしました。
クラスの中で処理を完結すればいい感じになれるってことですね♪
アレ?ッてことは今書いるプログラムは・・・・
0818名前は開発中のものです。
2009/07/28(火) 22:50:21ID:lbcOkIrbどっかに親切な解説ねーかな。ここじゃ正直めんどい。
とりあえず今から風呂→ネトゲでギルド潜りするんで、一分でそれっぽいとこ探して
おいた。
ttp://gihyo.jp/dev/serial/01/antique_assembler
初心者に分かるかはシラネ。でもこれが分かればCのメモリでつまづくことはたぶん
無くなりそうな記事に見えた。15秒くらいしか読んでないけど。
0819名前は開発中のものです。
2009/07/28(火) 22:55:24ID:lbcOkIrb素直に読めるもんじゃないかも。
ある程度「ふんふんそんなもんか」って飛ばし読みするには悪くないとは思うけど、
真面目にサンプルコードを走らせたりするタイプだと微妙にきつそう。
0820名前は開発中のものです。
2009/07/28(火) 22:57:31ID:bkreYxYWオブジェクト指向をちゃんとやりたかったらJavaのような
思いっきり抽象的な世界でリフレッシュした方がいいかもしれない
ゲーム作るのだって簡単
0821名前は開発中のものです。
2009/07/28(火) 22:58:28ID:C3k1GCCB関数を呼び出したときには元の場所に帰ってくるための情報が
どこかよくわからないない場所に
スタックの構造をした形でつまれているんだよ、ってこと?
0822名前は開発中のものです。
2009/07/28(火) 23:11:05ID:lZJGMEL/0823名前は開発中のものです。
2009/07/28(火) 23:14:09ID:C3k1GCCBとりあえずおいらゲームを作って見るよ!
クラスの中でクラスを宣言したりnewする方法がまったく理解出来ないけど。
時間切れなので・・・ノシ
ご指導ありがとうございました!
0824名前は開発中のものです。
2009/07/28(火) 23:29:31ID:0RhUYUoP0825名前は開発中のものです。
2009/07/28(火) 23:32:38ID:LTJXvZ7v勉強もいいけど取り敢えずサクッと作った方がよいかも
0826名前は開発中のものです。
2009/07/28(火) 23:40:38ID:gMpP2gLw0827名前は開発中のものです。
2009/07/28(火) 23:45:05ID:C3k1GCCBニコニコ動画にうpしたのならあるけど・・・・
それよりヘッダファイル見る?
0828名前は開発中のものです。
2009/07/28(火) 23:53:41ID:KFmBMjPZ0829名前は開発中のものです。
2009/07/29(水) 00:07:48ID:6Y8+8XuPとりあえず張ってみる。
これ以上スレすると荒らしになってしまいそうな気ガスる
0830名前は開発中のものです。
2009/07/29(水) 00:22:10ID:sFXJxN65トンチンカンになる。
余計なことやろうとせず、意味の分かってる仕様だけ使っていればいい。いわゆる
better CとしてのC++。newとか罠満載なものにやたらと触らない。
0831名前は開発中のものです。
2009/07/29(水) 00:37:52ID:1WJmBm/8最近までポインタが理解できずに使えなかった……。
どっかのサイトで「int *p」は「int* p」だって書いてあるのを読んでやっと少しだけわかった気がした。
「なんで *p で宣言してるのに使うのは p なんだ???」とずっと疑問だった。
Cって俺にはわかりづら過ぎる……。わかる奴凄い。
0832名前は開発中のものです。
2009/07/29(水) 00:46:49ID:e3ckjdq+68系のアセンブラを知っていればポインタを知っているとおもう。
ここを読んでみなさい。C++について詳しく解説してある。
http://www.asahi-net.or.jp/~yf8k-kbys/
0833名前は開発中のものです。
2009/07/29(水) 02:17:12ID:IM9p+Dbmいろいろ試行錯誤とか苦労しないと分からないのでは
話変わるがちょっと上のレスに関連することだが俺結構メンバ公開にして外からアクセスしてた
何かアクセサ使うとその分遅くなるような気がしてしまうんだよなあ
0834名前は開発中のものです。
2009/07/29(水) 04:42:03ID:sFXJxN65から透けて見えるから、ポインタなんかは概念も挙動も一発で飲み込める。
下の構造が見えないと、どんな処理が速いとか遅いとか効率いいとか悪いとかは経験の
繰り返しで飲み込むしか無いけど、下から見えていれば論理的に自然に飲み込める。
だが、アセンブラを理解する段階での苦労が大きいし、今のご時世でどんだけ報われる
かは自信ないからお勧めもしない。
とは言っても、昔は「まずアセンブラで」とか「BASICかアセンブラしか開発環境は
ありません」とかが普通だったから、そこまで難しいもんでも何でもないけどな。
0835名前は開発中のものです。
2009/07/29(水) 05:06:48ID:KJv9oy2Nただ今のプログラミング環境に慣れ親しんでると、ちょっとした事すら書くのが面倒ってだけで
0836名前は開発中のものです。
2009/07/29(水) 06:22:35ID:gEGcx4CR必要性がよくわからなくて結局殆ど使っていない。
使った方がカッコいいんだろうけど
0837名前は開発中のものです。
2009/07/29(水) 07:15:08ID:cb/+Lg0n0838名前は開発中のものです。
2009/07/29(水) 09:17:36ID:IM9p+Dbm使い方覚えたら結構便利だ
すぐでなくともそのうち覚えればいいんじゃないか
0839名前は開発中のものです。
2009/07/29(水) 10:34:12ID:jVZkfrqg覚えようとしないんだよなぁ……。
プログラム言語の解説サイトとかで命令の説明とかはいくらでも読めるけど、
「ゲームを作る際にこうやって使ったら便利!」とかまで書いてある事ないじゃん?
だから「ふーん」で終わっちゃうんだよね……。
いや俺が不勉強なのはわかってるんだが。
0840名前は開発中のものです。
2009/07/29(水) 10:40:16ID:p52lIH/Wポインタもメモリの確保もよく分からなかったけど、
一度必要になってから調べなおしたら結構使いこなせるようになった
0841名前は開発中のものです。
2009/07/29(水) 11:05:54ID:IM9p+Dbmまあ使わないでいけるんならいいんじゃまいか
0842名前は開発中のものです。
2009/07/29(水) 11:45:25ID:oi3ivzjYいろいろ覚えるとC++のほうがゲーム作りやすく感じるんだけどな
0843名前は開発中のものです。
2009/07/29(水) 13:08:33ID:B4ng0ZvnC++はクラスが使いにくくて返って面倒になったりするからつい細かいことはC風に書いてしまう
0844名前は開発中のものです。
2009/07/29(水) 13:15:13ID:tcSJ+b5u0845843
2009/07/29(水) 13:17:37ID:B4ng0Zvn作るのがめんどくさいんだよね
0846名前は開発中のものです。
2009/07/29(水) 13:47:45ID:IM9p+Dbm0847名前は開発中のものです。
2009/07/29(水) 13:54:50ID:B4ng0Zvnというだけのことであって,クラスを単なる名前空間と考えるならCと変わらん
クラス使ったからってオブジェクト指向になるわけじゃない
0848名前は開発中のものです。
2009/07/29(水) 14:11:50ID:p52lIH/Wさまざまな動きするものをまとめて管理するにはクラス使う方がラクだと思う
シューティングの弾とかRPGのNPCとか。
というか俺はクラス使った半オブジェクト指向でしかゲーム作れなかったりする
0849名前は開発中のものです。
2009/07/29(水) 14:20:10ID:gEGcx4CR手続き型で書いちゃうプログラマを思い出した。
0850名前は開発中のものです。
2009/07/29(水) 14:22:40ID:mG6Pind/0851名前は開発中のものです。
2009/07/29(水) 14:53:37ID:KJv9oy2N>まあ、intだってクラスだし
おいおいそれはJavaの事を言ってるんだろうな?
C++でのintはコンストラクタもデストラクタも持たないPODだが
0852名前は開発中のものです。
2009/07/29(水) 15:03:26ID:cAIJJmev0853名前は開発中のものです。
2009/07/29(水) 15:05:31ID:KJv9oy2Nすまん
Javaの事>Javaのintegerクラスの事
で
0854名前は開発中のものです。
2009/07/29(水) 15:05:32ID:B4ng0ZvnむしろJavaのほうがクラスとプリミティブ型の間に明確な振る舞いの違いがある
intをクラスの一種(正しくは構造体)として扱うのは.NETだな(C#やVB.NET)
0855名前は開発中のものです。
2009/07/29(水) 15:09:10ID:cAIJJmev0856名前は開発中のものです。
2009/07/29(水) 15:12:55ID:p52lIH/WC++では「intにもコンストラクタとデストラクタがある」ってのを間違えて覚えてたみたい……
恥ずかしい///
0857名前は開発中のものです。
2009/07/29(水) 18:42:39ID:PJW2UirX俺、それさえも途中で投げたんだが
0858名前は開発中のものです。
2009/07/29(水) 19:09:50ID:QQ6cQOKXまてまてまて。流石にそれは話にならんぞ。
料理が出来ないって人に、
「出汁とかその辺無視してもいいから、とりあえずお味噌汁から作ってみようか」
ってアドバイスして、無理って言われたようなもの。
0859名前は開発中のものです。
2009/07/29(水) 20:04:55ID:DQFan6Z4爆発とか衝撃波みたいなエフェクトを管理するクラスを作ったのよ
メンバ的にはコンストラクタとデストラクタと描画中かどうかのフラグ管理と実際に描画する関数といった具合
コンストラクタでエフェクト用の画像をメモリに読み込んでるんだけど
このクラスのオブジェクトを作る度にロードされるのが気持ち悪くてしかたない
画像リソースを読むところだけ外に出せないだろうか
0860名前は開発中のものです。
2009/07/29(水) 20:14:58ID:p52lIH/Wコンストラクタでクラス内の変数に代入すればいいんじゃないの?
グラフィックハンドルってただの数値だし
0861名前は開発中のものです。
2009/07/29(水) 20:29:24ID:RdHjB4sCクラスBのコンストラクタでそのグラフィックハンドルを得るようにした場合、
どちらのコンストラクタが先に呼び出されるか分かりませんが問題ないですか
0862名前は開発中のものです。
2009/07/29(水) 20:33:36ID:tcSJ+b5u0863名前は開発中のものです。
2009/07/29(水) 20:49:35ID:vU/WuoP5Image *image = new Image("effect.png");
// 複数のインスタンスでハンドルを使いまわす
Effect *explode1 = new Effect(image->handle);
Effect *explode2 = new Effect(image->handle);
0864名前は開発中のものです。
2009/07/29(水) 21:21:10ID:sFXJxN650865名前は開発中のものです。
2009/07/29(水) 21:31:15ID:cAIJJmev0866名前は開発中のものです。
2009/07/29(水) 22:04:56ID:oi3ivzjY0867名前は開発中のものです。
2009/07/29(水) 23:32:20ID:IM9p+Dbmそっからオブジェクトクラスに渡すのはそのハンドルのポインタにしてる
そうすれば途中でウィン→フルに変えるときとかもそのメインの画像読み込みメソッド呼び直すだけで済む
0868名前は開発中のものです。
2009/07/30(木) 12:04:22ID:OvoMaJfI0869名前は開発中のものです。
2009/07/30(木) 12:18:43ID:OvoMaJfIむしろグローバルでハンドラを作れってことか
再利用性が皆無になるが
0870名前は開発中のものです。
2009/07/30(木) 13:34:41ID:9rAtPdyTそのステージで必要ならshared_ptrで読み込む
エフェクトを実際に使う箇所ではそのshared_ptrをコピーして使う
ステージを通して読み込みは1回だけで、コピーもshared_ptrのコピーだけですむから軽い
しかもステージが終わったら勝手に安全に開放される
何よりコードがすごい簡単で見やすくなる
ってじっちゃがいってたけど、俺GUIのゲームまだ作ったこと無いからわからねーわ
0871名前は開発中のものです。
2009/07/30(木) 22:13:59ID:650NzX62class ImagePool : noncopyable {
typedef shared_ptr<Image> ImageSP;
typedef unordered_map< wstring, ImageSP > ImageHash;
ImageHash ih_;
public:
ImageSP get( wstring name ) {
ImageHash::iterator it = ih_.find(name);
if ( it == ImageHash.end() ) {
it = ( ih_.insert( make_pair( name, ImageSP( new Image(name) ) ) ) ).first;
}
return it->second;
}
void clear() { ih_.clear(); }
};
みたいな感じのも書きたくなるな。パフォーマンスどうなるかはシラネ。
0872名前は開発中のものです。
2009/07/30(木) 22:20:25ID:650NzX62ステージ始まってるのにいちいち止まってたらうぜーし。
0873名前は開発中のものです。
2009/07/30(木) 22:20:35ID:hh3V9W8Kそんなもんにパフォーマンスもクソもあるかよ
0874名前は開発中のものです。
2009/07/30(木) 22:24:47ID:650NzX62まぁhash検索のとこが重いだけだから、何度も何度も何度も何度もshared_ptr拾い直す
ようなアホなことをしなきゃ問題無いだろうけど
つーかぶっちゃけ超絶やっつけだから先に言い訳で書いた>パフォ
0875名前は開発中のものです。
2009/08/01(土) 14:00:04ID:QXWHJ91E{
private:
int x,y,kasokudo,flag,type,r,g,b,xt,yt;
int static swgraph,slgraph,slgraph2,slgraph3,vcgraph,ptgraph,ptgraph2;
double angle,timer,spread;
public:
effect(){}
Load_resorce()
(中略)
~effect(){}
};
int effect::swgraph=0;
int effect::slgraph=0;
int effect::slgraph2=0;
int effect::slgraph3=0;
int effect::vcgraph=0;
int effect::ptgraph=0;
int effect::ptgraph2=0;
結局こんな解決に落ち着いたよ ありがとう
無理に外へ出さないでヘッダと画像ファイルだけ移植すれば使いまわせる方がいいかなと
画像ロードするメソッドを1回だけ呼ぶようにしてスタティックなハンドラへぬっこむ感じで
0876名前は開発中のものです。
2009/08/01(土) 14:00:25ID:Qfg9axiN0877名前は開発中のものです。
2009/08/01(土) 14:02:27ID:QXWHJ91E呼びなおすようにはしてる
0878名前は開発中のものです。
2009/08/01(土) 14:09:47ID:hsxXyy+hでもそういうことしだすと何のためにDXライブラリ使ってるのかいまいち分からなくなってくる
どうせラップするんだから中身は別に複雑でもいいよねみたいな
0879名前は開発中のものです。
2009/08/01(土) 14:37:35ID:fM5CMo54グラフィックを読み込んだ時にエラーだと-1が返ってくるそうだから、
グラフィックハンドルに-1はありえないって事で
各グラフィックハンドルの初期値は-1にしておいて、
-1でないやつだけを読み直すとかやってるな。
0880名前は開発中のものです。
2009/08/01(土) 17:19:13ID:Qfg9axiNあるいは、右上の×印をクリックできないようにする方法はありますかね?
0881名前は開発中のものです。
2009/08/01(土) 18:11:57ID:XBQ0j9Rg0882名前は開発中のものです。
2009/08/01(土) 18:13:18ID:fM5CMo540883名前は開発中のものです。
2009/08/01(土) 18:23:08ID:XBQ0j9Rg0884名前は開発中のものです。
2009/08/01(土) 18:23:30ID:M1rtP1+j0885名前は開発中のものです。
2009/08/01(土) 18:31:27ID:Qfg9axiNなんとかなりそうです
0886名前は開発中のものです。
2009/08/01(土) 18:49:30ID:XBQ0j9Rg真面目に読んでて途中からワロタ
0887名前は開発中のものです。
2009/08/01(土) 22:58:32ID:Qfg9axiN0888名前は開発中のものです。
2009/08/02(日) 04:05:26ID:ioGay+hN0889名前は開発中のものです。
2009/08/02(日) 13:21:29ID:raZxXOJpだいたいほかの関数だと成功:0、エラー:-1を返してるじゃないですか?
そいうのがこれにも無いのかなとおもって
0890名前は開発中のものです。
2009/08/02(日) 15:42:36ID:kM+dLyLXでも一応DxLibは関数の共通規約が-1=エラーぽいから-1だけ特別扱いでいいと思うよ
0891名前は開発中のものです。
2009/08/02(日) 15:47:58ID:VhKHrAIb0892名前は開発中のものです。
2009/08/02(日) 18:18:51ID:kM+dLyLXドキュメントに載ってない関数だから知らないんだけど
ソース見る気はしないし
0893名前は開発中のものです。
2009/08/03(月) 13:33:57ID:Bkg1TOoKファイルから読み込み複合化した色情報を配列にセット
→MakeARGB8ColorSoftImageなどでSoftImageのメモリ確保
→DrawPixelSoftImageなどで配列からSoftImageに書き込む
→CreateGraphFromSoftImageなどでグラフィックハンドルを作成
→DeleteSoftImageでメモリ開放
→DrawGraphとかで描画
でおk?
0894名前は開発中のものです。
2009/08/03(月) 18:31:28ID:Iq3WkgiH開放に成功しないんだよなぁ……
仕様上プログラムが終了すると開放されるみたいだし、大丈夫なのかなコレ
0895894
2009/08/03(月) 18:43:55ID:Iq3WkgiHこめんなさい
0896名前は開発中のものです。
2009/08/04(火) 01:23:43ID:zuu4zu8S微妙にグローバルなのが邪魔くさいんだが、Dxライブラリのソースをまるっと書き換えるしかない?
0897名前は開発中のものです。
2009/08/04(火) 01:44:29ID:HZG+0EA+とりあえずCだけ独学してすぐにDirectX見て
挫折した自分には今更ながら、ピッタリじゃないか。
実際の所はオブジェクトで書いていけないと、ツラいの?
0898名前は開発中のものです。
2009/08/04(火) 02:36:14ID:I3xbLsIe俺はオブジェクトが何かも知らないが
DXライブラリのおかげでゲームは作れてる。
0899名前は開発中のものです。
2009/08/04(火) 03:09:27ID:2NLtwfy50900名前は開発中のものです。
2009/08/04(火) 06:22:55ID:6mk+vC8Fあると便利
0901名前は開発中のものです。
2009/08/04(火) 07:58:54ID:jjYfmP92画像を読み直すだけでは駄目なのか
0902名前は開発中のものです。
2009/08/04(火) 08:02:04ID:jjYfmP92SetDrawScreen( DX_SCREEN_BACK ) ;死直さないと駄目なのか
0903名前は開発中のものです。
2009/08/04(火) 10:32:21ID:sPOvaCTTちょっと勉強すればいいだけのことを避けて
ずいぶんと無駄に自分の幅を狭めてると思わない?
0904名前は開発中のものです。
2009/08/04(火) 17:23:09ID:gMr+p3zp0905名前は開発中のものです。
2009/08/04(火) 17:27:28ID:xk/uaGqeラッパーというか、あのまんまじゃゲーム作りに面倒だから、
あれにもうちょっと色々と処理類を追加して、作りやすくはしてる。
0906名前は開発中のものです。
2009/08/04(火) 17:27:59ID:zuu4zu8S0907名前は開発中のものです。
2009/08/04(火) 19:53:27ID:sPOvaCTTさすがにこんなラッパーが必要になるようなら他のC++用のライブラリ使った方がいいと思うよ
0908名前は開発中のものです。
2009/08/04(火) 20:01:54ID:vP8Ikyop0909名前は開発中のものです。
2009/08/04(火) 20:43:25ID:ODeu4gp10910名前は開発中のものです。
2009/08/04(火) 20:48:39ID:YerTetmP0911名前は開発中のものです。
2009/08/04(火) 21:06:21ID:nYiQO+FG0912名前は開発中のものです。
2009/08/04(火) 22:48:47ID:tCn5IwcP0913名前は開発中のものです。
2009/08/04(火) 22:57:08ID:ODeu4gp10914名前は開発中のものです。
2009/08/04(火) 23:06:20ID:l5hPySed0915名前は開発中のものです。
2009/08/05(水) 00:19:33ID:SP3G2Rznは、その才能を別のところに生かすべきだったと思う
ところで、あえてゲームのジャンルを指定せずに聞くが
ChangeFontType( この辺とか ) ;
ChangeFont( "この辺て" ) ;
何入れてる?
ChangeFontType( DX_FONTTYPE_ANTIALIASING_EDGE ) ;
ChangeFont( "MS P明朝" ) ;
とかだと、どうにも汚い
メイリオとかオーサカつかえりゃいいんだろうけど
0916名前は開発中のものです。
2009/08/05(水) 01:41:03ID:6IxCn2Gg書いたらCPU使用率が20%超えてるんだけどこんなもん?WaitTimer(10);は入れてます。
0917名前は開発中のものです。
2009/08/05(水) 02:13:38ID:tpv/Q7sN>>757使ってBDF M+やVL Gothic使うと汚くはないしライセンス的なものもきれいで好きです
0918名前は開発中のものです。
2009/08/05(水) 02:27:07ID:uKOy3PVlそんなものじゃない?自分の環境でも、だいたい20%前後で推移してるし。
ScreenFlipには、アイドリングループもやってるような事を>>70-95当りに書いてるし
きっと大体そんな感触。
だから、多少負荷を掛けたループを入れても、いきなり100%とかにはならないし。
0919名前は開発中のものです。
2009/08/05(水) 05:21:50ID:Nty2bj+rどっちの方が処理速度が速い?
管:それはおそらくオリジナルのゲームになるでしょう。
しかしそれは仕方ありません。DXライブラリは DirectX を意識しないでプログラムを
組めるように出来ているので、どうしても DirectX を意識して、DirectX にとって最適な
方法を念頭にいれて作られたソフトには敵いません。
ですが、それは DirectX と密接に関わらないと出来ない表現や処理が出きるか出来
ないか程度の違いで、処理速度的には目を凝らさない限りわからない程の差だと
思います。
これみて思ったが前に
hot スープ なんとかってベーシックみたいなやつ使ったことあるけど
あの処理の遅さには萎えた
0920名前は開発中のものです。
2009/08/05(水) 06:49:21ID:pLHczCar0921名前は開発中のものです。
2009/08/05(水) 07:07:46ID:m9BmQxuD0922名前は開発中のものです。
2009/08/05(水) 07:11:20ID:b5+ghAk/過去にGameMaker使ってた俺はC++に乗り換えて処理の早さに感動した
弾10000個出しても一切処理落ちなしとか
0923名前は開発中のものです。
2009/08/05(水) 09:28:27ID:6IxCn2Gg0924名前は開発中のものです。
2009/08/05(水) 09:35:09ID:b5+ghAk/ゲームによる
PS2の後期作品は常に100%近いものも多いと思う
0925名前は開発中のものです。
2009/08/05(水) 10:03:45ID:BDIkZ1Lk・XP以上でやれ
・メイリオ自分で落とせ
と割り切った動作環境なら使えなくもない
まぁ、そこまでするより>>917がベターな気はする
0926名前は開発中のものです。
2009/08/05(水) 13:28:59ID:rAOud/k3初期化に関してはDXライブラリの方が遅い
なぜなら使わない機能まで実装してしまうから
初期化のプロセスさえ我慢してしまえば、DirectXを使っている以上、ほとんど処理に差は出ない
0927名前は開発中のものです。
2009/08/05(水) 13:40:07ID:b5+ghAk/初期化→モデル読み込み→表示ってプログラム組んでるけど
起動から表示まで1秒も掛からないぞ
0928名前は開発中のものです。
2009/08/05(水) 16:15:24ID:OhVzEwVo0929名前は開発中のものです。
2009/08/05(水) 20:39:22ID:QIPk2n9v0930名前は開発中のものです。
2009/08/05(水) 21:20:02ID:5Y+5L7IB0931名前は開発中のものです。
2009/08/05(水) 21:57:12ID:tpv/Q7sNもし直接DxLibのAPIになかったとしても、
最悪隠れAPIのSetHookWinProcを使っていけちゃうのであきらめずに頑張ってください
0932名前は開発中のものです。
2009/08/06(木) 00:09:50ID:HbTQ3knb0933名前は開発中のものです。
2009/08/06(木) 00:17:40ID:jDGBXq4e>>932
でもやっぱウィンドウのほうがやりやすいゲームとかあるよ
0934名前は開発中のものです。
2009/08/06(木) 15:04:25ID:jDGBXq4eGetGraphSizeしてエラーだったら無効なハンドル?
0935名前は開発中のものです。
2009/08/06(木) 15:39:23ID:8f5EjUmV0936名前は開発中のものです。
2009/08/07(金) 07:56:39ID:C0s8VGZeこれってファイル隠蔽に使えないかな
パスの指定の際にも.{87D62D94-71B3-4b9a-9489-5FE6850DC73E}とか
つけなきゃいけないけど
0937名前は開発中のものです。
2009/08/07(金) 09:16:54ID:XMny16vo・ユーザーから見たら普通に気持ち悪い
・コマンドプロンプトからコピー余裕でした
0938名前は開発中のものです。
2009/08/07(金) 09:40:07ID:iOeiMAXC0939名前は開発中のものです。
2009/08/07(金) 10:02:45ID:C0s8VGZe面白そうだったんだけど……
0940名前は開発中のものです。
2009/08/07(金) 10:10:30ID:CmW3m8K+0941名前は開発中のものです。
2009/08/07(金) 10:24:55ID:XMny16vo何をやっても安全じゃないから諦めが肝心。ネトゲの通信も同じ。
ちなみに銀行やネットショッピングなんかの暗号は別物で、「解読方法は理論的に
鯖にしか分からない(に等しい)」という仕様だから安全に使える。
ゲームの暗号化が脆弱なのは、クライアント側が解けなきゃ仕様上どうしようも
ないから。どう解くかを解析すればそれで終了。ただ、一般人には無理だから、
誰かがツールでも配らない限り一般人は見ることができません、ってだけ。
0942名前は開発中のものです。
2009/08/07(金) 10:35:31ID:6dDwwnG+0943名前は開発中のものです。
2009/08/07(金) 10:39:51ID:CmW3m8K+まあなんにしろ俺が自分で作るよりかは安全だろうな・・・
0944名前は開発中のものです。
2009/08/07(金) 10:49:59ID:XMny16vo可能性もあるけどな。
まぁどっちにしろ、本気出せばすぐ解けるから。市販ゲームのデータ抜き出しツール
なんてごろごろしてるだろ。商売でやっててもあんなもんだ。
要するに、そんな労力があれば他に割いた方がいい。
0945名前は開発中のものです。
2009/08/07(金) 10:50:21ID:d+3hvGJnそれこそネトゲでもない限りどうでもいいかとw
0946名前は開発中のものです。
2009/08/07(金) 11:05:54ID:6dDwwnG+適当に文字書き込むだけで要素全開放とかできちゃうと萎えるのは俺だけ?
0947名前は開発中のものです。
2009/08/07(金) 11:34:05ID:nv30ydBi0948名前は開発中のものです。
2009/08/07(金) 11:43:52ID:Qwqa7qWf0949名前は開発中のものです。
2009/08/07(金) 12:40:00ID:d+3hvGJnそんなのやるヤツの勝手だし。
それによって他人に迷惑かけるのでなければどうでもいい。
つーかテキストでセーブデータ作るなよw
0950名前は開発中のものです。
2009/08/07(金) 13:17:28ID:CmW3m8K+0951名前は開発中のものです。
2009/08/07(金) 13:25:06ID:6vUntQWV0952名前は開発中のものです。
2009/08/07(金) 20:59:10ID:V6Jr42BU0953名前は開発中のものです。
2009/08/07(金) 22:16:20ID:R/yU7/kgDXライブラリで作ったゲームって、DirectX9.0以上ないと動かないよね?
0954名前は開発中のものです。
2009/08/07(金) 22:49:20ID:FR9Ry4Z7ムービー機能使わない限りは7.0a以降でおk
0955名前は開発中のものです。
2009/08/07(金) 22:51:06ID:R/yU7/kgmjd? ありがとう、助かった。完全に9.0いるって思いこんでたわ。
0956名前は開発中のものです。
2009/08/08(土) 12:13:43ID:HzUDJDzb0957名前は開発中のものです。
2009/08/08(土) 16:03:22ID:jt7y/fVkキャラクター名の画像を開くとか
0958名前は開発中のものです。
2009/08/08(土) 16:08:15ID:irbfFcCJ0959名前は開発中のものです。
2009/08/08(土) 16:45:54ID:jt7y/fVkいいんだろか
ほんとに?
char Filename[20]=hoge
file_hundl = fopen( Filename , "rb" ) ;
0960名前は開発中のものです。
2009/08/08(土) 17:00:40ID:qbEagQ+Fchar Filename[20]="hoge.ext";
FILE *file_hundl = fopen( Filename , "rb" ) ; // ファイル名が hoge.ext のファイルをバイナリ読み込みモードで開く
0961名前は開発中のものです。
2009/08/08(土) 17:02:51ID:TUp5Mpej2chにどれだけ書いてもコンパイル通らないぜ。
実際に書いて動かしてみたら?
0962名前は開発中のものです。
2009/08/08(土) 17:35:29ID:jt7y/fVkコンパイル通ったぜ!ありがとう
必要ないかもだけどフィードバック
char Filename[20]={"hoge\\piyo.ext"};
File *hndl=fopen(Filename,rb)
0963名前は開発中のものです。
2009/08/08(土) 17:41:02ID:7PEYw4hg\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!! ,,、,、,,,
/三√ ゚Д゚) / \____________ ,,、,、,,,
/三/| ゚U゚|\ ,,、,、,,, ,,、,、,,,
,,、,、,,, U (:::::::::::) ,,、,、,,, \オーーーーーーーッ!!/
//三/|三|\ ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
∪ ∪ ( ) ( ) ( ) )
,,、,、,,, ,,、,、,,, ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
,,、,、,,, ( ) ( ) ( ) ( )
0964名前は開発中のものです。
2009/08/08(土) 18:09:55ID:VZIInWJO0965名前は開発中のものです。
2009/08/08(土) 18:33:34ID:jt7y/fVkできればいらんAPI読みたくないなと
0966名前は開発中のものです。
2009/08/08(土) 21:09:05ID:irbfFcCJパスの文字列を直接いじればどうとでもなる
Cの標準ライブラリを使うだけだから使用を避ける意味は全く無い
0967名前は開発中のものです。
2009/08/08(土) 21:09:52ID:VZIInWJOいけない段階。
あまり初心者を無碍にしたくないが、C言語そのものの取り扱いが全然駄目となると、
ライブラリを語るスレとしては対象外。
0968名前は開発中のものです。
2009/08/08(土) 22:59:48ID:WpR4R+bjを繰り返して覚えるもんだと思うんだけどなぁ
勉強っていうと知識だけ集める感覚があって言語習得とはなんか違う気が。
0969名前は開発中のものです。
2009/08/09(日) 02:08:32ID:NNOs+ttH普通、大学受験だって、教科書や参考書を読んで、問題集をやって
間違ったら、もう一度参考書読んで、間違わなくなるまでやって、知識を身につけていくもんだ。
プログラミング言語も自然言語も数学も社会も美術も学習過程はそんな感じで、みんな一緒っしょ。
0970名前は開発中のものです。
2009/08/09(日) 03:07:59ID:PEaokWcCそうでなくても、明らかにバグの原因になるような考えの足りないコード書く奴多いのに
0971名前は開発中のものです。
2009/08/09(日) 06:41:01ID:yY5+Xf3s0972名前は開発中のものです。
2009/08/09(日) 09:41:37ID:/uJahesYそりゃsprintfだろうがsnprintfだろうがstrcatだろうが、絶対必要なら書くけどさぁ…
PCでそこまで切迫すること無いしなぁ
0973名前は開発中のものです。
2009/08/09(日) 12:33:09ID:TMuPKyBy0974名前は開発中のものです。
2009/08/09(日) 13:41:42ID:gf1YMdsn何かスマートな方法ないものだろうか
フォントのハンドルをグローバルに定義するとかしかないかな
0975名前は開発中のものです。
2009/08/09(日) 14:31:25ID:hOV2IouW文字表示多用するゲームだと、どうせフォント開放するのは終了時になるしね
0976名前は開発中のものです。
2009/08/09(日) 16:37:23ID:gf1YMdsnやっぱりグローバルで宣言しちゃうのが一番か
0977名前は開発中のものです。
2009/08/09(日) 17:05:48ID:/uJahesY使いすぎなければグローバルはシンプルで軽くて便利。罠もあるけど。
一番の罠は、RAIIによるAPI隠蔽と相性悪いとこだな。
0978名前は開発中のものです。
2009/08/09(日) 17:49:29ID:/Pr5d8OBhttp://monoganac2.sakura.ne.jp/src/milktea26846.txt
裏画面を初めて使ってみたのですが、何も表示されません
どなたかミスの指摘をお願いします
0979名前は開発中のものです。
2009/08/09(日) 18:07:09ID:vaLESxnjDxLib_Initを使う前にGetColor使っちゃだめだ
0980名前は開発中のものです。
2009/08/09(日) 18:14:34ID:/Pr5d8OBありがとうございました
0981名前は開発中のものです。
2009/08/09(日) 20:25:54ID:gf1YMdsn0982名前は開発中のものです。
2009/08/09(日) 21:00:54ID:TrjuCGgx個人的にはスレタイとテンプレのDXの表記を公式と同じ全角にしたいんだけど
0983名前は開発中のものです。
2009/08/09(日) 21:39:58ID:JommlOMg検索する時、アルファベットは大抵半角で検索するから。
0984名前は開発中のものです。
2009/08/09(日) 21:41:12ID:DNAG5Uj00985名前は開発中のものです。
2009/08/09(日) 21:42:43ID:9DTU34Ts0986名前は開発中のものです。
2009/08/09(日) 21:52:51ID:TrjuCGgx0987名前は開発中のものです。
2009/08/09(日) 21:56:53ID:TrjuCGgxDXライブラリ 総合スレッド その4
http://pc11.2ch.net/test/read.cgi/gamedev/1249822550/
大丈夫かな?
0988名前は開発中のものです。
2009/08/09(日) 22:42:06ID:TMuPKyBy0989名前は開発中のものです。
2009/08/09(日) 23:01:58ID:JommlOMgそこまで全角にこだわる必要なかろう。
0990名前は開発中のものです。
2009/08/09(日) 23:18:13ID:gf1YMdsn0991名前は開発中のものです。
2009/08/10(月) 00:06:00ID:Lw44AAUlstrcpy(name,"日本語でおk");
DrawFormatStringToHandle(100,210,cr,FontHundle,"%d",name);//crの値は割愛
とやると数字の羅列が出てしまう
半角文字を指定しても数字が出てしまうんだが何故だかわかるだろうか
0992名前は開発中のものです。
2009/08/10(月) 00:07:13ID:C6KOuFEu0993名前は開発中のものです。
2009/08/10(月) 00:07:31ID:8KXel7xlいけない段階。
あまり初心者を無碍にしたくないが、C言語そのものの取り扱いが全然駄目となると、
ライブラリを語るスレとしては対象外。
0994名前は開発中のものです。
2009/08/10(月) 00:08:48ID:Lw44AAUlパラメタの指定がまちがってんだな %dじゃないじゃないか
見なかったことにしてくれ
0995名前は開発中のものです。
2009/08/10(月) 00:10:13ID:Lw44AAUlありがとうorz
0996名前は開発中のものです。
2009/08/10(月) 00:21:50ID:JBHIU/3t0997名前は開発中のものです。
2009/08/10(月) 00:54:32ID:Lw44AAUl0998名前は開発中のものです。
2009/08/10(月) 00:55:18ID:/L63eAtq頼むから、この流れは次スレにもちこさんでくれ。
0999名前は開発中のものです。
2009/08/10(月) 00:59:58ID:Kvj0IrNz1000名前は開発中のものです。
2009/08/10(月) 01:00:08ID:bFMOlul410011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。