DXライブラリ 総合スレッド その8
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2011/04/03(日) 17:17:11.99ID:liTmPO3jGUIのゲームを比較的容易に作成する事を可能にする、
「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/
DXライブラリ 総合スレッド その4
http://pc11.2ch.net/test/read.cgi/gamedev/1249822550/
DXライブラリ 総合スレッド その5
http://pc11.2ch.net/test/read.cgi/gamedev/1259912953/
DXライブラリ 総合スレッド その6
http://hibari.2ch.net/test/read.cgi/gamedev/1267108154/
DXライブラリ 総合スレッド その7
http://hibari.2ch.net/test/read.cgi/gamedev/1286180687/
0176名前は開発中のものです。
2011/04/20(水) 17:13:37.27ID:QAjmiDzS0177名前は開発中のものです。
2011/04/20(水) 17:24:38.57ID:gmfDKVTIqsortは使ったことないんだけど …おかしいこといってたらごめんってことです
0178名前は開発中のものです。
2011/04/20(水) 17:29:01.31ID:yrI6qPon関数入れ替えたいってどういうことなんだろう
0179名前は開発中のものです。
2011/04/20(水) 17:48:56.59ID:GN2ua2Pn彼はプログラムの概念をわかっていないように見えるし、レスもよくわからないから的外れだったら申し訳ない。
たぶん彼が言いたいことはこう。
まず以下のように書くとA、B、Cの順で描画される。
LoadGraphScreen( A.x , A.y , "A.bmp" , TRUE ) ;
LoadGraphScreen( B.x , B.y , "B.bmp" , TRUE ) ;
LoadGraphScreen( C.x , C.y , "C.bmp" , TRUE ) ;
けれどもこの時y座標の大きい順に描画したい。
例えばC、A、Bの順に大きかったら、以下のようになると良し。
LoadGraphScreen( C.x , C.y , "C.bmp" , TRUE ) ;
LoadGraphScreen( A.x , A.y , "A.bmp" , TRUE ) ;
LoadGraphScreen( B.x , B.y , "B.bmp" , TRUE ) ;
つまり、彼は描画順序を入れ替えたいんだけど、その手段としてソース上で順序を入れ替えないといけないと思っているんじゃないかな。
二つに限定して、且つ超初歩的にやればこれでいいんじゃないの?
もちろん配列でソートでって方が汎用性高いのはわかってる。
if(ch.y > tk.y){
LoadGraphScreen( ch.x , ch.y , "test1.bmp" , TRUE ) ;
LoadGraphScreen( tk.x , tk.y , "test2.bmp" , TRUE ) ;
}else{
LoadGraphScreen( tk.x , tk.y , "test2.bmp" , TRUE ) ;
LoadGraphScreen( ch.x , ch.y , "test1.bmp" , TRUE ) ;
}
0180名前は開発中のものです。
2011/04/20(水) 17:59:23.21ID:yrI6qPonグラフィックハンドル使うようにしたほうがよくね?
0181名前は開発中のものです。
2011/04/20(水) 18:21:21.63ID:gOh24mXV>>179は>>147の例でLoadGraphScreen使ってるから
同じように書いただけでしょ
>>179
「関数の並び順を入れ替える」って書き方からして多分そうだろうね
0182名前は開発中のものです。
2011/04/20(水) 18:41:19.53ID:yrI6qPonああ、書き方が悪かった
先にLoadGraph覚えたほうがよくね?と
0183名前は開発中のものです。
2011/04/20(水) 19:52:46.50ID:gmfDKVTIもっと簡単な方法があればいいんだけどね
0184名前は開発中のものです。
2011/04/20(水) 19:57:18.68ID:QAjmiDzS0185名前は開発中のものです。
2011/04/20(水) 19:59:14.98ID:u46E6FXOそれでも半透明含む画像なら描画順ソートしないといけないからなぁ
0186名前は開発中のものです。
2011/04/20(水) 20:17:07.27ID:gmfDKVTIわざわざ構造体を何度も使わなくても良かった
0187名前は開発中のものです。
2011/04/20(水) 20:56:03.86ID:7Yep2+Xc質問者の意図を理解できた! ありがとう>179! お前さん凄いよ!
0188名前は開発中のものです。
2011/04/21(木) 00:23:44.65ID:21Pfty4+0189名前は開発中のものです。
2011/04/21(木) 00:38:15.37ID:tulFtZ6S0190名前は開発中のものです。
2011/04/21(木) 02:21:16.68ID:8fqBzhMo関数の入れ替えってあたりの文面がどうも意味不明で
質問の意図を理解できてなかったんだ
0191名前は開発中のものです。
2011/04/21(木) 04:44:00.06ID:kTQF2lXe0192名前は開発中のものです。
2011/04/21(木) 17:55:52.72ID:7X7Ch23Qいや、勘違いはしてないと思た
0193名前は開発中のものです。
2011/04/21(木) 20:22:14.76ID:z6Ik0fAk0194名前は開発中のものです。
2011/04/21(木) 20:30:20.48ID:w6LbHHkh0195名前は開発中のものです。
2011/04/22(金) 15:22:32.53ID:ZZbcrveSわ、分からない…
描画関数の分だけ構造体つくればおkなの?
0196名前は開発中のものです。
2011/04/22(金) 15:51:49.28ID:d2IDnen20197名前は開発中のものです。
2011/04/22(金) 16:19:03.02ID:IbxgPKF00198名前は開発中のものです。
2011/04/22(金) 16:46:44.29ID:ZZbcrveS0199名前は開発中のものです。
2011/04/22(金) 18:14:26.01ID:vb0J5xwN0200名前は開発中のものです。
2011/04/22(金) 18:30:53.52ID:5772Xp6L0201名前は開発中のものです。
2011/04/22(金) 18:58:47.76ID:iP1DrzVRもしくはゲームの基本設計
0202名前は開発中のものです。
2011/04/22(金) 19:10:34.25ID:iUZtwWxyとりあえず四聖龍神録のとこに誘導してみるか
http://dixq.net/rp/
とりあえずココ行って基礎を学んでくれ
0203名前は開発中のものです。
2011/04/22(金) 19:16:48.12ID:rCUrQ5smDrawGraphやDrawExtendGraphといった複数の描画関数を使ってることだよね?
そしてこの場合、単純に>>160の方法では無理なんじゃない、って話?
俺は経験薄なんでこれがまともな方法か分からんが
どの描画関数を使うかのフラグと、全ての描画関数に対応したメンバを持つ構造体を作って
それに次々に値を放り込んだ後、ソート→フラグに応じた描画関数で描画、という流れにするかなぁ
0204名前は開発中のものです。
2011/04/22(金) 19:41:48.50ID:WNlqzxto(例:DrawGraphで出来る描画はDrawExtendGraphでも可能)
どれぐらい複雑な描画をしたいか、に応じて使う関数を決めれば良いと思うよ。
0205名前は開発中のものです。
2011/04/22(金) 19:48:39.62ID:mHWapd/x流れから言って>>195はド初心者だ。
描画関数っていうのはLoadGraphScreenのことだと思われる。
プログラムを教えるときに初心者の説明が正しいと思って聞くことがまず間違い。
0206名前は開発中のものです。
2011/04/22(金) 20:00:26.12ID:17mzfYEXDrawGraph等の描画関数使えるようにならないとだるい
0207名前は開発中のものです。
2011/04/22(金) 20:21:32.51ID:ZZbcrveSありがとうございました
おかげで解決しました
0208名前は開発中のものです。
2011/04/23(土) 04:07:37.85ID:+EnSFA7Oもしかしてこれを使わないとDXアーカイブ内部のファイルが読めない?
0209名前は開発中のものです。
2011/04/23(土) 04:19:37.94ID:96fUA2Yj0210名前は開発中のものです。
2011/04/23(土) 09:58:05.21ID:8HtAA01MもろDXアーカイブ用の為の関数よ。
0211名前は開発中のものです。
2011/04/23(土) 10:01:41.96ID:tKjuaaW1いざ最後にアーカイブ化してそのことに気づくというパターンはありそう
っていうか俺も今気づいた。
アーカイブにしたら動かないだろうな
0212名前は開発中のものです。
2011/04/23(土) 10:10:56.27ID:8HtAA01MDXアーカイブの強みは、DxLib内の関数のみを使用している意識せずに使えることなんだけど…。
ちゃんとリファレンスを読もう。
0213名前は開発中のものです。
2011/04/23(土) 10:13:40.19ID:8HtAA01M>>210 用と為被ってておかしいのと、
>>212 DxLib内の読込関数を使用していれば意識せずに です。
ごめんなさい、許して。
0214名前は開発中のものです。
2011/04/23(土) 10:16:12.31ID:YgZ77nNp0215名前は開発中のものです。
2011/04/23(土) 10:54:21.56ID:+IqGunXJ0216名前は開発中のものです。
2011/04/23(土) 11:02:02.06ID:kMHIx+H20217名前は開発中のものです。
2011/04/23(土) 12:14:29.86ID:VGABxqlM痛い目にあったことを思い出した。
0218名前は開発中のものです。
2011/04/23(土) 12:15:37.75ID:VGABxqlM痛い目にあったことを思い出した。
0219名前は開発中のものです。
2011/04/23(土) 12:16:51.97ID:VGABxqlMすまん。
0220名前は開発中のものです。
2011/04/23(土) 12:18:31.59ID:kMHIx+H20221名前は開発中のものです。
2011/04/23(土) 12:23:49.62ID:bPWS++pQ0222名前は開発中のものです。
2011/04/23(土) 12:40:13.04ID:/QKrQh/60223名前は開発中のものです。
2011/04/23(土) 13:46:37.99ID:tKjuaaW1製作中はアーカイブにしないから
標準の読み込み関数を使ってしまって
そのためにアーカイブ化すると動かなくなるということ話ね。
0224名前は開発中のものです。
2011/04/23(土) 17:29:32.03ID:8HtAA01Mあぁ、何も考えずに勝手に手が動いちゃってみたいな意味か。
0225名前は開発中のものです。
2011/04/23(土) 17:53:52.76ID:Nu+ZK2JUそれだったらクラスでスッキリ解決するのでは
0226名前は開発中のものです。
2011/04/23(土) 17:55:44.84ID:YC2BcyK4俺用フレームワークを作ってる人は多いと思うけど、
拡張しながら使っているとは言え、新しい機能とか部分的に対応してなかったりするんだよなw
0227名前は開発中のものです。
2011/04/23(土) 17:59:12.91ID:MULAonT8DxWin.cppのWM_MOVEShred関数の
WinData.WindowRect.left = ( lParam << 16 ) >> 16;
を筆頭に変な書き方をしている部分が多くて挫折しそう
0228名前は開発中のものです。
2011/04/23(土) 20:46:39.92ID:9baWLQqe上位16ビットを捨てて小数点以下にしてるとか?
0229名前は開発中のものです。
2011/04/23(土) 20:58:50.32ID:MULAonT8上位16bitをクリアしようとしてる
当然lParamが64bitであるx64では破綻する
むしろ符号拡張絡みで32bitでもやばい気がしないでもない
Windows的にはHIWORD,LOWORDマクロで取り出すのが正攻法
0230名前は開発中のものです。
2011/04/23(土) 21:32:25.30ID:l8bD6Lx5公式で指摘してあげたらいんじゃね?
管理人さんも万能のスーパーマンというわけではないのだから
0231名前は開発中のものです。
2011/04/23(土) 21:45:55.91ID:VcZqyLro向こうも大混乱だな
0232名前は開発中のものです。
2011/04/23(土) 22:48:29.18ID:MULAonT8ネイティブ64bit対応なんてこのライブラリのユーザ層からして需要がないから
公式には書きにくくてね
0233名前は開発中のものです。
2011/04/23(土) 23:55:35.46ID:96fUA2Yj0234名前は開発中のものです。
2011/04/24(日) 02:35:50.16ID:h1rovhXU少なくともXPは全滅しそう。
0235名前は開発中のものです。
2011/04/24(日) 18:35:19.94ID:QtHel+Bqdoubleが64ビット
0236名前は開発中のものです。
2011/04/24(日) 18:36:28.57ID:f3nRIpeu0237名前は開発中のものです。
2011/04/24(日) 21:07:31.04ID:/nQOPHyj0238名前は開発中のものです。
2011/04/24(日) 21:08:50.83ID:/nQOPHyj0239名前は開発中のものです。
2011/04/24(日) 21:13:01.00ID:v3pwyrnJ0240名前は開発中のものです。
2011/04/24(日) 22:28:09.84ID:c1FilR2L0241名前は開発中のものです。
2011/04/24(日) 22:57:06.46ID:9GkRz4f/やっぱり不評だったんだな。
まあ個人サイトをここでとやかく言うことではないか。
0242名前は開発中のものです。
2011/04/24(日) 23:19:51.61ID:n/oFO+Nc0243名前は開発中のものです。
2011/04/25(月) 00:09:14.76ID:cByZ1ecF0244名前は開発中のものです。
2011/04/25(月) 05:58:47.55ID:hAU7bdZk0245名前は開発中のものです。
2011/04/27(水) 16:41:50.17ID:SfWDnuLr0246名前は開発中のものです。
2011/04/27(水) 16:50:07.54ID:IPJ0XE3+Log.txtとDXライブラリ用アーカイブあたりで判別できることはある。
あとreadme
0247名前は開発中のものです。
2011/04/27(水) 23:12:59.43ID:2C6l25XF0248名前は開発中のものです。
2011/04/29(金) 19:09:37.42ID:DyYH5Z77DXライブラリでつくられたゲームで売れているのってあるか?
0249名前は開発中のものです。
2011/04/29(金) 19:16:58.08ID:kMqcAN+6有名なのはディアドラエンプティとかかな
売れてるかはわからないけどアナザーアポカリプスってのも評判良かった
あと東方二次創作ではDXライブラリ製が結構多い
0250名前は開発中のものです。
2011/04/29(金) 20:00:19.32ID:QpcweCtM0251名前は開発中のものです。
2011/04/29(金) 20:09:32.74ID:KkdA+cFq0252名前は開発中のものです。
2011/04/30(土) 00:40:51.92ID:32GM57KJあーそれ、さっきまで遊んでた
フロイデンシュタヘルとかいって喋るやつじゃない?
0253名前は開発中のものです。
2011/04/30(土) 07:10:23.99ID:aEFMseajあと古いゲームだけど、だんえたもそこそこ売れたんじゃないかな
調べてみるとフリーで有名なゲームにもDXlib使ってるのがちらほら
0254名前は開発中のものです。
2011/05/01(日) 01:22:54.30ID:Ev0zZ5zFキー判定をするようにしても、VC++がアクティブ時だとキーが
反応してる気がする
0255名前は開発中のものです。
2011/05/01(日) 06:52:06.21ID:IAjZNoGW単独で動かしたときはどうよ?
0256名前は開発中のものです。
2011/05/07(土) 23:50:21.56ID:EtYXhAMI3DならSeleneがいいみたいな話を小耳に挟んだのでちょっと興味が沸いた
0257名前は開発中のものです。
2011/05/07(土) 23:57:59.16ID:2sm8OEH50258名前は開発中のものです。
2011/05/08(日) 00:06:46.40ID:wp3inFii感覚そのままで3Dに以降できるし
昔selene使ってみようとしたことがあったけど、
色々用意されすぎてて独自ルール満載のseleneプログラミングを勉強しなおす事になっちゃう
0259名前は開発中のものです。
2011/05/08(日) 01:22:47.21ID:6B61UFduやっぱ慣れてるほうのがいいか。ありがとう。
0260名前は開発中のものです。
2011/05/08(日) 02:26:03.19ID:Q+cfEXU/画像を読み込むときに画像を16x16毎に分けて個別に配列に格納して描画するようにしたら
めっちゃ早くなったわ。処理を見直すよりよっぽど効果があるわ。
画像が小さい方がビデオメモリに画像データをキャッシュさせやすくなるとかなのかな。
0262名前は開発中のものです。
2011/05/08(日) 14:43:22.94ID:RBZRN1AF0264名前は開発中のものです。
2011/05/08(日) 14:58:04.98ID:jie80BC+0265名前は開発中のものです。
2011/05/08(日) 15:01:59.49ID:RBZRN1AFフラグ建てないとだめなんだっけ?そんな感じの記述をどっかで読んだ覚えが
0266名前は開発中のものです。
2011/05/08(日) 15:03:18.18ID:zclMRG660267名前は開発中のものです。
2011/05/08(日) 15:07:00.89ID:u3+kLa6f0268名前は開発中のものです。
2011/05/08(日) 16:06:55.79ID:rUzvphcT詳しく載ってるサイトない?
0269名前は開発中のものです。
2011/05/08(日) 16:40:31.79ID:4k77N9pL普通に考えるとBlt回数減らした方が早いと思うんだけど
マップチップ画像全体を読み込んで表示位置をIDに従って切り替えるんじゃなくて
16x16毎に画像を切って読み込んだら早くなったっていうことなんだけど、
Blt回数減らせるかね?
0271名前は開発中のものです。
2011/05/08(日) 17:05:45.08ID:zclMRG66以前は一部だけ描画する関数を使ってたってこと?
それなら比較すれば早くなるだろうけど
マップチップ画像の事をマップ画像だと思ってる?
マップ画像は持ってなくて、マップチップ画像からチップIDに従って16x16を抜き出して適切な位置に表示してる
描画回数はどちらも(ウィンドウの幅/16)*(ウィンドウの高さ/16)回ですよ
0273名前は開発中のものです。
2011/05/08(日) 17:21:00.55ID:6HW1OX7iそれとも1マス毎にDerivationGraph+DrawGraph?
0275名前は開発中のものです。
2011/05/08(日) 17:37:06.78ID:6HW1OX7iあ、でもマップチップ画像が2のn乗サイズじゃないと重いかも
マップチップ画像のサイズは幅・高さ何?
■ このスレッドは過去ログ倉庫に格納されています