トップページgamedev
990コメント278KB

DXライブラリ 総合スレッド その6

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2010/02/25(木) 23:29:14ID:hEXp+gEa
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/
DXライブラリ 総合スレッド その4
http://pc11.2ch.net/test/read.cgi/gamedev/1249822550/
DXライブラリ 総合スレッド その5
http://pc11.2ch.net/test/read.cgi/gamedev/1259912953/
0118名前は開発中のものです。2010/03/16(火) 21:18:29ID:5l4/ZNPE
int* p,q;
0119名前は開発中のものです。2010/03/16(火) 21:46:05ID:Zxr9JEGe
ダブポイとかトリポイとかどういうときにないと困るの?
0120名前は開発中のものです。2010/03/16(火) 21:53:10ID:V81w7b1y
動的に確保された文字列を弄る時とか
0121名前は開発中のものです。2010/03/16(火) 22:59:47ID:ts1MDUYk
>>119
多次元配列のメモリ領域を動的に確保したい時とかじゃね
0122名前は開発中のものです。2010/03/16(火) 23:12:44ID:4V4UJfV3
まあポインタが難しくても簡単でもどっちでもいいよ
ttp://pc12.2ch.net/test/read.cgi/tech/1192485583/
雑談スレ行け
0123名前は開発中のものです。2010/03/16(火) 23:16:20ID:OIbZVAa4
困るから使うつーか、便利だから使うほうが多いんじゃね
0124名前は開発中のものです。2010/03/17(水) 02:15:36ID:mRKdpQpt
int* p
int *p



int * p
みたいに真ん中にあるやつ見たときひっくり返った
0125名前は開発中のものです。2010/03/17(水) 05:34:28ID:+KoZs8u7
char *p;

p="私の名前は山田太郎です";

昔こんな使いかたしてた
0126名前は開発中のものです。2010/03/17(水) 07:24:59ID:Lf6vbKez
ん?
なんかおかしいか?それ?
0127名前は開発中のものです。2010/03/17(水) 07:30:47ID:Zvuo2AK7
おかしくない
0128名前は開発中のものです。2010/03/17(水) 07:53:50ID:w9QKrbI7
あるあるw俺もよくしてた
指摘されてから理解したがな
おかしいということを
0129名前は開発中のものです。2010/03/17(水) 07:57:26ID:piSntFMa
それじゃ文字列リテラルを書き換えるコードが書けてしまう
書き換えた場合の動作は未定義
文字列リテラルのアドレスを保持するならconst char *p; にしないといけない
0130名前は開発中のものです。2010/03/17(水) 08:09:20ID:Lf6vbKez
何だそんな話か
0131名前は開発中のものです。2010/03/17(水) 08:21:23ID:w9QKrbI7
え?
0132名前は開発中のものです。2010/03/17(水) 08:32:14ID:nz0onodK
え?
0133名前は開発中のものです。2010/03/17(水) 12:54:50ID:LJk+FLk3
文字列リテラルを書き換えてないからおかしくないんじゃないの
0134名前は開発中のものです。2010/03/17(水) 15:52:02ID:nz0onodK
たしかに
0135名前は開発中のものです。2010/03/17(水) 16:16:28ID:KWq1ycZ+
作法の問題
0136名前は開発中のものです。2010/03/17(水) 16:42:03ID:mZkJcR4o
>>117で喜んで>>118で凹んだ15の夏
0137名前は開発中のものです。2010/03/17(水) 17:14:11ID:8akFi22q
>>136
ワロタw

ポインタ宣言の*はホント紛らわしいよなー。
ついでに、宣言の&はエイリアスだったりしていい加減にしろと(こっちはあまり迷わないが)

