DXライブラリ 総合スレッド その5
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名前は開発中のものです。
2009/12/04(金) 16:49:13ID:7SKA4I5zGUIのゲームを比較的容易に作成する事を可能にする、
「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/
0866名前は開発中のものです。
2010/02/12(金) 15:42:11ID:9oJmNhGP0867名前は開発中のものです。
2010/02/12(金) 21:24:07ID:m/RgGbdM0868名前は開発中のものです。
2010/02/12(金) 21:53:10ID:5g1bekrX0869名前は開発中のものです。
2010/02/12(金) 22:17:37ID:gSVuHgsF試してないけど戻り値がLONGLONG型なので「%I64d」か「%lld」じゃないかな。
0870名前は開発中のものです。
2010/02/12(金) 22:39:37ID:3A3ijQ60サンクス!
やり方、納得です。
取り敢えず手の回転並進行列とって、そのまま武器に適用させてみる。
0871名前は開発中のものです。
2010/02/12(金) 23:19:30ID:gSVuHgsFチップグラフィックを使ったマップ描画
int MapWidth, MapHeight : マップデータ全体の幅と高さ
int *MapData : マップデータが格納されたアドレス
int ChipTypeNum : マップに使うチップの種類の数
int *ChipGrHandle : チップのグラフィック配列のアドレス
int TransFlag : 透過色処理の有無
int MapDrawX, MapDrawY : 描画するマップの起点となる左上座標
int MapDrawWidth, MapDrawHeight : 起点座標から描画するマップの幅と高さ
int ScreenX, ScreenY : マップを描画する画面上の座標
(2004/02/08)
2.11 DrawChipMap 関数を非公開関数に変更。
0872名前は開発中のものです。
2010/02/13(土) 00:47:58ID:lykIm1Dnサンクス!
lldでいけました。
0873名前は開発中のものです。
2010/02/13(土) 18:36:09ID:nVI35ftX何か簡単な方法って無いものかな?
拡縮してから回転させたときと、回転させてから拡縮するときとで結果が異なるけどさ。
無いなら無いで、自前で座標を計算してDrawModiGraph()に投げるつもりだけれど。
0874名前は開発中のものです。
2010/02/13(土) 19:30:01ID:pV6Ocbxc0875名前は開発中のものです。
2010/02/13(土) 22:38:54ID:nVI35ftX0876名前は開発中のものです。
2010/02/14(日) 21:14:56ID:9DOaOyQ2ClearDrawScreen()
SetDrawBlendMode( DX_BLENDMODE_ALPHA, ・・・
DrawGraph(・・・
ScreenFlip()
って書いたら、1箇所使っただけなのにかなり処理が重くなる
DrawGraphが悪い?
フレームスキップするしかない?
0877名前は開発中のものです。
2010/02/14(日) 21:20:54ID:lH/o5bwf本当にその四行だけで試してみた?
0878名前は開発中のものです。
2010/02/14(日) 21:21:28ID:I7ZtRrpB0879名前は開発中のものです。
2010/02/14(日) 21:24:26ID:9DOaOyQ2ClearDrawScreen()
SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 )
DrawGraph(・・・ // 普通の画像
SetDrawBlendMode( DX_BLENDMODE_ALPHA, ・・・
DrawGraph(・・・ // 半透明させるの画像
SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 )
DrawGraph(・・・ // 普通の画像
ScreenFlip()
こうやってます
画像を重ねる都合上、
SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 ) を2回やってます
もっと効率よい方法があるんでしょうか?
0880名前は開発中のものです。
2010/02/14(日) 21:26:43ID:9DOaOyQ2フレームスキップってどうやればいいでしょうか?
画面処理を別スレッドにして、処理時間オーバーしたら放棄、
でいいの?
0881名前は開発中のものです。
2010/02/14(日) 21:27:36ID:9DOaOyQ2880 は >>878へのレスです
0882名前は開発中のものです。
2010/02/14(日) 21:32:50ID:r2nQlTSvいちいち戻さない方が速いかも
0883名前は開発中のものです。
2010/02/14(日) 21:34:14ID:I7ZtRrpBググれば幾らかサンプルコードが出てくる。確か龍神録でも触れてたと思うし。
PC上で動くゲームを作るのなら秒間60回更新するように調整するのは基本中の基本。
DXLIBに限った話じゃない。CPU使用率が異常に高かったりしたら間違いなくこっちの問題でしょ。
0884879
2010/02/14(日) 21:58:05ID:9DOaOyQ2SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 )
DrawGraph(・・・ // 普通の画像
が処理を重くしてる原因だったので、これを削ることにしました
ありがとうございます
龍神録というサイトを初めて知ったので、質問してよかった
>>883 ありがとうございます
0885名前は開発中のものです。
2010/02/15(月) 08:08:26ID:BUryD20y>873だが、色々な変形に対応させようと思うと結構面倒だな。引数も増えるし。
回転と拡縮だけにしてしまうか。
……とここまで書いて、
画像クラスを作ってしまえば簡単だということに気づいた。
0886名前は開発中のものです。
2010/02/15(月) 20:26:12ID:ccjc3ij8最後にその4点にあわせてDrawModiGraphするってのが汎用的で記述もわかりやすくていいんじゃね?
どっかからできの良い数学ライブラリ持ってきてもいいし
回転拡大スライド程度なら簡単な行列計算だけに絞れるから自分で作ってもいい
0887名前は開発中のものです。
2010/02/15(月) 20:55:41ID:BUryD20y>>886
結局のところ、妥協して回転、拡縮、左右/上下反転の3つだけ関数にしたんだが、
どっちかっていうと、コーディングよりも設計に悩んでた。
変形する順番によって最終的な結果が変わる場合があるから、
それらに対応しようとすると、その分だけ引数も増えるわけで、結果として使いにくい関数になっちゃうのよね。
で、画像をクラスにして
ImageClass img;
//中略
img.rotate(3.14); //180度回転
img.extend(1.0,2.0); //縦2倍
img.rotate(1.57); //90度回転
img.draw(0,0); //0,0に描画
とかでも良かったかな、と思った。
0888名前は開発中のものです。
2010/02/15(月) 21:00:03ID:K58uOKXK・上の基準点が実際に描画される位置
・基準点を中心としたスケール
・基準点を中心とした回転角度
で十分だと思うけど
0889名前は開発中のものです。
2010/02/15(月) 21:57:09ID:BUryD20yそれだけで引数7つあるぜ?
各変形の優先度を決める(もしくは同じ変形を複数回行う)とか、
回転と拡縮以外の変形も出来るようにするなら、どれだけ増えるんだ。
0890名前は開発中のものです。
2010/02/15(月) 22:01:20ID:8F/ucvej基点となる座標が変われば別だが
0891名前は開発中のものです。
2010/02/15(月) 22:17:52ID:BUryD20yゲームの都合上、縦横で別々に拡大率を設定できるようにする必要があった。
正方形を、90度回転させてから、横に2倍
□□ → ■□ → ■■□□
■■ → ■□ → ■■□□
横に2倍にしてから、90度回転
■□
□□ → □□□□ → ■□
■■ → ■■■■ → ■□
■□
みたいに変わる。
0892名前は開発中のものです。
2010/02/15(月) 22:23:00ID:8F/ucvejそれって渡す引数のほうを工夫すればいいんでねーの
二つ目は90度回転してから縦に二倍しても同じものを得られるわけだし
DrawExRotaGraph2(int x,int y,int cx,int cy,double ExtRateX,double ExtRateY,double Angle,int GrHandle,int TransFlag,int TurnFlag);
10個だな
0893名前は開発中のものです。
2010/02/15(月) 22:29:12ID:BUryD20y質問、90度以外でも渡し方次第で出来る?
0894名前は開発中のものです。
2010/02/15(月) 22:31:47ID:8F/ucvej出来るんじゃね
0895名前は開発中のものです。
2010/02/15(月) 22:57:23ID:ccjc3ij8それに回転と伸縮どっちが優先か見た目に明らかじゃないのも気になる
0896名前は開発中のものです。
2010/02/16(火) 00:28:56ID:ytIVItbu0897名前は開発中のものです。
2010/02/16(火) 03:07:21ID:JDL3KQO6こんな感じでどう?
http://gamdev4.hp.infoseek.co.jp/cgi-bin/up/No_0079jpg.html
0898名前は開発中のものです。
2010/02/16(火) 04:51:49ID:iDbvu+FE( ゚д゚)ポカーン
0899名前は開発中のものです。
2010/02/16(火) 05:23:23ID:g5MLEwas0900名前は開発中のものです。
2010/02/16(火) 06:40:46ID:OQUeahIO0901名前は開発中のものです。
2010/02/16(火) 09:20:21ID:aK6xRRB6そういう力技、嫌いじゃないぜw
0902898
2010/02/16(火) 10:16:29ID:JDL3KQO60903名前は開発中のものです。
2010/02/16(火) 10:17:15ID:JDL3KQO60904名前は開発中のものです。
2010/02/16(火) 11:28:24ID:iwCPzVGwマニュアルには
> StrLen として文字列の長さをわざわざ指定する ようにしたのは色々な側面から見て文字列の長さを指定できるよう にしたほうが良いと思ったからです。
と書いてありますが、どういうケースで指定が必要になるのか想像がつきません。
0905名前は開発中のものです。
2010/02/16(火) 12:41:35ID:ghUeZnk+DXライブラリの作者さんがそう考えただけで、別に必要なければ使わなければいいだけでは?
例を挙げておくとこんな感じ。第二引数は指定できなくても書けるけど複雑になってしまう。
char Str[] = "今日もいい天気だ";
int MaxWidth = 50; // この幅に収まるように描画したい
int MaxChar = 0; // MaxWidthに収まる最大文字数
for( int i = 0; i < strlen(Str); i++ )
{
StrWidth = GetDrawStringWidth( Str , i ) ;
if(StrWidth < MaxWidth)
{
MaxChar = i ;
}
}
Str[MaxChar] = '\0' ;
DrawString( 0 , 0 , Str , GetColor( 255 , 255 , 255 ) ) ;
0906名前は開発中のものです。
2010/02/16(火) 12:56:47ID:iwCPzVGwなるほど、理解しました。
0907名前は開発中のものです。
2010/02/16(火) 13:02:27ID:JDL3KQO6メニュー画面だったかな。文字列をセンタリングして表示するのに利用した。
文字列の前後に空白や記号がある場合、
それらも含めた文字数で横の長さを決めると、ちょっとズレて見えることがある。
……ぶっちゃけた話、
他にも方法は色々あるだろうとか、メニュー画面くらい画像にしろよとか思うので
使う機会はあんまり無い気がする。
0908名前は開発中のものです。
2010/02/16(火) 17:38:15ID:S7mGVY2n0909名前は開発中のものです。
2010/02/16(火) 21:28:56ID:QXMNjoNkDrawModiGraph()とアフィン変換
アフィン変換 クラスでググるといいかもしれない
0910名前は開発中のものです。
2010/02/16(火) 22:33:22ID:7n/4grghデバッグ文表示で最後まで表示しないで途中で切ることとかよくあるんじゃね?
0911名前は開発中のものです。
2010/02/16(火) 23:25:40ID:b96KcuEjでもこれってソースになる元画像を読んでからやるの?格納してからメモリ上の画像をハンドルで指定して操作したりできるんだろうか
0912名前は開発中のものです。
2010/02/16(火) 23:50:46ID:QXMNjoNkDrawModiBillboard3Dのがいいと思う
0913名前は開発中のものです。
2010/02/17(水) 00:19:59ID:BMwZx7QFいや自分は873ではないんだけれども、参考になったので書かせてもらった。横槍すまんね
DrawModiBillboard3Dって左右反転できるのか。x1を右上の座標、x2を左上の座標、x3とx4も同様に交換ってやれば反転するのかな?
0914名前は開発中のものです。
2010/02/17(水) 02:18:28ID:V7zWpnOB例えば 「ドッギュウン」て音声のファイルがあったとする。
そのファイルを使って単発発射で「ドッギュウン」、連射で「ドッドッドッドッドッギュウン」ってなカンジにしたいんだけど
音声の再生中かを CheckSoundMemで調べて、再生してなかったら再生してもヨシってすると案の定
「ドッギュウン・ドッギュウン・ドッギュウン・ドッギュウン」ってカンジになってしまう。
なので、ソレをナシにすると1ループごとに再生するんであまりにも早くて
「ドドドドドドドドドドッギュウン」ってカンジになる。
音声の再生位置を調べて、ある程度達してたら再生ってやろうと思ったけどそんな関数は無かった。
だから適当に変数用意して3ループ目ごとに再生ってカンジにしようとしているんだけど…(ゴチャゴチャする気もするが)
一般的なゲームの場合ってこういう時どうしてるの?
音声を二つ「ドッドッドッド」「ドッギュウン」用意して、ボタン押しっぱなし時は「ドッドッド」、離す・もしくは一押しの時は「ドッギュウン」とか?
0915名前は開発中のものです。
2010/02/17(水) 02:32:31ID:ccv1Zplj離したら「ッギュウン」でいいんじゃねーの?
0916名前は開発中のものです。
2010/02/17(水) 05:47:58ID:9a0E55gk弾の発射間隔を広げるか、数発ごとに発射音を鳴らすようにすればいいじゃん
0917名前は開発中のものです。
2010/02/17(水) 06:26:15ID:CMLdNZJwそのカウンタが条件を満たしたとき音を鳴らせばいいんじゃないの?
1ループごとだと早すぎるんなら1おきにするとかもできる。
0918名前は開発中のものです。
2010/02/17(水) 08:34:48ID:MHINozGj自前で変形させるなら、2Dでも3D(ビルボード)でも大差なくない?
0919名前は開発中のものです。
2010/02/17(水) 13:16:50ID:WoQHqNkiFFのデータ見たら、あらかじめ重なった時の効果音も
組み合わせごとにいっぱい入ってて、意外だった
とかいう話を、どこかのスレで見たような、見なかったような。
手間と配布方式とかによって変わってきそう。
0920名前は開発中のものです。
2010/02/17(水) 19:53:18ID:b05sIrPrカメラ使って視点操作で楽できるからじゃね?
0921名前は開発中のものです。
2010/02/17(水) 21:17:38ID:MHINozGjカメラで視点操作ってことは、一括だよな。
メリットでもあるしデメリットでもあるという感じか。
0922名前は開発中のものです。
2010/02/17(水) 22:06:32ID:BMwZx7QF前にDrawBillboard3DをDrawModiBillboard3Dにそのまま置き換えてみたら同じ位置に描画されなかったから使うのやめちゃったんだけど
0923名前は開発中のものです。
2010/02/17(水) 22:17:31ID:V7zWpnOB多彩な案サンクス!やってみるよ俺
0924名前は開発中のものです。
2010/02/18(木) 02:17:33ID:artpUogbDrawModiGraphで左右反転は入れ替えで普通にできたよ。
アフィン変換の使いやすそうなクラス公開してたりするし、よくわからんまま使えそうだ。
0925名前は開発中のものです。
2010/02/18(木) 16:24:17ID:wXmsheL/例えば、画像描画や文字列描画を組み合わせて描画する物である「メニューウインドウ」をバッファに描画して、
それを透過やら拡大縮小してスクリーンに描画したいです。
0926名前は開発中のものです。
2010/02/18(木) 16:47:24ID:S5tbEoCahttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1533
これでどう?
0927名前は開発中のものです。
2010/02/18(木) 17:21:51ID:wXmsheL/まさに求めていたものはこれです。
ありがとうございました。
0928名前は開発中のものです。
2010/02/18(木) 18:10:44ID:UX2j7dSOレイヤーシステムどうやって作るのか悩んでたところだよ
0929名前は開発中のものです。
2010/02/18(木) 18:19:30ID:sI5JnKeCSoftImageにも転送付いてたような
0930名前は開発中のものです。
2010/02/18(木) 18:37:31ID:UX2j7dSO0931名前は開発中のものです。
2010/02/18(木) 18:41:04ID:yr41/JmBの右側の魔法陣みたいな斜めにして回転、みたいな変換・表示するのにはどうすればいいかわからない・・・。
というか、アフィン変換した画像というか、DXライブラリでどうアフィン変換利用すれば良いかわからないんだけど、
誰か分かる人頼む・・・。
0932873=897
2010/02/18(木) 19:07:00ID:7/BIGMNaおかしいな、大学は理系だったはずなんだけどなー。
行列なんて普通に使ってたはずなのに…… orz
0933名前は開発中のものです。
2010/02/18(木) 19:28:11ID:wsPY0Q5n斜めにして回転って2Dでやるほうが難しいんじゃないかな。
DrawModiBillboard3Dってカメラ関数使って斜めから見れるん?
>>897の魔方陣のように傾けて見れるならなんとかなりそうだけど。
0934名前は開発中のものです。
2010/02/18(木) 19:30:18ID:sI5JnKeC解くのは別にコンピュータがやればいい。大切なのは解き方
0935名前は開発中のものです。
2010/02/18(木) 19:40:26ID:UX2j7dSO最近はそういうゲームも結構あるよね
0936名前は開発中のものです。
2010/02/18(木) 19:43:40ID:cSNnQmS/0937名前は開発中のものです。
2010/02/18(木) 20:41:03ID:S5tbEoCaつまり、画像を2回回転させて描画したいっていうことだよね?
DrawModiBillboard3D関数の引数x1, y1〜x4, y4に各頂点を2回回転させた座標を指定すればいけると思う。
ビルボードじゃなくてモデルとして扱った方が簡単なような気もするけど・・・
0938名前は開発中のものです。
2010/02/18(木) 20:49:00ID:7/BIGMNa自分みたいに3Dサッパリな人間には、モデルデータを用意するだけでハードルが高いからなあ。
そうなると、従来の画像で扱えるビルボードの方が良さそう。
あとは動的に画像を生成するような場合(スクリーンショットとか)にも向いているかもしれない。
モデルデータを使わずにやるなら、素直に2Dでも良いわけだが。
0939937
2010/02/18(木) 20:57:50ID:S5tbEoCa引数x1, y1〜x4, y4は2次元の変形しか指定できないし、DrawBillboard3D関数にはある引数Angleも無いので3次元の回転は無理そうです・・・
モデルにすればMV1SetMatrix関数で自由に変形できるんだけど・・・
>>931の作ってるゲームは2Dなの?
それなら斜めに傾いている画像を使って下さいw
0940名前は開発中のものです。
2010/02/18(木) 21:04:10ID:UX2j7dSO0941名前は開発中のものです。
2010/02/18(木) 21:07:33ID:cSNnQmS/一部でしか使わないならそのために複雑な仕組み作りたくないでしょ
0942名前は開発中のものです。
2010/02/18(木) 21:07:35ID:7/BIGMNa0943名前は開発中のものです。
2010/02/18(木) 21:43:03ID:6a8jaVSbメタセコなら普通に使えた
0944名前は開発中のものです。
2010/02/18(木) 22:34:17ID:7/BIGMNa3Dとかアフィン変換とかサッパリなので2Dで。
http://gamdev4.hp.infoseek.co.jp/cgi-bin/up/No_0080zip.html
0945名前は開発中のものです。
2010/02/18(木) 23:17:57ID:yr41/JmBマジ感謝・・・なんだが、サンプルコードなくて使い方を迷う
0946名前は開発中のものです。
2010/02/18(木) 23:44:29ID:7/BIGMNaextRate_xとextRate_yに1、hImgにグラフィックハンドル、残りの引数には0でも入れてくれれば
とりあえず動くと思う。
0947名前は開発中のものです。
2010/02/19(金) 00:27:45ID:u7/N0T5pvoid DrawExRotaGraphF(float ex, float ey, float xScale, float yScale, float Angle, int GrHandle, int TransFlag, int TurnFlag) {
int gx,gy;
float ix,iy,ca=cos(Angle),sa=sin(Angle);
GetGraphSize(GrHandle,&gx,&gy);
gx*=xScale/2; gy*=yScale/2;
VECTOR2D pos[4] = { { -gx, -gy}, { +gx, -gy}, { +gx, +gy}, { -gx, +gy} };
for (int i=0;i<4;i++) {
ix = pos[i].x*ca - pos[i].y*sa;
iy = pos[i].x*sa + pos[i].y*ca;
pos[i].x=ix+ex; pos[i].y=iy+ey;
}
if (!TurnFlag) DrawModiGraph((int)pos[0].x, (int)pos[0].y, (int)pos[1].x, (int)pos[1].y,
(int)pos[2].x, (int)pos[2].y, (int)pos[3].x, (int)pos[3].y, GrHandle, TransFlag);
else DrawModiGraph((int)pos[1].x, (int)pos[1].y, (int)pos[0].x, (int)pos[0].y,
(int)pos[3].x, (int)pos[3].y, (int)pos[2].x, (int)pos[2].y, GrHandle, TransFlag);
}
ていうかこのくらいDXライブラリも用意して欲しいところだが
0948名前は開発中のものです。
2010/02/19(金) 00:28:54ID:u7/N0T5p/* 2D用行列 */
typedef struct VECTOR2D {
float x,y;
} VECTOR2D;
まあ使わなくても二次元配列なりで出来るけどね
0949944
2010/02/19(金) 00:43:49ID:zmDX76mUこれって何か上手く使えないかな。
公式BBSだと、マスク処理に使うって話があったけれど…
>>947
やってることは自分と同じ…かな? たぶん。
そっちの方がシンプルなコードだがw
0950名前は開発中のものです。
2010/02/19(金) 01:11:24ID:u7/N0T5p同じだね
縮小拡大前に回転するかしないかってのは入れる値を変えれば出来るし、縦の反転は180度回転させた後に左右反転すれば再現可能
自分はこれをよく使うので最低限のものだけを入れて、必要に応じてラッパー関数を使えばいい(まあこれ自体もmodiのラッパーだけど)
0951名前は開発中のものです。
2010/02/19(金) 01:32:26ID:zmDX76mU回転させてから拡大(縦横別倍率)ってどうやるの?
0952名前は開発中のものです。
2010/02/19(金) 01:36:21ID:u7/N0T5p0953名前は開発中のものです。
2010/02/19(金) 02:17:39ID:zmDX76mU0954名前は開発中のものです。
2010/02/19(金) 10:00:47ID:vzeC0aMv行列があるんだと思うが・・・行列を使わないなんて無駄に複雑になるだけだよ。
0955名前は開発中のものです。
2010/02/19(金) 12:10:45ID:zmDX76mU計算部分を自前でやってるだけで、やってることそのものは変わらない気がする
0956名前は開発中のものです。
2010/02/19(金) 13:25:42ID:zmDX76mU画像処理の入門書を読んでるんだが
(1)自前で行列(回転用行列、拡大用行列など)を用意
(2)それらを掛け合わせて、最終的な変形用の行列を作る
(3)変形用行列を関数に渡す
…みたいな感じだった。
行列をクラスにして、演算子のオーバーロードで簡単に加算や乗算が出来るようにするとか
そういう工夫がされているようだ。
あと、公式BBSでこんなの見つけた
http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=past&no=1033
0957名前は開発中のものです。
2010/02/19(金) 13:34:25ID:G1VFwFwU0958名前は開発中のものです。
2010/02/19(金) 13:37:37ID:gvWv62bYクラス公開されててちょっといじれば簡単に使えるのとかあったぞ
行列うんぬんよりクラスがわからんとか?
0959名前は開発中のものです。
2010/02/19(金) 14:02:46ID:az/+pLVO長方形の画像を自由変形して描画するアルゴリズムはいったいどうやって実装されてるんだろう
ピクセル単位で全部写像してたらすごく遅くなりそうだが他に方法も浮かばない
0960名前は開発中のものです。
2010/02/19(金) 14:11:57ID:uvqEn+/2アルゴリズムとかいう次元じゃない
0961名前は開発中のものです。
2010/02/19(金) 14:17:06ID:zmDX76mU3Dの方はあんまり見てなかったぜ。
これから勉強しないとな…。
>>958
クラスが分からないとかは流石に発想が飛躍しすぎじゃね?
>>959
テクニカルな最適化や、誤魔化しとかはやってるかもしれないけど、
基本的なやり方は同じで、あとはハードウェア様による力技なんじゃない?
0962名前は開発中のものです。
2010/02/24(水) 03:58:01ID:qZkPMJuPLoadGraphを使う関数を繰り返し呼び出してると
例外が出て強制終了することがある
具体的には、
main(){
:
:
shop->open();
}
とメインの関数からクラスのメンバ関数を呼んだとき、
openを十回くらい呼び出すと、openを呼んで最初に出てくるLoadGraphで強制終了する
open内で何度もLoadGraphを呼び出しているが、最初のLoadGraph以外で強制終了したことはない
他のまったく別のクラスのメンバ関数でも、二回目に呼び出したときに
最初のLoadGraphで強制終了するので、
openでなくLoadGraphに問題があると思うんだけど
そもそもどういう状況でLoadGraphが例外出すか分かりませんか?
メモリ使用量を見る限りメモリリークなどはない
ちなみに使ってるのはBcc版
0963名前は開発中のものです。
2010/02/24(水) 04:03:15ID:qXzrwIFO0964名前は開発中のものです。
2010/02/24(水) 07:32:26ID:Jsc/BFjh読み込んでる画像はどんな画像? ファイルサイズとかフォーマットとか。
メモリリークかどうかもどんな環境でどれくらいのサイズの画像を読み込んでるのか教えてくれないとこっちでは判断できない
もっと詳しく
0965名前は開発中のものです。
2010/02/24(水) 09:49:28ID:RLyfmrNj0966名前は開発中のものです。
2010/02/24(水) 09:53:22ID:KFJm0GRxどういう状況で例外出すってエラーメッセージに全部書いてあるだろうが
レス数が950を超えています。1000を超えると書き込みができなくなります。