[過去ログ] DXライブラリ 総合スレッド その19 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1: 2016/01/05(火)23:44 ID:fkNSYSkc(1/2) AAS
Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
【公式】
外部リンク:homepage2.nifty.com
【関連スレ】
省7
2: 2016/01/05(火)23:46 ID:fkNSYSkc(2/2) AAS
【前スレ】
DXライブラリ 総合スレッド その18
2chスレ:gamedev
【過去スレ】
01 2chスレ:gamedev
02 2chスレ:gamedev
03 2chスレ:gamedev
省14
3: 2016/01/06(水)02:07 ID:bl/881x8(1) AAS
埋め
4: 2016/01/06(水)04:35 ID:vkTt7kSt(1) AAS
DirectXを利用したゲーム開発のためのライブラリ「DXライブラリ」に脆弱性 - 窓の杜
外部リンク[html]:www.forest.impress.co.jp
5: 2016/01/06(水)09:50 ID:uUHWeNkD(1) AAS
すれたておつ〜
6: 2016/01/06(水)13:49 ID:vToozi2l(1) AAS
即死回避
7: 2016/01/06(水)21:48 ID:FPsnS4s5(1) AAS
リスポーンキル回避
8(1): 2016/01/06(水)22:07 ID:SNpTpPa+(1/2) AAS
char binadata[10000000]ってやったらエラーが出た
char binadata[9000000]だったら大丈夫だった
char binadata[10000000]でもグローバル変数だったら大丈夫だった
なんでグローバル変数だと大丈夫なん?
使うメモリの容量がローカル変数とグローバル変数では違うの?
9: 2016/01/06(水)22:27 ID:D/YIuxFU(1) AAS
ローカルメモリはスタックメモリに配置されるからって
大学でならわなかったかい?
10: 2016/01/06(水)23:21 ID:SNpTpPa+(2/2) AAS
はい、ならいませんでした
11: 2016/01/07(木)10:01 ID:Fegao3sZ(1) AAS
エラーってstack overflow?
初歩的すぎる
12: 2016/01/12(火)13:01 ID:edPYChEu(1) AAS
記憶域でのスタックと静的領域とヒープの3つを理解し
適切に使い分けられなければ
蹴り入れられても文句言えない
C言語入門からやり直すべきよ
13: 2016/01/24(日)15:52 ID:YuKcV9Os(1) AAS
やり直すというより、>>8は現在進行形のC入門者なんだと思う
14: 2016/01/25(月)17:48 ID:sajU6FWk(1/2) AAS
ttfファイルを読み込んで使ってるんだけど、あらかじめ同じフォントがインストールされているとサイズがおかしくなる
どうにかならない?
15: 2016/01/25(月)20:30 ID:sajU6FWk(2/2) AAS
LoadFontDataToHandle関数で解決しました
16: 2016/02/18(木)16:31 ID:hWOqPyim(1) AAS
今更だけどこれって
「ディーエックスライブラリ」?
「デラックスライブラリ」?
前者で読んでるけどどっちなんだ
17: 2016/02/18(木)18:15 ID:CD7aF1NM(1) AAS
もともと DirectX のDXだからディーエックスでいいんじゃない
18(2): 2016/02/18(木)19:31 ID:qySKf0j4(1/2) AAS
ここで聞いていいのか分かりませんが
14歳からはじめるC言語わくわくゲームプログラミング教室 Visual Studio 2013編のP105に
もし複数のキーが同時に押された場合、GetJoypadInputState関数は押されたキーを表す定
数を合計した数値を返します。たとえば←と↑が同時に押された場合、PAD_INPUT_LEFT(実
体は整数の2)とPAD_INPUT_UP(整数の8)の合計(つまり 10 )が返さます。キーを表す定数
には2進数で表すとビットが重ならない数値が割り当てられているので、合計してもキーを表す
ビットの状態は変わりません。
省18
19: 2016/02/18(木)20:15 ID:pY1Vnnd1(1) AAS
>>18
多分その書籍は「同時押ししても別々に認識できる」
というのを示したかっただけな感じがするので
実際の割当がどうなっているのかはあまり気にしなくていいと思います
あと、テンキーの数字と割当整数がそのまま対応しているわけではないです
20: 2016/02/18(木)21:30 ID:w6GurFPy(1) AAS
その数字のままだったら、2+4と6単体と区別つかないだろう
2進数慣れといたほうがいいよ
21: 2016/02/18(木)22:26 ID:qySKf0j4(2/2) AAS
皆さんありがとう
この部分の前後読んでもさっぱり分からないので
これ以上気にしないで先に進むことにします
この先具体例が出て来るかも知れませんしね
22: 2016/02/19(金)07:22 ID:g+RjjMNz(1) AAS
ビット演算調べて。
一桁目が1 0001 1x1=1
二桁目が1 0010 1x2+0=2
三桁目が1 0100 1x2x2+0x2+0=4
四桁目が1 1000 1x2x2x2+0x2x2+0x2+0=8
2になると一桁上がるから2進数。
普通の10進数も、例えば、1234は
省6
23: 2016/02/19(金)17:10 ID:yVHYDmTr(1) AAS
こうして見てると、ビット演算を他人に教えるって結構大変そうだな
24(1): 2016/02/19(金)20:45 ID:9rsuXZwb(1) AAS
ビット演算の話なのか?
俺はてっきり
if( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_UP )
みたいに識別子と論理積を使って判定するのではなく
if( GetJoypadInputState( DX_INPUT_PAD1 ) == 8 )
みたいにその数字で直接入力判定してるから、テンキーの割り当て整数を知りたい
っていう話をしているのかと思ったんだけど
25: 2016/02/20(土)10:04 ID:EkX5eIPD(1) AAS
わざわざそんなことするメリットなくね?
26: 2016/02/21(日)02:51 ID:M/Be+VbG(1/8) AAS
とりあえず、入力状態を調べる関数の返り値を2進表記文字列と10進表記文字列で対にして画面左上に表示するだけの簡単なアプリ作っても良いかと思う。
と、ここで気になって調べたら、2進文字列への変換は
Cはitoa←VCでしか使えない? 今回は使えるかな
C++はstd::bitset
簡単なはずなのに、簡単でない気がしてきた。
用途限定なら自作した方が楽な(学べる)気もする。
27: 2016/02/21(日)04:47 ID:M/Be+VbG(2/8) AAS
>if( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_UP )
&(and)だから特定の一つのキーが、押されているかのチェック
押されていなければ0、つまり偽 FALSEになりif以降は実行されない。
押されていれば0以外 真となりifは実行される。
if ((GetJoypadInputState(DX_INPUT_PAD1)&PAD_INPUT_UP) !=0)
これが省略されているのが一行目。
0であるならば、0以外であるならば、機械は基本たったこれ2つの判断で分岐する。!=0は0でないなら、の意味。not イコール 0
省8
28: 2016/02/21(日)05:53 ID:M/Be+VbG(3/8) AAS
if(GetJoypadInputState(DX_INPUT_PAD1)&(PAD_INPUT_UP|PAD_INPUT_LEFT))
にしないと使えないね。
寝ます。
29: 2016/02/21(日)06:01 ID:M/Be+VbG(4/8) AAS
ごめんこれも使えなかった。
同時に押された判定はすこし長くなるな。
このままではどちらか片方押さた場合でも、、、
眠い。ほんと寝ます。
30: 2016/02/21(日)08:09 ID:M/Be+VbG(5/8) AAS
if(GetJoypadInputState(DX_INPUT_PAD1)&(PAD_INPUT_UP|PAD_INPUT_LEFT)==(PAD_INPUT_UP|PAD_INPUT_LEFT))
一つのキーチェックは!=0でいいけど
ボタン1|ボタン2|ボタン3
とか複数キーが押されているかのチェックの場合は駄目ですね。一つのキーが押されただけでも!=0を満たしてしまうから。
連投すいません。そして初級者以外の方、失礼しました。
31: 2016/02/21(日)08:25 ID:M/Be+VbG(6/8) AAS
if((GetJoypadInputState(DX_INPUT_PAD1)&(PAD_INPUT_UP|PAD_INPUT_LEFT))==(PAD_INPUT_UP|PAD_INPUT_LEFT))
すいません。もう一度だけ。
c 演算子 優先順位 で検索してください。
確か&(アドレスじゃない方)は==よりあとに評価された気がする。これはCの欠陥ではないのかとか書いてた書籍があった気がする。
不安だし、()はつけといたほうが良いと思う。
32: 24 2016/02/21(日)09:00 ID:Va9zPPiV(1/2) AAS
なぜ俺が適当に上げた例に対して
何レスにも渡って解りづらい解説をしているのだ・・・
というか肝心の>>18はもう居ないっぽいから
質問したかった内容自体がそこで合ってるのかわからんぞ
33(1): 2016/02/21(日)09:24 ID:M/Be+VbG(7/8) AAS
これでも簡単に書こうとしたのですけどね。
どの辺がわかりづらいですか?
簡単なことを簡単に書くのは難しいですね。
34(1): 2016/02/21(日)10:04 ID:Va9zPPiV(2/2) AAS
>>33
説明が長くなるほど要点をつかみづらくなるから
補足は少なく、説明の訂正は出ないようにして、
大事な部分だけ短く簡単に説明した方が初心者には理解しやすい
補足とかは質問者に求められたときだけ説明すればいいかと
35: 2016/02/21(日)11:11 ID:M/Be+VbG(8/8) AAS
>>34
了解です。
36: 2016/02/29(月)21:14 ID:QBvMTSC4(1) AAS
DXLibは初心者向けって聞くけど、シャープDXなどと何が違うの?
2Dゲームの場合。3Dなら素直にUnity使うし
37: 2016/02/29(月)23:23 ID:leqKH6jq(1) AAS
シャープDXってなんぞ。
初心者にオススメの1つではあるが、これで作られた市販ゲームもあるくらいには幅広いよ
38: 2016/03/01(火)05:56 ID:+UwmpDoJ(1) AAS
C言語で書きたくてwindowsAPI、グラフィックAPI触りたくない人向け
39: 2016/03/01(火)15:06 ID:YBHnpXlS(1) AAS
確かにC++ぽく作られてないのは嬉しい。
他の人のソースコードとかが解読しやすい。
40: 2016/03/02(水)02:56 ID:ObT9YhJL(1) AAS
俺もライブラリ作ってやるぜ!と意気込んで、
グラフィックと入力と音周りが出来たあたりで、DXライブラリで良いんじゃね?と気づいて戻ってくる感じ
41(1): 2016/03/10(木)14:06 ID:hKSGgP4O(1/2) AAS
キャラクターIDをソートする場合なんですけど
こういう場合はやっぱりバケットソート的なアルゴリズムが最速なのでしょうか?
条件
・10000体のキャラクターがいる(ID0〜ID9999)※ID0番は空欄扱いの時に使うので実質9999体
・それぞれのキャラクターはスコアを持ってる(とりうる値はunsigned charの0〜255)
・ソートする時はスコアの低い順に並べる
・スコアが同点ならIDが若い順に並べる
省16
42: 2016/03/10(木)14:23 ID:chbXq+m7(1) AAS
普通にクイックソートでいいのでは
ソート時間の比較
外部リンク[html]:www.ics.kagoshima-u.ac.jp
43(1): 2016/03/10(木)14:44 ID:w2U+RHTk(1/2) AAS
そもそも頻繁に呼び出すなら
いちいちソートしないでソート結果をずっと保持する。
オブジェクトの追加削除が頻繁なら、
ソートではなく、正しい位置に差し込むようにする。
44(1): 2016/03/10(木)14:44 ID:HzV85MQu(1) AAS
RPGなどのスクロールゲーは、描画可能画像(マップサイズ)を作ってそこに描画した後に、ウィンドウに描画すればいいのですか?
速度やメモリを考えると、やめた方がいいですかね
45: 2016/03/10(木)15:25 ID:hKSGgP4O(2/2) AAS
AA省
46: 2016/03/10(木)21:20 ID:w2U+RHTk(2/2) AAS
どっちも2,560,000ループだから変わらないね。
可読性なら、俺は45のほうが解りやすかった。
(というか45を読んでようやく41がなにをしたいのか解った)
スコアの変動幅が少ない(=順位の変動が少ない)なら、
スコアが変わるたびに前後のスコアと比較して入れ換えるやりかたでもいいかな
スコアが頻繁に変わるなら
数秒毎にまとめてquicksort
47: 2016/03/11(金)00:14 ID:0nAdN0wU(1) AAS
>>44
何が言いたいのか分からんが
ウィンドウより気持ち広めに描画すればいいんじゃないの?
48: 2016/04/22(金)20:37 ID:OBq0v7em(1) AAS
スマホ版DXライブラリ使ってみた人いる?
49: 2016/04/22(金)23:20 ID:SApaeOWl(1) AAS
純粋なc#でDXライブラリ作りたいと考えてる
50(1): 2016/04/23(土)15:51 ID:dvo5BuGI(1) AAS
フレームレートを上げてゲームの進行の高速化をしたいけどどうすればいいの?
setgraphmodeの第4引数に値をぶっこんでも何も起きん
51(1): 2016/04/23(土)21:52 ID:9QnQQ2rD(1/2) AAS
> 画面モードを設定する
> int SetGraphMode(int ScreenSizeX,int ScreenSizeY,int ColorBitDepth,int RefreshRate=60)
> 戻り値
> DX_CHANGESCREEN_OK 画面変更は成功した
> DX_CHANGESCREEN_RETURN 画面の変更は失敗し、元の画面モードに戻された
> DX_CHANGESCREEN_DEFAULT 画面の変更は失敗しデフォルトの画面モードに変更された
> DX_CHANGESCREEN_REFRESHNORMAL 画面の変更は成功したが、リフレッシュレートの変更は失敗した
省3
52(2): 2016/04/23(土)22:17 ID:kA71q19C(1) AAS
SetWaitVSyncFlag(FALSE)
53(2): 2016/04/23(土)23:16 ID:O3+kZkoe(1) AAS
ゲームループを秒間60回さなくても高速処理できちゃうの?
元より軽く作って、普段はウエイト入れてるだけにしないといけないんじゃないかな。
54(1): 2016/04/23(土)23:49 ID:9QnQQ2rD(2/2) AAS
>>53
何を疑問に思ったが知らんが、最初からそういう話じゃねぇの
55(1): 2016/04/24(日)08:09 ID:5496X3BE(1) AAS
>>52
thx。クソ速くなりました
しかしSetWaitVSyncFlagの変更はDxLib_Init前でないと利かないようです
起動中に進行速度を自由に調整したかったのですが難しそうです
上下前次1-新書関写板覧索設栞歴
あと 947 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.020s