int i=z; // 変数に変数を代入しています
int *p=&z // ポインタにアドレスを代入しています
int &a=z // エイリアスを設定しています
0138名前は開発中のものです。2010/03/17(水) 20:05:22ID:iN7a1a+g
エイリアス(別名)でなくリファレンス(参照)ね。
実害はないのかもしれんけど別の概念だよ。
0139名前は開発中のものです。2010/03/17(水) 20:08:32ID:iN7a1a+g
ageちゃった。気をつける。
0140名前は開発中のものです。2010/03/17(水) 21:18:40ID:+BmzuHz3
DXライブラリにはグラフやレーダー等のクラスはありますか?
0141名前は開発中のものです。2010/03/17(水) 21:24:34ID:Z9jG8ihC
あるわけねぇだろ。アホか。
0142名前は開発中のものです。2010/03/17(水) 21:40:39ID:Fut+jX3S
なんつーか、>>140みたいな質問を見るたびにいたたまれない気持ちになるのは俺だけ?
0143名前は開発中のものです。2010/03/17(水) 21:47:24ID:nGLWjNfu
グラフやレーダーのクラスが何の事か判らない俺はなんともないぜ。
0144名前は開発中のものです。2010/03/17(水) 23:12:26ID:IkyRwbjT
そもそもクラスがないし。
0145名前は開発中のものです。2010/03/17(水) 23:24:24ID:FFwVAAIf
円グラフっぽく扇形を書く関数はあるけど。
0146名前は開発中のものです。2010/03/17(水) 23:55:46ID:mZkJcR4o
クラスがわかる程度の知性がありつつも
そんな質問が出るアンバランスさがたまらん
0147名前は開発中のものです。2010/03/18(木) 00:05:57ID:fLj6HNye
VBとかC#やってる系の人じゃね
0148名前は開発中のものです。2010/03/18(木) 01:01:48ID:FxV9Fubh
未だにあれがおかしい正しい理由が出ないとは・・・
0149名前は開発中のものです。2010/03/18(木) 02:47:39ID:MSdfr+M5
サイズわかんね
0150名前は開発中のものです。2010/03/18(木) 06:37:43ID:rGkLTeCb
>>148
何がおかしいん?
0151名前は開発中のものです。2010/03/18(木) 08:44:36ID:ewq2y4Kr
お箸が転がること。
0152名前は開発中のものです。2010/03/18(木) 10:55:35ID:vc6Sdfor
480*480の画面で斜めの線で4分割して
上の所をクリックすると上に、右の所なら右にスクロールすると
いう処理をしたいです
三角の部分に今マウスがいるかどうかの判定の仕方がわかりません
おそらく数学の知識がいるのではないかと思うのですが
わかる方どうか教えてください

こんな感じです↓
ttp://gazo6.com/0up1/src/gazo66076.jpg
0153名前は開発中のものです。2010/03/18(木) 11:00:03ID:1qax33vf
>>152
そんくらい自分で考えれや・・・
0154名前は開発中のものです。2010/03/18(木) 11:03:36ID:vc6Sdfor
考えますので、ヒントだけでもいただけないでしょうか
検討すらつかないので・・・
0155名前は開発中のものです。2010/03/18(木) 11:06:44ID:60VmHoEg
簡単なのは色分けしといて何色か判断
0156名前は開発中のものです。2010/03/18(木) 11:13:48ID:J38c+tfs
高校1年くらいの数学で、まんまな計算をやった記憶があるな
0157名前は開発中のものです。2010/03/18(木) 11:15:07ID:vc6Sdfor
画面上ではマップを表示したいので、色分けは難しいかもしれません
0158名前は開発中のものです。2010/03/18(木) 11:25:01ID:J38c+tfs
>>157
そーゆーことではないと思う
0159名前は開発中のものです。2010/03/18(木) 11:31:37ID:vc6Sdfor
少しわかった気がします
色分けの方法でチャレンジしてみます
ありがとうございました
0160名前は開発中のものです。2010/03/18(木) 11:33:26ID:DL3BHDSP
いや、デタラメな方法教えるなよ・・・
0161名前は開発中のものです。2010/03/18(木) 11:44:31ID:60VmHoEg
もし>>152がガチャピンの形だったら?
0162名前は開発中のものです。2010/03/18(木) 11:52:58ID:INvJl4YM
少しは捻れよ。その身体のてっぺんについてるのは飾り物か。

