DXライブラリ 総合スレッド その6
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2010/02/25(木) 23:29:14ID:hEXp+gEaGUIのゲームを比較的容易に作成する事を可能にする、
「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/
0012名前は開発中のものです。
2010/02/26(金) 22:54:04ID:PHlX3hrg古いバージョンならともかく新しいバージョンで使えなくなるというのは聞いたこと無いんだけど
試しにVisualBasicでやってみたけど無難に動いた
0013名前は開発中のものです。
2010/02/26(金) 22:56:53ID:QPp2DQH60014名前は開発中のものです。
2010/02/28(日) 21:21:50ID:n995yOe0lib不要でコンパイラ関係なくなる
0015名前は開発中のものです。
2010/02/28(日) 21:24:11ID:n995yOe0関数追加や仕様変更で作り直さないといけない
作者がやるのがいい
0016名前は開発中のものです。
2010/02/28(日) 21:26:40ID:n995yOe0マクロなどの解析が大変。どれか一つヘッタだけならできても
世の中の全てを書き換えるのは大変
0017名前は開発中のものです。
2010/03/03(水) 02:30:11ID:5LT7J4f3pass:dxdx
かじりかけの知識とDXでゲームを作ろうと思うんだが
パネル式(?)のアクションゲーム(ボンバーマンやロックマンエグゼのような)なんだけど
3D使うんだけど、全部モノクロでドットの荒さを残して3Dっぽくないカンジでつくろうと思っている。(レトロゲームのように)
敵キャラを表示するのにビルボード(DrawBillboard3D)を使えばいいかなと思ったけど、なんか動きが変なので断念
普通に3Dで表示したら斜めっぽくなってしまう。
とても面倒だったが、遠近感とかの3Dっぽい動きを全部拡大縮小で作った。
しかし納得いかない、3Dの面をビルボードのように常に視点に合わせるにはどうすりゃいいの?
質問に答えてくれなくてもいいから、とりあえず俺の渾身(失笑)の力作コードを見て感想や罵倒を述べてくれれば嬉しい
最初のOP(仮)はAキーとかで飛ばせる。操作は矢印キー。と、シフトで加速移動
まだ何もできてないけど・・・
0018名前は開発中のものです。
2010/03/03(水) 03:05:00ID:G05DIRSdだが何やりたいのかはわからん
3Dの面をビルボードのように常に視点に向かせたら、それはビルボードと呼ぶのではないだろうか
3Dっぽくないカンジってことなんで、SetupCamera_Perspective(float Fov)で視野角をいろいろ変えてみると得るものがあるかも
0019名前は開発中のものです。
2010/03/03(水) 08:36:43ID:/gnwupJu0020名前は開発中のものです。
2010/03/03(水) 09:47:19ID:ebUApodJ0021名前は開発中のものです。
2010/03/03(水) 17:59:20ID:5LT7J4f3回答サンクス。試してみる
>>19
歩く幅とか攻撃範囲とかがマス目で表されるというかなんというか・・・
>>20
そうそうそうそう!
0022名前は開発中のものです。
2010/03/03(水) 18:21:23ID:TeC32bky0023名前は開発中のものです。
2010/03/03(水) 18:47:00ID:5LT7J4f3合ってるけどちょっと違うかも
敵が遠くへいったら小さく表示されて近くだったら大きく表示されるけど
3Dっぽくない。シレン3みたいに3Dっぽくないカンジでアスカ見参みたいに2D?
3Dをドットで描いてるようなカンジで表現したい。だからテクスチャのフィルタリング方式を変えてドットの荒さも残している。
ステージがフカンのアングルなのは演出。でもステージの上に乗っている奴らはビルボードで表示したい。
だけどDrawBillboard3Dだと上手くいかなかった。普通の3Dのような動きをしてくれない。
主人公は常に中央表示。視点移動でその他が動くような・・
だけど3D。ぺらぺらしたカンジというのかなんというのか・・・
http://www.uproda.net/down/uproda007981.jpg
説明下手でスマン
0024名前は開発中のものです。
2010/03/03(水) 18:49:52ID:PuuRWQBuプレゼンの時ってハッキリと「〇〇みたいなゲームです」って言うらしいし
0025名前は開発中のものです。
2010/03/03(水) 19:09:07ID:5LT7J4f3似たようなゲームに遭遇した事がない…こんなんあったら面白いかなって。
でもありそうだけど・・・俺がゲーム知識に乏しいだけかな
プログラムは上のレスでうpしたたけど、一応動画も上げようか
ゲーム内容は、だだっぴろい盤上みたいなマスの上で上下左右動いて
雑魚を好みの武器でぶっ殺しつつボスへ・・みたいな
障害物置きつつ弾撒きつつ接近して殴りつつ…
例えるとロックマンエグゼを全パネル見渡せないぐらいパネルを増やしたカンジかな(やや違うけど)
という妄想
0026名前は開発中のものです。
2010/03/03(水) 19:24:43ID:ebUApodJ自分は2D専用のラッパーとして使ってるからDXlibの3Dはさっぱりだけど、
3Dを一コマずつスクリーンキャプチャしたほうが早いようなきもする
0027名前は開発中のものです。
2010/03/03(水) 19:32:01ID:Vqz5zby20028名前は開発中のものです。
2010/03/03(水) 20:03:39ID:kobRNO+x>3Dをドットで描いてるようなカンジで表現したい。
3Dドットヒーローズ思い出したけど・・・絶対違うよな。
0029名前は開発中のものです。
2010/03/03(水) 20:13:19ID:gOc3TacJファイナルファイト系のゲームに使いたいってことじゃないの?
0030名前は開発中のものです。
2010/03/03(水) 20:14:58ID:TeC32bky0031名前は開発中のものです。
2010/03/03(水) 23:03:08ID:/gnwupJuサンプルみて理解した。
ラグナロクオンラインの視点を傾け固定にした感じかな。
背景は3D床だけどキャラは2Dドット絵。
尤もROの場合、遠近パースが付かなくて近くも遠くも大きさ固定だった気がするけど…
ttp://www.nicovideo.jp/watch/sm6310424
見易さからトップビューでプレイするひとばっかだが4分10秒くらいから傾け視点になる。
くるくる旋回してちょっと見にくいけど。
0032名前は開発中のものです。
2010/03/04(木) 00:08:36ID:bmuAtzlmスマン…わからん
>>27
むしろパースっぽくしたいのです
>>28
そういう解釈もあったかw
>>29
調べてみた。イメージとしてはかなり似てる
>>30
そうそう
>>31
これでキャラクターにもパース(遠近感)がついたらかなりそんな感じ
説明が下手なので皆さんに多種多様なイメージを抱かせてしまった気もしますが…
サンプルでは下のステージが3Dで上の雑魚が2Dなんですが(実験のため3Dの雑魚もいる、動いてないのがそれ)
この動いていない3D雑魚をビルボードにしたい…という事…かな?2Dだと後々面倒なので(一応遠近の処理を作ったけど)
(だけどまるで2Dのように、ポリゴンというより一枚絵)>>30氏のいってるマリカーのような。
なんか色々とスミマセン
0033名前は開発中のものです。
2010/03/04(木) 06:55:56ID:6SUydV06http://www.youtube.com/watch?v=i6KMAm_228s
キャラクターは単純なビルボードで問題ないよ。
あとはテクスチャの解像度とアニメーションを工夫するしかないと思うんだけど?
0034名前は開発中のものです。
2010/03/04(木) 11:21:49ID:QnyTtAvAなにこれ面白そう
0035名前は開発中のものです。
2010/03/04(木) 15:12:08ID:ZSFjc+kImarathonとかそこら辺
0036名前は開発中のものです。
2010/03/04(木) 20:24:20ID:3f7g+lVt普通にDirectX直でやってみたらああならなかったので、DXライブラリではわざわざ3D枠を指定しているようなんですが必要ないので通常通りにしたいです。
0037名前は開発中のものです。
2010/03/04(木) 20:49:36ID:AMXf8uFP0038名前は開発中のものです。
2010/03/04(木) 20:54:46ID:Paqh0ql00039名前は開発中のものです。
2010/03/04(木) 21:23:12ID:lM24vRy8ソース見てみたんだけど、エントリポイントが見つからないのだが
どこにエントリポイントあるの?
0040名前は開発中のものです。
2010/03/04(木) 22:23:07ID:3f7g+lVtSetWindowStyleMode(int);てのがあるんですね。
5で枠無しだったけど、さらに最小だけできる9もあったので助かりました。
くだらないなあと思って質問してみるか迷ったけど良かった。
ありがとうございます!
0041名前は開発中のものです。
2010/03/06(土) 23:45:15ID:OtrNr78LHalf-Lifeとかのマップの作り方と一緒?
0042名前は開発中のものです。
2010/03/07(日) 00:33:02ID:Ek8C+ni20043名前は開発中のものです。
2010/03/07(日) 20:08:00ID:o4xE4jZNビルボード問題に関しては無事解決しそう。
ここでどんどん作業を進めたいところなんだけど、一つ疑問が浮上してきた。
作ってるゲームは64*64のマスで戦うゲームなんだけど…
敵とかのデータは構造体の変数になっていて、敵の最大数分の配列で宣言されている。
その構造体の一つに敵の種類を表す数値があって、
その数値を使って、毎ループごとに全敵をforでループして、敵が存在したら
その数値に対応する関数配列でその敵の変数を処理…という事になっているんだけど
void obj_scan(){
int i;
for(i=0;i<OBJ_MAX;i++){
if(object[i].F==1)objectFunction[object[i].no](i);
}
}
例えば(25.6)マスの座標にいる敵にミサイルが飛んできたとする(構造体には座標の情報もある。弾も敵と同じような仕組みで作られている。)
その座標に着弾した瞬間(敵の座標と弾の座標が同じになった瞬間)に、敵にダメージを加えて弾を消滅って処理をやりたいんだけど…
「どの敵がどこにいるか、どの弾がどこにあるか、着弾しているか、敵がいるからそこは歩けないか」とかの他の敵・弾の座標情報を取得しながらの処理で
どうやって座標を取得するかが問題で…
方法1.いちいちforループして、座標が一致する敵・弾があるか確認する。
方法2.全マス分(64*64いわゆる全座標分)の変数配列を用意して、その変数(座標)に「その座標にいる敵(or弾)の配列番号」を代入、どの座標に
どの敵がいるかとか、探すときにそれを使う。敵が移動したりするたびに0に戻し、移動した変数(座標)にまた番号を代入する。
どっちの方法を取ろうか悩んでいるんだ…上はもしかしたら動作が重いかもしれないと思って方法2を思いついたんだが…
なんか他に方法があったり、つっこみどころとかあったら頼みます…説明わかりづらくてスマソ
0044名前は開発中のものです。
2010/03/07(日) 20:27:04ID:Ek8C+ni20045名前は開発中のものです。
2010/03/07(日) 20:39:35ID:+z/8dm0F少ないならどうやってもいいし
多いなら後者じゃないと追いつかなくなる
0046名前は開発中のものです。
2010/03/07(日) 20:43:41ID:o4xE4jZN0047名前は開発中のものです。
2010/03/07(日) 20:53:39ID:99JOqwSs0048名前は開発中のものです。
2010/03/07(日) 20:59:44ID:GayNU2ptCPUにもよるが、秒間60Fで1Fに処理できるループ数は数百万回程度と考えておいた方がいい。
ループ処理って意外と重いのよ。簡単な演算なら数千万回は軽いんだけどね。
演算負荷を考えるなら、徹底的にループを効率化するのがいい。
0049名前は開発中のものです。
2010/03/07(日) 21:04:36ID:o4xE4jZN0050名前は開発中のものです。
2010/03/07(日) 21:06:59ID:+hnFXBes0051名前は開発中のものです。
2010/03/07(日) 21:15:36ID:COLPwTDN0052名前は開発中のものです。
2010/03/10(水) 23:00:49ID:T3x3N6PJ0053名前は開発中のものです。
2010/03/10(水) 23:06:40ID:sdWt+LpvどうせサンプルがC++ばっかりだからC系言語に慣れてる方がスムーズ
0054名前は開発中のものです。
2010/03/10(水) 23:09:25ID:T3x3N6PJヘタレなのでC++からVBに逃げた所存でございます
VBで作ったアプリの一部にDXライブラリを使用したエフェクトを使いたかったのです
C++かC#のほうがいいすかね。ガンバリマス。
0055名前は開発中のものです。
2010/03/10(水) 23:14:36ID:TkD5VN4oいやもちろん使いこなそうとしたり、お約束を守ろうとするなら勉強が必要だけど
DXライブラリがあればBASIC的な作り方で充分ゲームになるからさ〜。
0056名前は開発中のものです。
2010/03/10(水) 23:19:34ID:gFYvRuMsPCの情報集め処理をカットするメソッド無いの?
Log.txt生成オフにしても早くならなかった
0057名前は開発中のものです。
2010/03/11(木) 06:57:10ID:4Gn6eB6z0058名前は開発中のものです。
2010/03/11(木) 13:14:11ID:qEvyYXDS知らねえ奴は黙ってろ
0059名前は開発中のものです。
2010/03/11(木) 13:30:27ID:FhI7ql8Z0060名前は開発中のものです。
2010/03/11(木) 13:55:42ID:wbYJjsi60061名前は開発中のものです。
2010/03/11(木) 14:16:00ID:Dy6JPEjR0062名前は開発中のものです。
2010/03/11(木) 14:34:00ID:Cyb9K+oP006354
2010/03/11(木) 20:06:02ID:8OqGBpl+で、hellworldなんですが、うまくいきません。
フルスクリーンで表示され、キーを押して画面を切り替える瞬間に文字が一瞬描画されます。何故でしょうか
文字を一回描画するだけならループなどもいらないと思うのですが・・
Imports DxLibDLL
Module Module1
Sub Main()
DX.ChangeWindowMode(True)
DX.DxLib_Init()
Dim cr As Integer = DX.GetColor(255, 255, 255)
DX.DrawString(250, 240 - 16, "Hello C World!", cr)
DX.WaitKey()
DX.DxLib_End()
End Sub
End Module
006454
2010/03/11(木) 20:07:40ID:8OqGBpl+プロジェクトはVBのコンソールアプリケーションです。C#の方が良いんでしょうか
0065名前は開発中のものです。
2010/03/11(木) 20:41:42ID:w7pwXHLD別にVBでも問題ない
DX.ChangeWindowMode(True) が間違ってる
DX.ChangeWindowMode(DX.TRUE) でないといけない
この関数の引数はIntegerだけど、只のTrueでは.NETのBool型の値になってしまいIntegerでは-1の値と認識してしまう
ちなみに、DX.TRUEの定数値は1(Integer)です
ウィンドウモードで正常に表示するには1を代入しないといけない
VBはBool,Short,Single,Integerのように数値に収められるものは型が違っても代入しても自動変換されてしまう
文法が少々緩いんだよね、String変数にInteger代入出来たりするし
0067名前は開発中のものです。
2010/03/11(木) 23:18:07ID:1o0RFP7l0068名前は開発中のものです。
2010/03/11(木) 23:19:00ID:fdD5x92B0069名前は開発中のものです。
2010/03/12(金) 00:01:04ID:qWZg8kSNソースいじってコンパイルとかめんどくさいぞ
0070名前は開発中のものです。
2010/03/12(金) 20:06:46ID:qAZ7m2pvプロジェクトファイルも含めて公開してくれているので,
DXlib自体を再コンパイルするのは別に面倒くさくないぞ。
Undocumented な関数の内部挙動を確かめるのに非常に助かった。
0071名前は開発中のものです。
2010/03/14(日) 00:44:37ID:3QwzCPix800×600の画像1枚表示させるのとどっちが早い?
0072名前は開発中のものです。
2010/03/14(日) 00:49:53ID:iwRypFgm0073名前は開発中のものです。
2010/03/14(日) 00:50:20ID:vRidOKfJ0074名前は開発中のものです。
2010/03/14(日) 01:42:41ID:CrJM4Beh0075名前は開発中のものです。
2010/03/15(月) 07:09:27ID:ftoEMWNl0076名前は開発中のものです。
2010/03/15(月) 11:54:35ID:jry6joz4重要でない背景とかデカキャラは、開き直って一枚で済ますようにしたさ。
0077名前は開発中のものです。
2010/03/15(月) 18:20:45ID:/N5CyE1m0078名前は開発中のものです。
2010/03/15(月) 18:36:05ID:rA6rcRLm0079名前は開発中のものです。
2010/03/15(月) 18:41:41ID:/BJ4yT390080名前は開発中のものです。
2010/03/15(月) 20:53:41ID:q4e6j4OO現時点ではDirectInputに替わる技術が存在しない。
そもそもそれを言い出したらC++対応のDirectXが無くなるから
DXライブラリ自体を否定するようなもん。
わかる人向けに補足しておくがCLI自体がMS非推奨な。
0081名前は開発中のものです。
2010/03/15(月) 20:55:30ID:/N5CyE1m0082名前は開発中のものです。
2010/03/15(月) 21:01:30ID:q4e6j4OO0083名前は開発中のものです。
2010/03/15(月) 21:03:27ID:PRSRtSh80084名前は開発中のものです。
2010/03/15(月) 21:06:14ID:rA6rcRLm0085名前は開発中のものです。
2010/03/15(月) 21:18:56ID:q4e6j4OO(;:"(゚Д゚) < カリカリしてねーよ!
(:;(ノ ソつ
ヽ唐揚"ン
∪"∪
0086名前は開発中のものです。
2010/03/15(月) 22:19:00ID:SiJbGrX/いや、お前はカリカリしすぎだ
レモンかけるぞこの野郎
0087名前は開発中のものです。
2010/03/15(月) 23:39:20ID:Z14Ds7hG>>31
日本はプログラマー不足が深刻だけど
今の学生・若者の学習内容とスキル考えるとコンシューマは絶望的としか思えない
マジでPC(Windows)しか作れないプログラマーが急増している
MSの熱心な布教活動もあると思うが、DXライブラリなるものに平気で手をだす輩が後を絶たない
これって、オブジェクト指向要らずポインタもほとんど使わないでゲーム作れる
こんなのに頼ってたらコンシューマで1番簡単なXbox360でも作れなくなるぞ
0088名前は開発中のものです。
2010/03/15(月) 23:42:46ID:bwRa8hx60089名前は開発中のものです。
2010/03/15(月) 23:52:38ID:YCBUC6dH0090名前は開発中のものです。
2010/03/16(火) 00:25:22ID:w3a5IX7r0091名前は開発中のものです。
2010/03/16(火) 01:19:47ID:4V4UJfV3続きはこっちでどうぞ
【Xbox 360】 XNA Game Studio その10 【C#】
ttp://pc11.2ch.net/test/read.cgi/gamedev/1254356087/
0092名前は開発中のものです。
2010/03/16(火) 01:31:26ID:1rVDsiY6ウィンドウの生成すらわからん人間だから
DXライブラリに手を出したというのに。
0093名前は開発中のものです。
2010/03/16(火) 01:44:20ID:Qk6lUGodDirectInput⇒XInput
DirectSound⇒XAudio
新しいAPIに置き換える必要性が無いし、Windowsが古いAPIをサポートしなくなるまでこのままじゃないだろうか。
結構最近までDirectX7だったし・・・
0094名前は開発中のものです。
2010/03/16(火) 02:25:51ID:wsBoMt9j0095名前は開発中のものです。
2010/03/16(火) 02:28:02ID:SXKTSMf8なかなかセンスのあるレスだな
0096名前は開発中のものです。
2010/03/16(火) 02:32:00ID:4V4UJfV3真面目に考えるなよww
0097名前は開発中のものです。
2010/03/16(火) 09:05:10ID:2zsiFfg5ソースコードがテラカオスになっちまうぞ。
結局、これって楽をするための手段だと思うんだよなぁ。
0098名前は開発中のものです。
2010/03/16(火) 09:11:09ID:OB/6gNs70099名前は開発中のものです。
2010/03/16(火) 09:39:21ID:Aryj9UWqポインタなしのソース公開してたりするからそのこといってんじゃね
入門向けに書いてるからそれはそれで良いと思う
そもそも、ポインタ使わなくても書けるとか
オブジェクト指向じゃなくてもいいとか
DXライブラリと関係ないよw
0100名前は開発中のものです。
2010/03/16(火) 09:44:52ID:0sP8zlfc0101名前は開発中のものです。
2010/03/16(火) 09:55:27ID:V81w7b1y全部グローバル変数なんだろ
幾つか(マウスの座標取得等)の関数は&付けんといけないがこれはポインタ使うとは言えないか
0102名前は開発中のものです。
2010/03/16(火) 12:52:03ID:RVuFBq2b0103名前は開発中のものです。
2010/03/16(火) 18:46:12ID:xVY8LtuV効率的な手法を考えたりしてると、自然とそっち方向に向かっていくものだと思う。
>>101
意味が分からず使ってる人も多いんじゃないかな。
0104名前は開発中のものです。
2010/03/16(火) 19:51:44ID:AR/vALAYこっちはもっとシステム的な事で解決できたはずだし。
実際最近の言語じゃポインタなんてほぼ使わないし。
0105名前は開発中のものです。
2010/03/16(火) 20:05:35ID:JF1U7lAT0106名前は開発中のものです。
2010/03/16(火) 20:06:03ID:ts1MDUYkポインタで実現してる機能をどうやって再現するんだろう。
0107名前は開発中のものです。
2010/03/16(火) 20:10:54ID:O6MKyy5s0108名前は開発中のものです。
2010/03/16(火) 20:19:42ID:8RTV3Ksc0109名前は開発中のものです。
2010/03/16(火) 20:38:39ID:5l4/ZNPE0110名前は開発中のものです。
2010/03/16(火) 20:45:22ID:gYSAom39今んとこ必要が無いなって事なら別に覚えなくても良いんだよ
将来プログラマーになったりするつもりなら必要かも知れないけど
日本でプログラマーを目指すのは多分考え直した方が良いな
0111名前は開発中のものです。
2010/03/16(火) 20:54:00ID:Qk6lUGodJava、C#(unsafeでは使える)、VB、Ruby、Python、Perl、HSP、etc..
最近の言語かどうかは知らないけどポインタの代わりに参照を採用している言語は結構あるね。
■ このスレッドは過去ログ倉庫に格納されています