11/08/18 17:18:15.54 vXmrN4yD
Cを習得した程度のスキルでも、
GUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
【公式】
URLリンク(homepage2.nifty.com)
【過去スレ】
DXライブラリ 総合スレッド
スレリンク(gamedev板)
DXライブラリ 総合スレッド 2008
スレリンク(gamedev板)
DXライブラリ 総合スレッド その3
スレリンク(gamedev板)
DXライブラリ 総合スレッド その4
スレリンク(gamedev板)
DXライブラリ 総合スレッド その5
スレリンク(gamedev板)
DXライブラリ 総合スレッド その6
スレリンク(gamedev板)
DXライブラリ 総合スレッド その7
スレリンク(gamedev板)
DXライブラリ 総合スレッド その8
スレリンク(gamedev板)
DXライブラリ 総合スレッド その9
スレリンク(gamedev板)
2:名前は開発中のものです。
11/08/18 17:21:06.79 vXmrN4yD
某所に盛大に誤爆してしまったのは内緒
3:名前は開発中のものです。
11/08/18 17:30:20.73 lTYK9XGB
乙!
4:名前は開発中のものです。
11/08/18 18:13:09.85 r7mxqdXO
>>1乙
5:名前は開発中のものです。
11/08/18 18:13:17.85 Sqk2Us00
乙であります!
6:名前は開発中のものです。
11/08/18 18:20:13.48 Sqk2Us00
ビット演算知ってるけど、取っつきにくくて、やったことなかった!
ビット演算楽しすぎwwwww
つか、DXライブラリって知らない間に3D機能ついてたのね
2Dの頃、触ってたけど、まったく分からんかったわ!
今は、普通にわかる様になって少し感動
7:名前は開発中のものです。
11/08/18 23:25:50.89 u3BI6g6f
公式掲示板荒らされてる・・・
8:名前は開発中のものです。
11/08/18 23:33:00.08 4aKesB7l
こわっ!
9:名前は開発中のものです。
11/08/18 23:44:43.29 Zv4usykQ
うわ……
10:名前は開発中のものです。
11/08/19 00:21:18.17 PrvHn11R
うわー
ここで暴れてた基地害かな
11:名前は開発中のものです。
11/08/19 00:21:20.16 h2Awk5XP
クラスが一つのファイルに1つ存在するものなら、ヘッダーファイルとソースファイルのセットと
同じような役割果たしてんじゃないか?
C++では構造体の中に関数も入れられるし、プログラミングの本質的なところは
Cと何も変わらないし、つまりCとC++の差はほとんどなかったということになる
クラスを使うか使わないか、ただそれだけだった
12:名前は開発中のものです。
11/08/19 00:24:36.95 wwTupYVn
ほんの入口に立っただけで何ドヤ顔してるんだ
13:名前は開発中のものです。
11/08/19 00:26:09.88 rDmtPIBZ
ヘッダーファイルとソースファイルのセットをモジュールとして考えられない人のためにクラスが作られた
14:aaaa
11/08/19 00:32:07.76 Jfggb3xO
aaaa
15:名前は開発中のものです。
11/08/19 00:34:02.94 Jfggb3xO
ようやく規制解除されたわ
16:名前は開発中のものです。
11/08/19 01:04:29.00 reYTSSed
巧さんも大変だな
17:名前は開発中のものです。
11/08/19 02:10:44.12 nATmrh4o
管理人さんが動いたのか。ほんと大変だ
18:名前は開発中のものです。
11/08/19 08:08:28.94 nuvBwKmK
現行ログ全滅か
19:名前は開発中のものです。
11/08/19 08:45:43.31 FZp/hH4l
なにがあったんだ?
20:名前は開発中のものです。
11/08/19 09:49:50.23 INMF53vv
過去ログってとこクリックしたら見れるみたいだけど、
そこにはないスレもあったのかな
21:名前は開発中のものです。
11/08/19 10:08:04.80 nuvBwKmK
というか過去ログも減ってないか?
調整中なのかな
22:名前は開発中のものです。
11/08/19 10:35:05.62 SLLB2mC5
つかわざわざあんな分かり辛い書き方するの意味あんの
23:名前は開発中のものです。
11/08/19 12:08:10.58 ARB/pWx3
自分でも質問、回答保存しとかないとな、何が起こるかわからんね
24:名前は開発中のものです。
11/08/19 12:58:14.87 h2Awk5XP
そもそもの存在を知らなかった
25:名前は開発中のものです。
11/08/19 13:05:53.40 VH+p9wYA
存在も知らないってのは流石にもったいない
流し読みするだけでも有用な情報がかなり転がってるぞ。あの掲示板
26:名前は開発中のものです。
11/08/19 13:07:17.82 76p5YYCn
管理人が組んでくれた独自関数とか乗ってたりするしな
27:名前は開発中のものです。
11/08/19 15:08:51.16 wvZ3KZ0d
DXライブラリは2Dゲームに使うのにかなり評判いいけど3Dはどうなんだろう。
DXライブラリで作られたフル3Dのゲームを見たことがないんだけども制作してる方いるかな?
それともやっぱり他ライブラリが優勢ですかね。
28:名前は開発中のものです。
11/08/19 15:15:33.69 RYsoyjXa
ニコニコとかなら、いくつか
29:名前は開発中のものです。
11/08/19 15:15:54.96 J0/DuTv2
その話題秋田
30:名前は開発中のものです。
11/08/19 15:20:59.08 76p5YYCn
3Dゲーム作るのにもかなり使いやすいよ
他のライブラリは余計な機能がゴタゴタついてたり、数値の指定がライブラリの独自仕様になってたりするけど、
DXライブラリは余計な機能がないし、座標がイメージしやすいから、2Dの機能を使いこなせてるレベルなら同じ感覚で3Dもいける
31:名前は開発中のものです。
11/08/19 20:39:45.07 Jfggb3xO
糞機能しかないけど
制限の大きさがそれはそれで楽しめる
RPGツクールでアクションつくるようなもん
32:名前は開発中のものです。
11/08/20 00:56:46.71 h5rqwIfp
荒らしが本家アク禁されて戻ってきたのか
33:名前は開発中のものです。
11/08/20 01:40:57.24 hsXN7A7n
もう少し3Dに興味がわく関数追加してほしいと思う
今のままなら3D使わなくても2Dだけでいいやってなる
34:名前は開発中のものです。
11/08/20 01:44:03.83 Fwzk+EjB
メタセコイアーーーーーーーーー
35:名前は開発中のものです。
11/08/20 01:44:56.97 ZoKw5/8i
Seleneだっけ?あっちを使えばいいんじゃね
君には選ぶ自由がある
36:名前は開発中のものです。
11/08/20 02:40:16.77 v7MhS9L7
>>33
CryEngineでも使っとけよ
37:名前は開発中のものです。
11/08/20 16:18:31.76 hqQNNz9L
DrawBoxで描いた四角を透過したいんだけど、
SetDrawBlendModeを使うと描いた四角以外の部分も色が変わってしまう。
DrawBoxで描いた四角の部分だけを透過する方法はないですか?
38:名前は開発中のものです。
11/08/20 16:22:13.65 MeXvMRT5
DrawBoxで描く前にSetDrawBlendModeで透過させて、描いたあとに同じくSetDrawBlendModeで透過解除させる。
39:名前は開発中のものです。
11/08/20 16:38:32.07 hqQNNz9L
>>38
使い方の問題だけでしたか。
ありがとう。
40:名前は開発中のものです。
11/08/20 16:42:51.24 IWWDN6QR
描画モード変更系は永続だからな
41:名前は開発中のものです。
11/08/20 17:21:48.78 qSqU0IZR
仕様として標準値を決めておいて、もし変えたら終わったあとに戻すのがよいよ
42:名前は開発中のものです。
11/08/20 18:25:38.16 3ivERayN
画像クラスに透明度も突っ込んじゃうと楽よね。
43:名前は開発中のものです。
11/08/20 18:33:43.27 IWWDN6QR
透明度というか、描画関連情報を全部突っ込むと便利だな
44:名前は開発中のものです。
11/08/20 18:41:03.64 CTodmPom
DrawBoxをラッピングしてalphaを引数で与えればいい
オーバーロードで引数無しの場合は0xffを与えればいい
45:名前は開発中のものです。
11/08/21 00:29:39.73 gki3mA7k
皆マスク関数とか使ってるの?
俺たまにマスク使いたくなるけど、リファレンツに出力がどうのこうの
って書いてあるから躊躇してしまう
46:名前は開発中のものです。
11/08/21 01:09:33.97 P45TjjLU
>>45
画面四分割する時に使ったことある
47:名前は開発中のものです。
11/08/21 03:28:33.00 RxfZEi1R
便利なのかもしれないが使う機会はないな。
画面分割はやったことあるけど、矩形だったからSetDrawAreaで充分だったし。
48:名前は開発中のものです。
11/08/21 04:25:39.46 rjN5MHyA
URLリンク(d.hatena.ne.jp)
あるんじゃないかとは思ってたけど
商業でDXライブラリ使ってるという話は始めて聞いた。
しかもこの人によると、割と使ってるところあるみたいね。
尤も、典型的な紙芝居ノベルっぽいから、それ専門のソフトとスクリプトで十分だとも思うが…
49:名前は開発中のものです。
11/08/21 10:22:04.14 M759TBPA
RPGで敵をEnemyクラスとして扱おうとしています。
初期化処理において、
龍神録プログラミングのその11,エクセルを使って敵の出現データを作ってみよう、
を参考にして敵のIDに応じた各データメンバをcsvファイルから読み込ませようとしています。
他にもっと便利で修正しやすいよ、という方法ありましたらお教えください。
50:名前は開発中のものです。
11/08/21 11:22:50.61 7gHE4yq/
それ以上を求めるなら自分で専用のツール作るしかないよ
51:名前は開発中のものです。
11/08/21 12:13:03.89 fmNEKtpE
最近見つけてあんまり試してないけどSQLite+PupSQLiteとか面白そうだよ
52:名前は開発中のものです。
11/08/21 12:23:39.50 WE805obR
RapidXMLとか?
53:名前は開発中のものです。
11/08/21 18:42:31.11 IUtyM1fd
敵にID振るのもいいけど敵PTのIDも作ったほうがいいんじゃ
敵が常に1体ならそれでいいだろうけど
54:名前は開発中のものです。
11/08/21 18:45:45.02 3Sq6cAOc
俺の場合は、敵編隊は、敵を発射する透明な敵オブジェクトでやってるなー
これなら敵として設置するだけで編隊を出してくれるから、同じようにステージに配置しやすい
55:名前は開発中のものです。
11/08/21 18:55:02.65 IUtyM1fd
それってSTGの話?
56:名前は開発中のものです。
11/08/21 18:59:49.70 KFmwB8iQ
>>54はSTGの話だな。見た感じ
>>53
敵データと敵パーティーデータって普通は別扱いでやらね?
57:名前は開発中のものです。
11/08/21 19:39:22.49 2utXiE9Y
>>52
「原理原則」や「机上の空論」を正論と思って賞賛してよいのは中学二年生まで
58:名前は開発中のものです。
11/08/21 19:54:12.43 8VJ3fpLQ
普通がどうかは知らんが敵も敵編隊も弾も自機もエフェクトも全部同じ扱い、IDだけ変えてる
ファクトリメソッド使えるのならこのほうが楽
59:名前は開発中のものです。
11/08/21 20:00:10.45 KFmwB8iQ
RPGの話なのに何でSTGの話持ち出すのかイミフなんだが
60:名前は開発中のものです。
11/08/21 20:02:57.51 TJFAx+2m
いつの間にかSTGの話にw
61:名前は開発中のものです。
11/08/21 20:07:40.03 8VJ3fpLQ
おーすまない、けどRPGでも基本変わらん
エンカウントもイベント戦闘もその中での敵配置も同じ扱いでやったほうが楽
62:名前は開発中のものです。
11/08/21 20:13:03.58 IUtyM1fd
>>56
敵が複数登場するようなゲームなら、
いくつかの敵IDの情報を持った敵パーティIDで抽選を行って、
その後、敵IDに応じたデータを読みこんでいけばいいんじゃないかなー
って思ったんだ
63:名前は開発中のものです。
11/08/21 20:20:26.97 3Sq6cAOc
ああ、RPGってのを見落としてたw
64:名前は開発中のものです。
11/08/21 20:23:32.72 KFmwB8iQ
>>62
ああ、俺が言いたかったのもそういうことw
65:名前は開発中のものです。
11/08/23 01:09:17.09 5Swg8Sk+
なんか俺素人すぎてif文が大量にあるから嫌になるな
多分完成した頃には重くて、容量でかいのができあがるんだろうな
66:名前は開発中のものです。
11/08/23 01:13:57.54 5BpZmfJs
if文のコストは実は大したことない
乗算除算やループの方がずっと重い
実行ファイルの容量なんか気にする必要ないだろw
67:名前は開発中のものです。
11/08/23 03:47:11.27 XYlgGojw
スレどころか板違いだけど、if文を自動生成するプログラムを見たときは衝撃が走ったぜ…
68:名前は開発中のものです。
11/08/23 11:18:25.33 Js7ixgY8
じゃあソースにあるループ文を全てアンロールするプログラムを
69:名前は開発中のものです。
11/08/23 11:55:39.56 5Swg8Sk+
前なんかこのスレの風潮でif文は糞みたいな流れがあったぞ
if文の条件を多くするってのは、条件一つにつきif文+1って感じなのか?
70:名前は開発中のものです。
11/08/23 12:16:04.94 m6CHMGJ4
当たり判定のやつ?
あれも実際は効果あるか怪しそうだけど
71:名前は開発中のものです。
11/08/23 12:33:19.39 Js7ixgY8
>>69
このスレで糞糞言う奴の言葉とか全くあてにならんよ
if文の問題点はコードの見通しが悪くなることと仕様変更時に面倒くさいこと
利点は言うまでもないけど早く組めること
利点と問題点を理解して自分にあったスタイルで組めばいいと思う
72:名前は開発中のものです。
11/08/23 14:39:43.09 LpKAIWaD
DrawGraphでの描画速度に限界を感じてきました。
そこでDrawPrimitive2D及びDrawPrimitiveIndexed2Dを使えば
速くなるのでは無いかと考えたのですが、使い方が探しても
見つからなくて困っています。
これらの関数でテクスチャを表示する方法をどなたかご教授
いただけないでしょうか。
73:名前は開発中のものです。
11/08/23 14:44:21.90 EuwgydXA
俺知ってるけどスレ違いだから教えない
74:名前は開発中のものです。
11/08/23 14:58:04.31 gBJyAplF
ライブラリ変えるかDirectX直接叩いた方がいいような気がしないでもない
75:名前は開発中のものです。
11/08/23 15:06:37.37 Jx4cybJH
スレ違いでもないけど、教えるのは難しいな
昔は公式なリファレンスがあったんだっけ?
とりあえず↓をDXライブラリの関数に置き換えて読めば概要はわかるはず これで理解できなかったら使う事自体おすすめしない
URLリンク(www.c3.club.kyutech.ac.jp)
76:72
11/08/23 15:11:36.26 LpKAIWaD
>>74
DXライブラリは概ね使いやすくて非常に気に入ってるので、あと描画速度を
もう少し何とかできればという感じなのですよね。
>>75
ありがとうございます。
構造体のメンバも同じですし、DirectXの情報を追えばなんとかなりそうですね。
頑張ってみます!
77:名前は開発中のものです。
11/08/23 15:18:11.27 Jx4cybJH
てかDrawGraphで重いって一体どういう状況なんだろう
弾幕STGで、弾毎に頂点カラーで色を決めてるとかそういう感じ……?
ブレンドカラーの変更処理ってデフォだとエラーチェックが入るからフレーム毎に1000回くらいで重くなるし
78:名前は開発中のものです。
11/08/23 15:29:08.46 LpKAIWaD
>>77
マップチップの描画処理です。
640*480に16*16のチップを3レイヤー分敷き詰めるとチップ無し
のマスもあるので平均して1500くらいの回数に。
で、内蔵グラフィックボードだと60fpsを割ったり割らなかったり。
一応透過pngをLoadDivGraphで読み込んだものを描画してるので
SetDrawBlendModeとかはしてないです。
79:名前は開発中のものです。
11/08/23 15:32:07.66 GFTNdbU8
マップチップ画像のサイズは?
80:名前は開発中のものです。
11/08/23 15:34:41.23 LpKAIWaD
>>79
4096*768でARGB32の2.52MBのpngファイルです。
81:名前は開発中のものです。
11/08/23 15:36:09.16 gBJyAplF
1500ねぇ。オンボだと確かに微妙な数字だな
82:名前は開発中のものです。
11/08/23 15:37:05.17 GFTNdbU8
試しに256*256とかにしてみたら高速にならんかね
83:名前は開発中のものです。
11/08/23 15:38:11.89 Jx4cybJH
マップチップだったのか
マップチップの最適な描画法ってある気がするんだけどなー
84:名前は開発中のものです。
11/08/23 15:46:29.02 gBJyAplF
全部16*16でやるんじゃなくて、形が決まってるものは大きいサイズで描画するとか
あとバッファをうまく利用するとか
何とか描画回数を減らすように工夫するのがまず必要だと思う
全部16*16ってのはかなり非効率的だし
85:名前は開発中のものです。
11/08/23 16:03:28.86 5Swg8Sk+
俺は全然描画に対して不便感じたことないけどな
重かったのは俺が、ミスって毎ゲームループごとにLoadGraphしてた時だった
86:名前は開発中のものです。
11/08/23 16:04:12.77 gBJyAplF
例えば、草原や床のようなフィルする機会の多いチップは2*2,4*4のような大きいサイズを作っておく
ソースから2*2のような形をそのまま持ってくる場合はその都度Derivationする
カリングする(上のレイヤによって完全に塗りつぶされる場合は描画しない)
など
87:名前は開発中のものです。
11/08/23 16:05:11.97 LpKAIWaD
>>82
LoadDivGraphの速度は遅くなるけど、ハンドル取得後の描画には
影響しないんじゃないかと思ってましたがどうなんでしょう。
>>84
ですよね。大きな画像を作ってそれに最初にマップチップを全部
描画しておいて、その大きな画像を描画するというのも考えたの
ですが、なにぶんゲーム中に一部のチップだけ差し替えたりという
要素があるのでできれば全チップ舐めて描画したいなと。
でもよく考えるとチップ差し替え時に大きな画像の方にそのチップ
だけ上描ききすれば良いですね。
88:名前は開発中のものです。
11/08/23 16:06:07.50 iSTnkg73
俺も同じ事やった事あるな。
640*480で16*16のマップチップを3枚重ねるやつ。
透過pngじゃなかったけど結構負荷がかかった記憶がある。
んで、諦めて一番裏の背景は諦めて一枚絵にしてしまったり、
オプションで二枚目の背景も消せるようにしたりしたなぁ。
まだDXライブラリ使い始めの頃だったけど。
描画の前に重なり具合を調べて、見えなくなる部分は描画しないとかいう手もありかもしれない。
89:名前は開発中のものです。
11/08/23 16:09:10.07 gBJyAplF
>>87
画像サイズはVRAMとメインメモリでスワップが発生してるかどうかが問題かな
計算してみたら4096*768の32bitカラーで12MBの消費だから、それだけではスワップはしないと思うけど
90:名前は開発中のものです。
11/08/23 16:13:36.75 BZMGrITN
DXライブラリは内部的に同じテクスチャならある程度まとめ書きしてくれなかったっけ?
最大テクスチャサイズは2048x2048だっけな、オンボなら1024x1024ぐらいに抑えたほうがいいだろうけど
元画像を幾つかに分割してソート掛けときゃ気持ちぐらいは速くなるかもね
91:名前は開発中のものです。
11/08/23 16:16:13.66 gBJyAplF
>>90
そういえばそうだっけ
大きい画像は内部的に分割されるからまとめ描きがきかなくなる(と思う)ことを忘れてた
92:72
11/08/23 16:17:17.68 LpKAIWaD
なるほど、元画像の大きさが影響する可能性もあるんですね。
ちょっと1024*1024あたりに抑えたので試してみます。
あとやはり画像をまとめて1枚にしてしまおうかとも。
幸いにもアニメーションするマップチップは無いので。
93:名前は開発中のものです。
11/08/23 16:20:53.24 GFTNdbU8
1024でもでかいと思うけどな
94:名前は開発中のものです。
11/08/23 16:29:41.37 Jx4cybJH
でっかい描画可能テクスチャを用意して、シーン切替時にマップ全部描画して、
マップ移動時はその中から描画したいとこだけを描画するってどうだろう
アニメーションするチップがあるなら工夫必要だけど、これが最速な気がする
95:名前は開発中のものです。
11/08/23 16:31:44.49 GFTNdbU8
低スペックPCなんか切り捨てればええんや
96:名前は開発中のものです。
11/08/23 16:42:31.81 gBJyAplF
>>94
フィールドみたいにサイズがでかすぎるとVRAMから溢れそう
描画可能テクスチャに1画面分描画して、スクロールが発生する時に
スクロール先の部分を描画可能テクスチャに1ライン描画するとかどうだろう
プライマリサーフェスに転送する場合はxオフセットとyオフセットを設定すれば、
描画可能テクスチャ1枚で足りるし、描画時に4転送で済む
97:名前は開発中のものです。
11/08/23 17:04:15.97 zNqX2lyT
それスクロールするときに描画可能テクスチャ?を全描画しなおさないといけないんじゃないの?
オフセットだけだとはみ出すよね俺間違ってる?
98:名前は開発中のものです。
11/08/23 17:10:08.05 gBJyAplF
>>97
うーん、説明しづらいから分かりにくくてすまんw
スクロールするときにスクロールアウトする部分に1ライン描画するって言う意味
そうすると描画可能テクスチャは頂点がスクロールした方向に1ラインずれる
つまり、最初の状態で0~100を1回描画だとすると、5ラインスクロールしたら5~100+0~4の2回描画になるって具合
この場合オフセットは5ライン目
スクロールによるずれがx方向とy方向で生じるから、通常は都合4回の描画になる
実際にはスクロールする時のために上下左右に1ライン分のマージンが必要だけど
99:名前は開発中のものです。
11/08/23 17:16:54.74 gBJyAplF
つまり、描画可能テクスチャの初期状態が
00,01,02,03,04,05
10,11,12,13,14,15
20,21,22,23,24,25
30,31,32,33,34,35
40,41,42,43,44,45
50,51,52,53,54,55
で右にスクロールすると、描画可能テクスチャは左1ラインがスクロールアウトするから上書きして
06,01,02,03,04,05
16,11,12,13,14,15
26,21,22,23,24,25
36,31,32,33,34,35
46,41,42,43,44,45
56,51,52,53,54,55
って形になる。バックバッファに転送するときは最初に01~55を左詰めで転送し、次に06~56を転送
100:名前は開発中のものです。
11/08/23 17:24:53.71 zNqX2lyT
へえ。勉強になったわサンクソ
101:名前は開発中のものです。
11/08/23 17:26:09.22 m6CHMGJ4
なんかファミコンっぽいw
バグると移動中に描画オフセットが効かなくてそのままマップが変わって行くのが見えちゃうみたいなw
102:名前は開発中のものです。
11/08/23 17:30:00.21 gBJyAplF
ファミコン言うなwwwww
ただ難点は、描画可能テクスチャを使うってことなんだよね
3.00になって公開関数になった(っけ?)から前よりは安定してるんだろうけど、
2.xx系列だと隠し関数扱いだったからなー
動作の安定性が問題
103:名前は開発中のものです。
11/08/23 19:59:00.13 VwHWQmS1
レイヤーが3つあるってことは画面サイズ*3枚分のバッファが必要で、画面3枚分の画面描画をするんだよな
16*16で描画する場合は描画回数は増えるだろうけど全体では1画面分くらいしか描画しなくていいわけだからどっちの方がいいんだろ
一番手前のレイヤーとかほとんど透過色でほとんど描画しないんじゃないのか
てかMakeScreenで作ったバッファに透過色設定とかできたっけ
104:名前は開発中のものです。
11/08/23 20:24:26.48 XYlgGojw
α付きPNGは、必要な箇所のみに絞って使ったほうが良いような気がする
105:名前は開発中のものです。
11/08/23 23:30:59.29 5Swg8Sk+
話題は変わってしまうけど質問
DrawGraphとかの座標の設定は、int x, int y ってなってるけど、
doubleの値を代入したりするとやっぱりバグるのか?
三角関数とか使って座標の計算とかしてるとどうしてもdoubleの値がでてきてしまうんだが
106:名前は開発中のものです。
11/08/23 23:35:10.20 lNTJHKH0
>>105
自動的にintにキャストされる
float値を使いたい場合はDrawGraphFでおk
使い分けはまぁ色々試してみるといいかと
107:名前は開発中のものです。
11/08/23 23:57:38.50 lNTJHKH0
少し説明が不親切だったか
描画モードがBILINEARの時にfloatでDrawすると各描画点の座標をfloatで計算してくれる
1pixel未満の単位で描画できるけど、描画画像がボケるから使い分けが必要
NEARESTの時にfloatでのDrawはやったことないから分からない
108:名前は開発中のものです。
11/08/24 00:01:48.23 ZKHBuIyW
今の2Dゲームってスクロールした時に描画してるんじゃないと思うけどなあ
技術的には挑戦してみたいけど
109:名前は開発中のものです。
11/08/24 00:08:03.99 sfkaW6xv
>>108
まぁ性能が低い場合の工夫だからね
ユーザー環境にばらつきがあって下限が低いPCゲーだとファミコンみたいな工夫も必要なのかと
110:名前は開発中のものです。
11/08/24 11:46:00.65 AJ4GFjC0
>>106
そうだったか
doubleからint型に変換されるとバグる時あるけど、バグるときとバグらない時の
違いってなんなのかね
111:名前は開発中のものです。
11/08/24 12:03:34.50 L/387cHC
>>110
全然関係ないところでバグってるって可能性が一番高い
あとint型は+20億~-20億程度が保持できる値の範囲だから、キャスト前の値がそれを外れてるとバグる
他に良くある誤りとしては、printfで%d指定してるのにdoubleやfloat突っ込むと変な値が出るとか
112:名前は開発中のものです。
11/08/24 12:08:51.65 Y83dP7s9
reinterpret_castしてるとか……は、流石に無いな。
113:名前は開発中のものです。
11/08/24 12:37:25.60 wddftNdY
int型やdouble型をまぜこぜに計算した結果、なんか想定とズレた事になることはたまにある……。
114:名前は開発中のものです。
11/08/24 12:55:33.53 L/387cHC
そりゃ浮動小数点って近似値でしかないからな
丸め誤差が蓄積してintにしたときに大きくずれることはよくある
115:名前は開発中のものです。
11/08/24 13:35:52.82 /WAoNVeM
ある数を別のある数で割って、同じ値で掛けると思いもよらない所で別の数値が出る、っていう例がなんかあったな
116:名前は開発中のものです。
11/08/24 14:39:56.73 h8WNvxsh
少し高度だけど、浮動小数点周りの挙動はこれが参考になるかも
URLリンク(0xcc.net)
117:名前は開発中のものです。
11/08/24 14:53:30.67 /Zu3vBbU
ゲームなら普通浮動小数点モデルをfastに設定するだろうから80bitは使われないしまた違ってくるな
最近偶数丸めの四捨五入とか負の値の切り上げ切捨ては
理解してないと整数にしたときに違ってくるのはある
118:名前は開発中のものです。
11/08/24 15:18:28.07 rcSq7hqB
fastは不安すぎて使えない
119:名前は開発中のものです。
11/08/24 15:30:40.78 h8WNvxsh
ゲームの場合、浮動小数点演算は速度よりも精度の方が重要な気がする
高度な物理演算でもさせるのなら別だけど、物理演算なら何か物理エンジン持ってきた方が手っ取り早いだろうし
120:名前は開発中のものです。
11/08/25 00:25:28.37 5/LIEyCj
構造体のメンバがめっさ増えてしまったよ
心が痛むけど便利だから仕方ない
121:名前は開発中のものです。
11/08/25 00:28:02.81 b/ivvO9j
>>119
フリーでシェアウェアにも使える3Dの物理エンジンってあるかな
122:名前は開発中のものです。
11/08/25 00:31:33.05 u5dPaIVB
ODEとか?
123:名前は開発中のものです。
11/08/25 00:58:40.19 6F5H+2xZ
Windows版ならPhysXも普通に商用無料だけど
124:名前は開発中のものです。
11/08/25 01:18:03.52 v0OE4j5b
Havok?
125:名前は開発中のものです。
11/08/25 19:31:31.34 r39pEB59
3Dのポリゴンはfloatじゃないと怒ってくるよねw
126:名前は開発中のものです。
11/08/25 19:43:51.78 +TzycFNm
>>122
調べてみるサンクス
>>123
PhysXってゲフォ使ってないとダメとかそういう制限ないの?
>>124
Havokはシェアウェアに制限があったと思う
127:名前は開発中のものです。
11/08/25 19:46:15.26 0LquE4lj
bullet physicsでいんじゃね
かなり重いが
128:名前は開発中のものです。
11/08/25 19:51:22.21 +TzycFNm
>>127
GTA4なんかにも使われてるんだな
これももうちょい調べてみる
129:名前は開発中のものです。
11/08/25 20:36:10.22 x7GzGK8k
Newton Game Dynamics
130:名前は開発中のものです。
11/08/25 20:36:41.74 6F5H+2xZ
>>126
そんな制限あったら誰も使わねえよw
131:名前は開発中のものです。
11/08/25 20:55:20.29 +TzycFNm
>>130
そうなんだ
数年前にnVidia以外のGPUを検知するとPhysXの機能が停止されるようになったとか見た記憶があったから
自動的に選択肢から外してたけど、いつの間にか解消されてたのね
132:名前は開発中のものです。
11/08/25 21:11:09.88 6F5H+2xZ
>>131
何か勘違いしてるみたいだけどPhysXはGPU限定じゃないぞ?
GeForceならCPUより速くなるだけで
普通にCPUのみで常用出来るしUnityやUDKはPhysXがデフォ
133:名前は開発中のものです。
11/08/25 21:16:10.43 +TzycFNm
>>132
なるほど、勉強になった
思ってる通り完全に勘違いしてたわ恥ずかしい限りで・・・
134:名前は開発中のものです。
11/08/26 03:17:13.81 V5GLTgJY
DXlibで作ったゲームをより多くの人にプレイしてもらう一番の方法って何だろう
135:名前は開発中のものです。
11/08/26 13:41:24.01 fnRCOkx6
どうやって宣伝するかの話になるから一筋縄ではいかない問題だな
136:名前は開発中のものです。
11/08/26 13:55:01.38 zU9uahDS
>>134
テレビCM
137:名前は開発中のものです。
11/08/26 16:54:57.79 Er6UBVi7
公式ページに宣伝する場所あるけど、そこの数見るとやはりグラフィックじゃないか
・・・あそこ東方多いなー
138:名前は開発中のものです。
11/08/26 22:58:00.36 4m9giPLQ
>>110
doubleとintじゃメモリ長違うからな(double-8バイト、int-4バイト)
代入の時に(int)のようなキャスト文を記述するのがプログラムの基本だと思うけど
自動キャストにあまり期待しないほうがいいのでは
139:名前は開発中のものです。
11/08/27 05:50:17.26 btZbEZqZ
久しぶりにライブラリ更新したら、フォントサイズがのきなみデカくなってしまった。
3.05aの時にフォントが小さくなる不具合が修正されたとあったので、
この不具合を受けていたんだろうな。
140:名前は開発中のものです。
11/08/28 01:38:40.08 AIw4LN7/
画像の透明度が上手く反映されない
マジ糞
141:名前は開発中のものです。
11/08/28 01:50:59.35 uYFEtNkY
お前の技術が糞なだけ
142:名前は開発中のものです。
11/08/30 00:57:40.02 dYGP1w70
DXいじり始めて少したった今、始めたばかりの頃のコードが糞すぎることに
気付いて直したいんだけど、これを直すとかなりの部分を直さなければならなくなる
どうしようか悩みどころだ
143:名前は開発中のものです。
11/08/30 01:06:28.73 bp0SD/cw
何か完成目標があるのなら必要な部分だけ直しつつ進めることを勧める
そんなに大作志向のものでは無いのなら、適当に区切りをつけて終了するのがいいかもしれない
144:名前は開発中のものです。
11/08/30 01:55:16.10 tq3YpvUy
進めば進むほど直したくなる部分が増えるから問題が起こらないのであれば触らないほうがいい
糞すぎてもいいからそのまま完成させ、その答えは次回作る時に回す
145:名前は開発中のものです。
11/08/30 01:58:10.42 xRSeBrvk
ネームスペースを分けて併用する
古いコードは触らず、新しく書く部分は新しいライブラリを使う
146:名前は開発中のものです。
11/08/30 04:01:10.54 9FnnhPv8
そういうことに走り出したら完成しない
147:名前は開発中のものです。
11/08/30 15:15:28.85 dYGP1w70
結構根本的なところが適当に作っちゃってたからな、本当に反省ものだわ~
そもそも一つ実装するのに複数同じコード書かなきゃいけないのは、エレガントじゃなかった
始めた頃は、同じの書くだけか、とか思ってたんだが
意気込んで色々作ったから、結構大作にする予定だったけど
今回は、ある程度区切りがついたら終了しないにしても、次の作品に取りかかろうと思う
148:名前は開発中のものです。
11/08/30 15:23:57.82 heBciR2p
>>146に同意だが、根本となると後々不便になること多いからねぇ
149:名前は開発中のものです。
11/08/30 15:26:34.28 d7imXqz6
>>147
素材を流用して次を大作にすればいいのさ
150:名前は開発中のものです。
11/08/30 15:29:14.00 YRKVbKQ0
俺も同じようなケースに陥ったが新しくフレームワーク書いてその上に全部移植したよ
151:名前は開発中のものです。
11/08/30 20:57:25.09 uDbZ2MEH
綺麗なブラー(リニア&放射)かけてみたいんだけど、シェーダを勉強するしかないかな。
2Dゲーム前提で、今作ってるゲームが完成するまでは、あんまり勉強に時間を割けられない。
152:名前は開発中のものです。
11/08/30 21:01:51.66 YRKVbKQ0
シェーダよりは重くなるが、描画可能画像に全ての画像を書き込んだ後、
その画像を半透明にずらしながら数枚置けばそういうことが出来る
軽くやりたいならシェーダを学べばいい
153:名前は開発中のものです。
11/08/30 21:15:37.01 gvz6W4Cu
加算合成のブラーならシェーダ使わず軽めに綺麗にできるんだけどなー
別の描画可能テクスチャにブラー掛けたいものを加算描画して、毎フレームクリアせずに減算で少しだけ全体を暗くする
そのテクスチャを画面に加算で合成すればおk
154:名前は開発中のものです。
11/08/30 22:09:15.00 bDw8yGHB
>>142
オレは最初の勉強しながら書いた糞コードは途中で全部書き直した。
コードも短くなって綺麗になり、バグも直ったよ。
直しとけ
155:名前は開発中のものです。
11/08/30 22:10:19.14 2nPfiAyT
そしてコード直しの無限ループに陥っていつまでたっても完成しないんですね
分かります
156:名前は開発中のものです。
11/08/30 23:48:45.32 uDbZ2MEH
ありがとう。
>>152
ピンポイントで使う分には力技もアリっちゃありか
>>153
それ面白いな
157:名前は開発中のものです。
11/09/01 00:19:30.76 d4ENLr57
素材作りが面倒くさすぎる
特に選択画面とかメニュー周りのレイアウト考えて作るの嫌だわ
158:名前は開発中のものです。
11/09/01 00:20:51.61 4jMoOptS
慣れだ
159:名前は開発中のものです。
11/09/01 00:43:11.59 m+HtDpTs
どっかのニュースでGoogle+風のアイコンやUIのフリー素材とかあったからそういうの使えばいいんじゃね
160:名前は開発中のものです。
11/09/01 01:14:25.00 n1HPhJGE
スクロールとかめんどいよね
161:名前は開発中のものです。
11/09/01 01:52:07.28 f0r0b674
レイアウトは色んなゲームからパクればいいよ
どうせどれも似たようなもんだ
162:名前は開発中のものです。
11/09/02 21:26:41.41 iRfojymH
編成画面、一発でビルド成功した
夢精しちゃった
163:名前は開発中のものです。
11/09/02 21:29:21.25 S5AdhhfU
夢落ちかw
164:名前は開発中のものです。
11/09/02 21:51:54.23 TqRuKmu/
夢精吹いたwww
165:名前は開発中のものです。
11/09/04 17:57:58.28 CLWIhWsZ
初心者的質問ですまないがMV1LoadModelFromMemってどういう使い方すればいいんだ?
メモリに読み込んでも展開する時のロード時間がMV1LoadModelとほとんど変わらない
マルチスレッドによるローディングのお供かと思ったがやっぱり他と競合するからなぁ
166:名前は開発中のものです。
11/09/04 18:23:24.33 R9jedfSL
使ったことないから適当抜かすけど、
メモリ上に読み込んで編集したものを読み込んで使ったりするんじゃないの。
167:名前は開発中のものです。
11/09/04 18:28:01.69 VYFDdoqV
メタセコのモデルデータとかテキスト形式だしなー
でも実際はメモリからファイルとして読み込む関数はただひと通り用意してあるだけなんじゃないの?
独自アーカイブとか使いたい人居るでしょ
168:名前は開発中のものです。
11/09/04 18:34:14.15 zZOKw97r
暗号化とか考えだすとまずファイル名指定系は使えなくなる
169:名前は開発中のものです。
11/09/04 19:10:16.22 Qw7jUkGk
データを予め圧縮しておいてそれをメモリに展開してから読み込む
~FromMem関係はだいたいそんな使い方をしてる
170:名前は開発中のものです。
11/09/04 20:53:06.84 CLWIhWsZ
ありがとう、自分には当分縁がない機能だということは分かった
メモリをいじくって管理できる人はすごいなぁ
171:名前は開発中のものです。
11/09/04 20:54:20.65 EQP0Z6gU
DXライブラリとは関係ない話題ですみませんが、
皆さんはバージョン管理ってどうされてますか?
自分はバージョン管理ツールとか使えないので、テキストにコピーして日付とコメント入れてますw
172:名前は開発中のものです。
11/09/04 21:11:47.14 ZY2yQa2r
世の中には、雑談スレとか質問スレってのがあるんだけどな。
自分は最近Dropboxを導入したので、そっちに任せてる。
勝手に履歴も取ってくれるし。
173:名前は開発中のものです。
11/09/05 00:30:50.09 fAUkDatV
Dropbox転送速度おせぇ…容量2GBしかないじゃん
174:名前は開発中のものです。
11/09/05 00:41:25.19 fLF3yH4J
バックアップ目的なら、最低限ソースファイルのディレクトリだけ同期すればいいじゃない
175:名前は開発中のものです。
11/09/05 00:45:10.79 fAUkDatV
>>174
ごめん、訂正します
すげぇ便利、うんこ漏れた
176:名前は開発中のものです。
11/09/05 07:52:02.52 fLF3yH4J
別の物dropすんなw
177:名前は開発中のものです。
11/09/05 11:38:05.84 4jVVMGID
夏休み終わったら驚くほど平和なスレになったなぁ
178:名前は開発中のものです。
11/09/05 11:49:13.37 DmS7yr3b
ほんと、びっくりだよ
179:名前は開発中のものです。
11/09/05 11:59:09.99 8uz1Lmc0
夏休みって勢いだけで開発したくなるもんだからな
夏休み終わったら開発メンバーが夢から覚めていなくなっていくもんだ
180:名前は開発中のものです。
11/09/05 13:22:53.50 DmS7yr3b
あるあるw
というか夏休み中盤あたり(と思われる時期)から荒らしの勢いが弱くなったよな
つまり、その頃から避けがたい現実の壁に直面し始めたってことかw
181:名前は開発中のものです。
11/09/06 01:55:20.57 X8PlHriw
まだ夏休みなんだけど
182:名前は開発中のものです。
11/09/06 02:02:51.64 HZS2vrcD
大学生は夏休みだろうな
夏厨の大半はリア厨リア工だろ
厨工は既に夏休み終わってる
183:名前は開発中のものです。
11/09/06 04:23:35.05 2fFA1rLA
俺数年間夏休みのまんまなんだけど
184:名前は開発中のものです。
11/09/06 04:42:24.88 B5zPYdVD
四季ないの?
185:名前は開発中のものです。
11/09/06 11:56:12.00 X8PlHriw
確かに俺は大学生だが、就活する気ないしそもそも間違えた大学いってしまった
卒業した後何しようか
186:名前は開発中のものです。
11/09/06 12:24:46.00 qrSbSQ+b
>>185
上海アリスに対抗してムンバイアリスプロジェクトでも立ち上げろ!
187:名前は開発中のものです。
11/09/06 13:51:54.57 slT4WD5J
>>185
別の大学に入学
188:名前は開発中のものです。
11/09/06 15:28:17.00 t7+cugkd
>>170
何が凄いの?当たり前の事じゃないのか?
C/C++言語をやる以上メモリ管理とかメモリの仕組みを理解するのは常識でしょ
ファイルアクセスはテキストだけか、バイナリデータをどう扱うんだよ
何のためにポインタを勉強するのだかレベル低すぎだ
189:名前は開発中のものです。
11/09/06 15:46:37.61 0biVE3lT
差詰め、ポスト夏厨ってところか
190:名前は開発中のものです。
11/09/06 16:26:20.59 XcCeAR+W
テキスト扱えたらいろいろできますけど
191:名前は開発中のものです。
11/09/06 23:54:33.43 ZuzK3VMO
>>188がレベル高すぎて吹いた、俺の常識では理解できん
192:名前は開発中のものです。
11/09/07 00:56:03.87 BQag29pv
>>191
確かに常識を大きく逸脱してるよなw
193:名前は開発中のものです。
11/09/07 01:23:14.46 vb1z8o7v
ポインタで勉強したことは、関数でも変数でもなんでもメモリに値が割り振られるってことだけだった
ポインタはそのアドレスの番号ってだけだった
そして、それ以上でもそれ以下でもなかった
194:名前は開発中のものです。
11/09/07 01:24:57.54 c/3+nxnP
>>191-192
>>188の言い方は悪いが言ってることは事実だよ。
なんとなく抵抗あるんだろうけど、諦めずに挑戦してみれば捗るぞって言いたいだけだと思う。
195:名前は開発中のものです。
11/09/07 03:14:49.53 BQag29pv
>>194
いや、事実がどうとかそんな難しい話が出てるわけじゃないから・・・
プログラム言語の最低限の常識は持ってるみたいだけど、日本語の常識は無いみたいね、ってこと
196:名前は開発中のものです。
11/09/07 06:27:51.95 s2aSkpi1
メモリという言葉に過剰反応して
墓穴を掘った人がいると聞いて
飛んできました
197:名前は開発中のものです。
11/09/07 06:30:17.27 eKhAKT8o
夏に湧いてた語りたがりや子供と同じ匂いがする
198:名前は開発中のものです。
11/09/07 12:25:42.42 zy+rpXSE
>>188
残暑お悔やみ申し上げます
199:名前は開発中のものです。
11/09/07 19:30:19.42 vJmg/j4c
なんだろう、こうして全体を眺めていると>193が光って見える
200:名前は開発中のものです。
11/09/07 20:30:19.23 hL5E/old
コンパイル時までは型情報もあるから正しくは無いな
201:名前は開発中のものです。
11/09/07 21:13:45.85 zy+rpXSE
(ドヤッ
202:名前は開発中のものです。
11/09/07 21:14:54.16 DhZ0fzDh
フフーフ
203:名前は開発中のものです。
11/09/07 23:06:44.02 xPoemCkm
>>193が最もハゲってことだろ・・・
204:名前は開発中のものです。
11/09/08 00:24:36.95 AWvxx1rh
実際ポインタなんて関数ポインタと構造体配列にしか使わなくね?
しかも構造体の構造体にはポインタ使えないから、ゲーム制作でそこまで重要とは思えない
実際にメモリのアドレスとか意識して使う場面なんてないでしょ
205:名前は開発中のものです。
11/09/08 00:34:57.58 SRigVOB4
メモリのアドレスを意識して使う場面は無いがポインタを使う場面なら腐るほどあるぞ
ユニット同士の参照持たせたり、シーンやアクターへの参照持たせたり
スマポならアクターや敵・弾・エフェクトの実体をスマポのコンテナに入れる(ポリモーフィズム)
シーンもシーンのスーパークラス継承して実装するだろうし
206:名前は開発中のものです。
11/09/08 00:42:06.59 n04TG+5l
正直俺のコードはポインタまみれ
可読性は悪いのかも知らんが、自分一人で作る場合にはポインタ上手く使った方が保守性が高まるのよね
207:名前は開発中のものです。
11/09/08 00:44:07.74 ZN1xKuWx
というか一つ一つを切り離した保守性の高いコードを書こうと思ったらポインタ使うしか無いだけだろ
208:名前は開発中のものです。
11/09/08 00:53:24.77 O8ZONPcy
ポインタやC++の機能は、使うと便利で効率的だけど、使わなくてもそこそこの物が作れる。
同人STGサークルで最高峰の一つと言っていいBLUE&WHITEの作品なんて、
旧来のBASICとほぼ同じ仕様の言語(構造体すら無い)で作られてるんだぜ・・・
メモリ管理やポインタやクラスの活用が重要なのは確か。
でも、「それを知らなきゃ駄目、何もできない」みたいに言ってしまうと反感を買うんだろうな。
209:名前は開発中のものです。
11/09/08 01:04:59.02 Ov0oDZDi
動的確保禁止の仕事もあるからな
210:名前は開発中のものです。
11/09/08 01:13:35.04 dEoLRrf6
fortranはfortran90までポインタ無かったが
アポロ11号の月着陸船を制御したらしい。
211:名前は開発中のものです。
11/09/08 02:09:21.00 4M9G4VOj
LTCG有効にしてライブラリ作り直したらリンクに10分以上かかるようになったというチラ裏
212:名前は開発中のものです。
11/09/08 02:45:10.55 doHxDHsJ
俺は可読性こそ命だと思うな
おかげで半年以上開いてないプロジェクトすぐ理解できたわ
213:名前は開発中のものです。
11/09/08 02:50:51.27 XrYAZCzA
本人が読むなら、普通に組んでりゃ時間たっても普通に理解できると思うけど・・・
214:名前は開発中のものです。
11/09/08 02:53:35.18 AWvxx1rh
ポインタは可読性はあまり良くないな
やたらカッコ増えるし、正直使うべきだとは分かっていても少し気が引けてしまう
215:名前は開発中のものです。
11/09/08 02:57:15.18 XrYAZCzA
ポインタで括弧が増える状況がいまいち想像つかん
値をインクリメントする場合くらいしか思いつかないんだが
216:名前は開発中のものです。
11/09/08 03:11:23.54 n04TG+5l
カッコってまさか
*(hogehoge->hoge)
みたいな書き方してるとか?
217:名前は開発中のものです。
11/09/08 05:26:21.46 doHxDHsJ
久しぶりに掲示板みたらこんなスレ立ってた
URLリンク(hpcgi2.nifty.com)
218:名前は開発中のものです。
11/09/08 06:47:16.66 ER2QaU5m
DXライブラリのすごい所は、普通のライブラリにある「ポインタを使わされる」場面がほとんどないことだよな
他のライブラリ見てるとポインタだらけだ
おかげで自作プログラムじゃ>>204の用途にしか使ってない
219:名前は開発中のものです。
11/09/08 10:06:14.26 WTgUh+ln
>>214
ポインタ使った方が可読性良くなると思うが
関数間での二つ以上の値の受け渡しどうしてんの?いちいち構造体の値渡し使ってるの?
220:名前は開発中のものです。
11/09/08 10:10:45.57 SFhUhwei
全部グローバル変数なんだろう
221:名前は開発中のものです。
11/09/08 10:14:14.91 lrhJNF88
クラス化してるから、各関数の引数としては出てこないとか
222:名前は開発中のものです。
11/09/08 11:02:29.93 WTgUh+ln
>>220
可読性低下してんじゃん
それとも全てのグローバル変数の用途を一年別のコード弄ってても忘れないくらい記憶力いいのか
>>221
クラス使うならクラス使うでポインタ使わずにインスタンスの受け渡しどうすんの
223:名前は開発中のものです。
11/09/08 11:44:46.65 oQa+3H/M
ポインタ使った方が可読性は高まると思う
あとC++の場合、クラス使ってカプセル化するならむしろポインタ必須だろ
>>222も書いてるけど
224:名前は開発中のものです。
11/09/08 11:58:51.52 AWvxx1rh
>>219
時と場合によるけど、俺はその関数で何回も使う場合は普通にポインタ使ってるよ
ちょっと使いたいだけの場合は、構造体の型で関数作る。関数の引数増やすとちょっときたないし
>>216
いや、配列でhogehoge[n].hogeを(hogehoge+n)->hogeって書くとなんか見にくくなった気がする
2次元配列ならなおさら
225:名前は開発中のものです。
11/09/08 12:07:13.55 WTgUh+ln
>>224
いやわざわざ配列をポインタに直す必要なんて全く無いだろ……
226:名前は開発中のものです。
11/09/08 12:16:11.24 oQa+3H/M
仮に必要がある場合でも、俺はローカルで
HOGE *hage = &(hogehoge+n)->hoge;
で置き換えてしまうかな
まあコードの内容にもよるけど、見にくくなるくらい登場頻度が高いならね
227:名前は開発中のものです。
11/09/08 15:14:48.19 95fOK7F6
どうせポインタの使い方が分かってないのなら先にjavaやC#でのポインタレスプログラミングを勉強した方が
CやC++で組むときにもきれいで安全なコードに落ち着く気がする
まぁリファレンス使うのにポインタ使うのと同じ知識は必要だけどね
228:名前は開発中のものです。
11/09/08 16:20:53.63 qZ9zRe2f
どう学習するのがいいんだろうねー
ポインタレスでメモリ空間の感覚が身に付くかなあ
まあいきなりポインタ使おうとしたら危険があるってのは間違いないけど
229:名前は開発中のものです。
11/09/08 16:48:34.53 ER2QaU5m
メモリ操作の感覚が掴めてから本当にポインタが理解できるようになるんだろ
それに、ポインタとかは勉強しようと思って学んでも全然わからない
普通にプログラム組んでれば、いつかどうしてもポインタが必要な状況がくる
そうしたら電球ぴっかんこしてすんなり理解できるようになるから、それまでは無理に身につけようとしなくてもいいよ
230:名前は開発中のものです。
11/09/08 17:03:04.88 Zn0gmw5p
メモリ空間とか意識すべきじゃないってのが昨今の考え方だからな
メモリ管理なんてほとんどの言語ではガベコレ任せでOKだし
C++では低レベル層以外では生ポインタもnewも禁止って規約作ってるところもある
231:名前は開発中のものです。
11/09/08 17:57:56.34 qZ9zRe2f
ゲーム作るならガベコレ任せじゃなあ
ガベコレのタイミングと割り当てる時間まで全部制御できるならいいけど
232:名前は開発中のものです。
11/09/08 18:48:46.19 AWvxx1rh
ゲームプログラミングの館で紹介されてるようなポインタの使い方以外に
どんな使い方が主流だったりするの?
233:名前は開発中のものです。
11/09/08 18:52:34.06 BQSrwOkb
自分の無能をドヤ顔で語られてもな
234:名前は開発中のものです。
11/09/08 18:56:46.84 ER2QaU5m
ゲームプログラミングの館は最近みてないからわからないが、
俺の場合は頻繁にソートしなくちゃいけない構造体の配列とかをポインタにすることでメモリコピー量を軽減して高速にソートできたり、
オブジェクトから別オブジェクトの状態を監視するために使ったりする
例えば、STGで敵が倒したらその敵が出した弾だけ消したい場合、
弾に自分を出した敵オブジェクトへのポインタを持たせといて、HPが0になったりしたのをチェックさせたりとかできる
235:名前は開発中のものです。
11/09/08 18:57:34.76 ER2QaU5m
STGで敵が、じゃない
STGで敵を ね
236:名前は開発中のものです。
11/09/08 19:29:18.17 qZ9zRe2f
ゲームデータを利用するときなんかポインタをよく使うな
STGだったら敵の耐久値や得点を格納した構造体やクラスとか
敵インスタンスのそれぞれには値を持たせないでゲームデータを指させる
用途は色々だけど、スマートに組もうと思ったらポインタが出てくることが多い気がする
237:名前は開発中のものです。
11/09/08 20:05:29.41 lrhJNF88
>>222-223
失敬、あらかじめ別の場所で指定してるから、
実際の昨日呼び出しとしての関数にはポインタが出てこないのかも、というジョークのつもりだった
238:名前は開発中のものです。
11/09/08 23:40:01.91 iztd+bJu
ポインタくらいさくっと勉強すればいいのに・・・
239:名前は開発中のものです。
11/09/08 23:59:50.88 9xOrhu1g
ポインタを無駄に難しく感じる人が多いのはCの教本が悪いんだよな
>>224みたいな発想ってポインタを配列の添字替わりに使うっていうお決まりのサンプルが原因だろうし
C++みたいにクラスのインスタンスアドレスの格納用ってところから入ったほうが実用的で分かりやすい
240:名前は開発中のものです。
11/09/09 00:32:33.59 3xnCMl6b
>>239
あれじゃ使い道分からんよなあ
俺も最初は「で?っていう」状態だったぞ
241:名前は開発中のものです。
11/09/09 00:40:25.04 WMxbyvxF
俺は、「ある構造体を別の関数から手軽に変更できる」から入ったから、
むしろ配列アクセスがポインタ演算の省略記法だって知った時驚いたよ。そして確かにそうだなとも思った
242:名前は開発中のものです。
11/09/09 00:50:17.52 n/GIxaX2
メモリの番地じゃないのか
243:名前は開発中のものです。
11/09/09 01:11:39.93 ao0aDTdP
配列とか構造体を関数の引数にしたときに
Call by referenceにしかできないとか、
二次元配列を、ポインタをインクリメントするだけで
舐めてしまえるとか、
Cをアセンブリにいかに簡単に落とし込みやすくできるか。
アセンブリの性質がもろに出てるんですよね。
244:名前は開発中のものです。
11/09/09 01:36:03.31 8Qyc1Xec
>>241
何それ、kwsk
俺も同じ道を辿りたい
245:名前は開発中のものです。
11/09/09 03:05:21.84 jsjA4VTZ
win7にしたんだけどvc++6.0しか持ってなくて
dxライブラリを使うとdirectxをインストールしなくても
directxで開発できてしまうんだな
ありがたい
簡単にサンプルをビルド実行できた
246:名前は開発中のものです。
11/09/09 04:03:49.72 YyzrgMlk
DirectXはすでにインストールされている
DirectX SDKのこと言ってるのかな
247:名前は開発中のものです。
11/09/09 06:29:13.86 2WBzxpbS
vc6は古すぎるんでできれば新しいコンパイラに替えたほうがいいよ
express editionでよければ無料で使える
248:名前は開発中のものです。
11/09/09 06:45:53.59 ik422DJI
自分もかなり長期間VC6を使ってたから愛着はあるぜ。
より高機能で複雑化してるから、道具に使われてる感はしちゃうけど、
IntelliSenseがかなり賢くなってるから、それだけでも導入の価値はあるぜ。
249:名前は開発中のものです。
11/09/09 08:02:12.33 GccrOwfB
ポインタの何が難しいのか、そっちのが分からん
250:名前は開発中のものです。
11/09/09 08:26:26.37 YyzrgMlk
>>249
ググれ
ポインタの難しさから勉強してこい
そこまで面倒みきれん
251:名前は開発中のものです。
11/09/09 08:44:10.52 HI1B7qUa
ポインタなんて簡単だと言ってるんじゃないの。
252:名前は開発中のものです。
11/09/09 12:29:00.96 zjvixVHU
だな
ポインタなんて難しいことは全くない
難しく感じるのは、教本が悪くて用途が分からないからってだけ
253:名前は開発中のものです。
11/09/09 12:38:14.70 WMxbyvxF
確かに「ポインタなんて何に使えばいいの?」って言われてもこっちが理解できなかったりする
そんな立場に立ったことないし
必要そうな事(俺の場合ゲームに)を順次覚えていったらこんな感じ
254:名前は開発中のものです。
11/09/09 13:19:42.75 HI1B7qUa
そういうところが齟齬の原因なんだろうね。
これはどうしようもない事だと思うよ。
その「理解できない」事が解ってるのに、理解しないまま
そういう人達に対して教えようとするからおかしな事になる。
255:名前は開発中のものです。
11/09/09 13:27:32.18 zjvixVHU
プログラミングって論理思考のセンスが問われるからな
センスが無いと「なんで分からないんだ」ってようなところで躓く
256:名前は開発中のものです。
11/09/09 15:34:40.02 ll9kyqlZ
ポインタ理解出来ない=センスがない ってことじゃないと思うがなー
257:名前は開発中のものです。
11/09/09 15:51:48.77 zjvixVHU
誰もそんなこと言ってねえよ・・・
別の人間が書いてる内容を無理矢理繋げんな
258:名前は開発中のものです。
11/09/09 16:28:33.88 ll9kyqlZ
おっとそれはごめんね
259:名前は開発中のものです。
11/09/09 16:49:44.31 ik422DJI
自分の場合。
セーブ実装したいな…
↓
となるとファイル読み書きが必要だよな。
↓
難しいと評判のポインタを使うのか!
↓
あれ、難しくなかったぞ。拍子抜け。
260:名前は開発中のものです。
11/09/09 17:45:21.82 Qt804ejg
Cで1年ゲーム作ってる人よりもjavaを1週間だけ勉強した人の方が簡単にポインタを理解できたりするからな
結局教え方がマズイというか学び方がマズイというか
ポインタそのものの難度とは別のところに問題があるのは確実
261:名前は開発中のものです。
11/09/09 18:12:25.06 zFZi5GgL
リソースの管理とか言語に依存しない抽象的な概念は他の高級言語やった人の方が理解してそうだな
262:名前は開発中のものです。
11/09/09 18:42:01.46 aPTDe6Zj
頻繁にデータ(構造体)を受け渡ししたり、速度を気にしないうちは
ポインタを使うメリットがよく分からないからなんじゃないかな
俺もゲームの速度を気にするようになり、関数ポインタや
ローカルのポインタ変数を使うようになって、ようやくポインタの
便利さが分かったよ
必要な人だけ使えばいいと思う
ポインタ使わずゲームが作れるならそれで問題ないだろうし
263:名前は開発中のものです。
11/09/09 19:57:45.63 YyzrgMlk
全部スマポでやればいいよ
264:名前は開発中のものです。
11/09/09 20:01:15.86 n/GIxaX2
スマポよりナマポ欲しい
265:名前は開発中のものです。
11/09/09 20:34:44.80 4cbcubR5
スマタでいいからしてほしい
266:名前は開発中のものです。
11/09/09 21:14:05.39 neVttkqH
龍神ryの講座のソースを見て「ポインタなくても困らない」と大声で言う人の気持ちがわかった気がした
何もかもグローバルの配列を使うような世界で育てば確かに困ったことないだろうなぁ
267:名前は開発中のものです。
11/09/09 21:36:07.47 2lDIiM72
グローバルかどうかはあまり関係ないような・・・
268:名前は開発中のものです。
11/09/09 21:49:01.18 jsjA4VTZ
ポインタって要するにアセンブラのインデックスレジスタなんだよね
269:名前は開発中のものです。
11/09/09 21:56:20.07 escQ9bl0
あそこは初心者というよりHSPとかBASICを経由してきた人と相性が良さそう
はじめてゲームプログラミングをするって人には正直見せたくない
270:名前は開発中のものです。
11/09/09 22:11:09.16 4cbcubR5
メモリ消去したのにアドレスを消さないぷろぐらまに価値はないんだよ
271:名前は開発中のものです。
11/09/09 22:18:52.71 Awb5KSju
>>268
は?