クリックした座標から、上下左右の辺までの距離を求めろ。
上下左右で一番近いのが進む方向だ。
画面の縦横費が1:1じゃ無かったら、その比を距離にかけろ。
0163名前は開発中のものです。2010/03/18(木) 11:58:12ID:vc6Sdfor
>>162
おお、すばらしい
人をイラッとさせるだけのことはありますね
採用させていただきます ありがとうございました
0164名前は開発中のものです。2010/03/18(木) 12:12:28ID:mNOmn+cy
>人をイラッとさせるだけのことはありますね
味噌汁吹いたw
0165名前は開発中のものです。2010/03/18(木) 12:13:23ID:MQ4nvGTP
warota
0166名前は開発中のものです。2010/03/18(木) 14:48:56ID:MSdfr+M5
なんでそんなことだけ捻りが効くんだよw
0167名前は開発中のものです。2010/03/18(木) 16:21:06ID:wR4MGtu+
中央とカーソルの角度と距離を求めて全方向アクセルスクロールの方が
使いやすいと思うがな
0168名前は開発中のものです。2010/03/18(木) 16:36:41ID:n0apPduH
えっ
0169名前は開発中のものです。2010/03/18(木) 16:46:58ID:3YpmCcwZ
えっ
0170名前は開発中のものです。2010/03/18(木) 17:08:55ID:ThvgdAub
ええっ
0171名前は開発中のものです。2010/03/18(木) 18:36:07ID:XzmL/nsx
>>167
中央とカーソルの角度を求めるのいいな
DXライブラリとmath.hで簡単にできる
0172名前は開発中のものです。2010/03/18(木) 19:15:13ID:FxV9Fubh
左上の座標を (0, 0) として言うね
クリックした座標を (x, y), 境界を含めないで言うと

  0 ≦ x ≦ 239 の場合は y < x だと「上」、479 - x > y > x だと「左」、y > 479 - x だと「下」
479 < x ≦ 480 の場合は y < 479 - x だと「上」、x > y > 479 - x だと「右」、y > x だと「下」

大体こんな感じだと思う
0173名前は開発中のものです。2010/03/18(木) 19:15:51ID:CYbX+by9
おまえら頭悪すぎてワロター
0174名前は開発中のものです。2010/03/18(木) 19:27:54ID:8SEHg7PP
>>162でシンプルな解が出てるのに、>>172は空気の読めない困った子
0175名前は開発中のものです。2010/03/18(木) 19:37:44ID:FxV9Fubh
よく見たらそっちのが全然シンプルだったなw正直すまんかった
0176名前は開発中のものです。2010/03/20(土) 10:54:34ID:huSKeekq
このまえ>>17で質問したヤツです。
皆さんのおかげでビルボードにする事ができますた!有り難う!!!

しかし、問題がまた一つ…
マップに障害物として、テクスチャ一枚貼り付けた面を置いた。SetTransColorで透かしてる。
マップだけ表示すると、見事に透過色の部分は透けているのだが
別モデルのオブジェトをその面の背後に設置したところ、うまく透けてくれない。
どういった状態かというと、テクスチャの透過色は透けて背景が見えているのだが
別モデルが背後にいるのに背景が見える・・・?説明しづらい状況なので画像を用意した。
(乱筆注意)
http://www.dotup.org/uploda/www.dotup.org741198.jpg
マップとオブジェクトは別ファイルだが、面倒くさいのでテクスチャは一緒。

