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/
0031名前は開発中のものです。
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..
最近の言語かどうかは知らないけどポインタの代わりに参照を採用している言語は結構あるね。
0112名前は開発中のものです。
2010/03/16(火) 20:58:22ID:M1INdPSU0113名前は開発中のものです。
2010/03/16(火) 21:01:29ID:t5Hzb9Y3*がついたり&がついたり
ポインタに1加算したら1バイト先が見えるのかと思いきやサイズによって違ってたり。
0114名前は開発中のものです。
2010/03/16(火) 21:03:37ID:Qk6lUGodそれじゃあ説明してくれ
0115名前は開発中のものです。
2010/03/16(火) 21:06:51ID:naTvza5K変数は何も無しで値、&でアドレスなのに、ポインタは*で値、何も無しでアドレスってのが
慣れるまで苦労した。
他にも**やら*[]やら未だにリファレンス見ないと上手く書けない。
0116名前は開発中のものです。
2010/03/16(火) 21:13:01ID:wrWPEp89ポインタへのポインタへのポインタって、もはやギャグでやってるようにしか見えん。
0117名前は開発中のものです。
2010/03/16(火) 21:15:01ID:t5Hzb9Y3int *p ;
なのにポインタは p とかw
これは
int* p ;
と同じ事だとの説明読んでやっと理解できたw
0118名前は開発中のものです。
2010/03/16(火) 21:18:29ID:5l4/ZNPE0119名前は開発中のものです。
2010/03/16(火) 21:46:05ID:Zxr9JEGe0120名前は開発中のものです。
2010/03/16(火) 21:53:10ID:V81w7b1y0121名前は開発中のものです。
2010/03/16(火) 22:59:47ID:ts1MDUYk多次元配列のメモリ領域を動的に確保したい時とかじゃね
0122名前は開発中のものです。
2010/03/16(火) 23:12:44ID:4V4UJfV3ttp://pc12.2ch.net/test/read.cgi/tech/1192485583/
雑談スレ行け
0123名前は開発中のものです。
2010/03/16(火) 23:16:20ID:OIbZVAa40124名前は開発中のものです。
2010/03/17(水) 02:15:36ID:mRKdpQptint *p
で
int * p
みたいに真ん中にあるやつ見たときひっくり返った
0125名前は開発中のものです。
2010/03/17(水) 05:34:28ID:+KoZs8u7p="私の名前は山田太郎です";
昔こんな使いかたしてた
0126名前は開発中のものです。
2010/03/17(水) 07:24:59ID:Lf6vbKezなんかおかしいか?それ?
0127名前は開発中のものです。
2010/03/17(水) 07:30:47ID:Zvuo2AK70128名前は開発中のものです。
2010/03/17(水) 07:53:50ID:w9QKrbI7指摘されてから理解したがな
おかしいということを
0129名前は開発中のものです。
2010/03/17(水) 07:57:26ID:piSntFMa書き換えた場合の動作は未定義
文字列リテラルのアドレスを保持するならconst char *p; にしないといけない
0130名前は開発中のものです。
2010/03/17(水) 08:09:20ID:Lf6vbKez■ このスレッドは過去ログ倉庫に格納されています