質問ばっかですまないが、助けてくれたら嬉しい。
0177名前は開発中のものです。2010/03/20(土) 11:29:45ID:+CkAhiqm
>>176
奥行き順にソートして、奥のモノから順番に描画するようにすれば解決
0178名前は開発中のものです。2010/03/20(土) 14:20:35ID:/X0ANmK1
ソートは,そーっとやってね。
0179名前は開発中のものです。2010/03/20(土) 14:34:53ID:yzkEpwQD
そうとわかれば怖いものなし
0180名前は開発中のものです。2010/03/20(土) 14:36:00ID:rdbyVjdN
頭がソットーしそうだよッ!
0181名前は開発中のものです。2010/03/20(土) 16:54:19ID:dBwcpyX2
>>143-144
亀だけど、DXライブラリに扇形を描く関数ってあるの?
DxLib.hで"扇"とか"Pie"で検索かけたけど何も出てこなかった
0182名前は開発中のものです。2010/03/20(土) 17:08:14ID:zRlxjJKl
>>181
非公開関数にDrawCircleGaugeってのがある。
使ったことないからどういう挙動を取るのか知らんけど。
0183名前は開発中のものです。2010/03/20(土) 17:47:18ID:yzkEpwQD
DXライブラリにそんな能力が…
0184名前は開発中のものです。2010/03/20(土) 17:55:00ID:dBwcpyX2
>>182
ありがとう!
使ってみる
0185名前は開発中のものです。2010/03/20(土) 18:44:32ID:UA+moyul
非公開関数も動作保証無しで別ページに乗っけてくれればいいのにね
0186名前は開発中のものです。2010/03/20(土) 18:49:35ID:Hntnabqc
公開するって事は責任を負わされるって事だからしょうがないでしょ。

たとえ「動作保証なし」って明記してあっても、
そこを読んで使った人間が、それが原因でトラブルに遭ったとしたら
「そんなもの最初から公開するな!」って言い出すのは火を見るより明らか。
0187名前は開発中のものです。2010/03/20(土) 18:49:55ID:q6HASH4U
>>185
dxlib.h漁れば大抵のことは分かるよ。
0188名前は開発中のものです。2010/03/20(土) 18:51:38ID:5BrCtlYi
公式でサポートはしないけど見たい人はヘッダファイル見てね!
というのは、なかなか賢い方法だと思う。
0189名前は開発中のものです。2010/03/20(土) 20:07:06ID:tt9sYyne
トラブって文句言われることよりも、
「うまく動かないんですけど」とか
「どうやって使えばいいんでしょうか?」
なんて質問に対応するのが面倒だからだと思う。
0190名前は開発中のものです。2010/03/21(日) 04:51:27ID:rCzCwe4P
>>189
現状で既に対応が神レベルなわけだがw
0191名前は開発中のものです。2010/03/21(日) 13:06:40ID:zkQ+srVW
>>177
サンクス
0192名前は開発中のものです。2010/03/22(月) 06:30:59ID:uvieysEr
3.02
0193名前は開発中のものです。2010/03/22(月) 13:51:26ID:I7IomX3v
トゥーンレンダリング追加
0194名前は開発中のものです。2010/03/22(月) 14:44:58ID:FYxA/CST
したら吹くわw
0195名前は開発中のものです。2010/03/22(月) 14:51:24ID:EaQBZTnY
されとるよ
0196名前は開発中のものです。2010/03/22(月) 14:54:29ID:FYxA/CST
なん・・・だと・・・
0197名前は開発中のものです。2010/03/22(月) 16:38:29ID:C5YMgfKV
まだPMDは非推奨か
0198名前は開発中のものです。2010/03/22(月) 16:59:24ID:Hc38DsYj
>>194

ちゃんと吹いたか?w
0199名前は開発中のものです。2010/03/22(月) 18:14:21ID:XicM9SHz
ある解像度(ウィンドウサイズ)で2Dゲームを作り、
コンフィグの設定によって、それよりも大きい別のサイズで引き伸ばして表示出来るようにしたい。
要はSetEmulation320x240の別解像度版と言ったところ。

どうやるのがスマートかな。
描画系クラスをひたすらラッパして、1つ1つ拡大処理を行わせるしかない?
0200名前は開発中のものです。2010/03/22(月) 18:17:58ID:EaQBZTnY
SetWindowSizeChangeEnableFlag

或いはSetWindowSizeExtendRateとウィンドウサイズ変更を組み合わせる
0201名前は開発中のものです。2010/03/22(月) 18:20:06ID:Hc38DsYj
これは?

宣言 int SetWindowSizeExtendRate( double ExRate ) ;

概略  ウインドウモードの時のウインドウの大きさと描画画面の大きさの比率を設定する
0202名前は開発中のものです。2010/03/22(月) 18:26:18ID:/ZrA42+9
DrawExtendGraph
0203名前は開発中のものです。2010/03/22(月) 18:32:54ID:XicM9SHz
うおおお、知らない関数がぼろぼろ出てくる。
今まで地味になにやってたんだろう俺(笑)
0204名前は開発中のものです。2010/03/22(月) 18:46:02ID:Y44rl97h
トゥーンうまくいかねぇ・・・
0205名前は開発中のものです。2010/03/22(月) 21:11:09ID:Ylkk32ct
>>201が答えだな。
まぁ描画クラスをラッピングしてもいけるけど。
0206名前は開発中のものです。2010/03/22(月) 21:17:51ID:/ZrA42+9
しかしそのやり方だと拡大縮小時に画像に補完がかかるので2Dのゲームだと画像が汚くなるのだ。
拡大縮小時のアルゴリズムを設定するAPIがあるけどその設定も無視される。
従って俺様が正解。
0207名前は開発中のものです。2010/03/22(月) 21:19:43ID:mFq/Yxd9
DrawExtendGraphだろうがSetWindowSizeExtendRateだろうがBILINEARにすれば一緒じゃねえの?
0208名前は開発中のものです。2010/03/22(月) 21:39:29ID:/ZrA42+9
2Dであえてバイリニアにするかな普通
0209名前は開発中のものです。2010/03/22(月) 21:40:22ID:mFq/Yxd9
ニアレストネイバーなんてガタガタで使い物にならんだろ
0210名前は開発中のものです。2010/03/22(月) 21:56:47ID:/ZrA42+9
どんな2Dゲーム作ってるの
0211名前は開発中のものです。2010/03/22(月) 22:01:35ID:EaQBZTnY
>>209
整数倍なら普通に存在するし常套手段。
ただし>>199の言うとおり複数パターンの解像度があるなら、ニアレストネイバーだと酷い見た目になる
0212名前は開発中のものです。2010/03/22(月) 22:12:58ID:XicM9SHz
やっぱ整数倍じゃないとツラいかー。
他人様に見せるレベルじゃないとは言え、一応ドット絵だからなあ。

ちなみに512x384という変則サイズでゲームを作って、それを640x480か800x600に引き伸ばしたいと思ってた。
いっそのこと2倍にしてしまおうか。
0213名前は開発中のものです。2010/03/22(月) 22:20:21ID:Xkjz6Cwe
>ちなみに512x384という変則サイズでゲームを作って、それを640x480か800x600に引き伸ばしたいと思ってた。
そりゃやめた方がいい。見栄えがとてもアレなことになるw
つーか、なんでわざわざそんな半端な解像度で作るんだ。ツクールVXの関係か?

素材はちゃんと想定解像度で揃えた方がいいよ。クオリティが全然変わってくる。
拡大縮小機能はあくまでオマケとして考えること。
0214名前は開発中のものです。2010/03/22(月) 22:21:11ID:EaQBZTnY
1024は流石にやめたほうがいい
別にバイリニアでいいんじゃね そこまでおかしくなることもない
0215名前は開発中のものです。2010/03/22(月) 22:33:53ID:+2vRg2cR
DrawPrimitive2Dってのが追加されてるけど使い方わからねぇ
0216名前は開発中のものです。2010/03/22(月) 22:42:24ID:XicM9SHz
・512x384の解像度で綺麗に表示される
・フルスクリーンにも対応できる

この2つの条件を満たしたいのよね。
フルスクリーンにするには、画面を標準的なサイズ(640x480や800x600など)に変更する以くらいしか思いつかない。

前にやったときは、2つの解像度で画面配置とか色々変えてやってみたんだけど、
さすがにこれは労力がかかりすぎた。
0217名前は開発中のものです。2010/03/22(月) 22:52:41ID:rV1Y0nX1
640*480で作って、いらない部分に枠をつける
■ このスレッドは過去ログ倉庫に格納されています