トップページgamedev
1001コメント322KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2009/03/31(火) 01:14:36ID:IgyJcgap
Cを習得した程度のスキルでも、
GUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。

DXライブラリの詳細ついては
http://homepage2.nifty.com/natupaji/DxLib/
を参照して頂きたい。

DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

過去スレ:DXライブラリ 総合スレッド
      http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
     DXライブラリ 総合スレッド 2008
      http://pc11.2ch.net/test/read.cgi/gamedev/1224923873/
0798名前は開発中のものです。2009/07/28(火) 13:20:14ID:aQj264s2
>>797
逃げたんじゃないか?
大学中退するやつだし
0799名前は開発中のものです。2009/07/28(火) 19:50:25ID:lbcOkIrb
DX3DってD3DXと紛らわしいな。
3D描画をDXライブラリみたいに単純化するのは無理。3D描画のフレームワークは
D3DXで十分。それ以上やるとライブラリの独自色が付く。
2DもD3DXSpriteで構わないし、ちょっと調べればテクスチャにαの付いた板ポリを
D3DXで描画する方法はいくらでも出てくるけど。
DirectX6はDreamcast向け、DirectX8はXbox向けに作り直されてる訳で、そのまま
でも十分行けるライブラリ。DXライブラリの最大の意義は、WinMainのすっきり感
だと思う。
0800名前は開発中のものです。2009/07/28(火) 20:50:59ID:LTJXvZ7v
本家の名前の紛らわしさに比べたら…

DXライブラリでも使えよ!って言われて固有名詞だとは夢にも思わず
なかなか存在に気付けなかった俺
0801名前は開発中のものです。2009/07/28(火) 20:52:30ID:bkreYxYW
3Dなんかいくら敷居を下げたところでDXライブラリしか使えないような子には扱えないよ
ゲームフレームワークみたいな方向に簡単にするなら別だけども
0802名前は開発中のものです。2009/07/28(火) 21:36:50ID:C3k1GCCB
あの・・・
流れを断ち切った横レスなんですが、
C言語+dxlibで作ったプログラムをC++のクラスってのを使って
まとめようと思い、メインループを書いてみたんですが、
書き方があっているのかすごく不安なのでお聞きしたいと思いました。

もし、スレチならいいスレ教えて・・・
よし!見せてみろ!ならソース張る。
0803名前は開発中のものです。2009/07/28(火) 21:37:39ID:lZJGMEL/
DXライブラリに親でも殺されたのか
0804名前は開発中のものです。2009/07/28(火) 21:43:58ID:LTJXvZ7v
>>802
ヨシみせてみろ
08058022009/07/28(火) 21:52:18ID:C3k1GCCB
ワーイ ID GCCってw

#include "GV.h"

int WINAPI WinMain(
HINSTANCE hI,HINSTANCE hP,
LPSTR lpC,int nC
)
{
ChangeWindowMode(TRUE);
if(DxLib_Init() == -1) return -1;
//↓このあたりがめっちゃ不安なのですが。
Flame* T = new Flame;
//
SetDrawScreen(DX_SCREEN_BACK);

//MainLoop()内で処理を書いてます
while(!(ProcessMessage()) && !(CheckHitKey(KEY_INPUT_ESCAPE))
&& (T -> MainLoop()) && !(ScreenFlip()) && !(ClsDrawScreen()));
//
DxLib_End();
return 0;
}

ヘッダファイルも見てもらえるのなら・・・・☆彡ってレスしてくらさい

0806名前は開発中のものです。2009/07/28(火) 22:00:28ID:bkreYxYW

それだけならそんなにおかしいところはないと思う
細かいどうでもいいことを突っ込ませてもらうと,


FlameじゃなくてFrame
あと大文字一字の変数名はやめてくれ紛らわしい
08078012009/07/28(火) 22:09:21ID:C3k1GCCB
フレイム・・・フレーム・・・
一文字違いが大違いでした・・・
参考にした本(セガ本?)にそういう記述があったのでつい (Tの件は)

T* <=この変数を使う場合

T->A
T->B
とか、
for(int i=0;i<1000;i++){
T-> X[i]
}
みたいに変数の中身をwhileの中で更新しまくっても問題ないですか?
0808名前は開発中のものです。2009/07/28(火) 22:10:29ID:YL4nqTsX
ゲームプログラマーになる前に〜ってタイトルの本か
0809名前は開発中のものです。2009/07/28(火) 22:14:47ID:C3k1GCCB
そうです。
ちなみに2章を読み始めてから進まないまま二ヶ月目
0810名前は開発中のものです。2009/07/28(火) 22:16:24ID:bkreYxYW
>>807
ダメダメ
それならCの構造体と変わらない
クラスの外からメンバ変数にアクセスするのは避ける
クラスっていうのは,外からはボタンを押すだけで中で勝手に処理してくれる
便利な機械みたいな感じ(そういう風に作るのが理想)
0811名前は開発中のものです。2009/07/28(火) 22:19:08ID:TfpzHMPf
先にEffectiveC++とデザインパターンの本読むべき
0812名前は開発中のものです。2009/07/28(火) 22:26:10ID:bkreYxYW
クラスを利用したこともないのにいきなり作れるわけがない
ためしに他の人が作ったC++のクラスライブラリを触ってみればいいんじゃない
ゲームエンジンならSeleneとか
英語大丈夫ならIrrlichtなんかも簡潔でおすすめ
どういう風にクラスを使えばいいのかわかるよ
08138022009/07/28(火) 22:29:42ID:C3k1GCCB
なるほど。。

本高い・・・。
すでに
14才から・・・、
OS自作・・・
やさしいC・・・
よくわかるC・・・
IP!
Cプログラミング講座、
アルゴリズムマニアックス、
はじめてのアルゴリズム入門、
とかの本を買っては進めないところがあって止まるを繰り返してもう資金が・・・

来月余裕があったら買ってみます。
0814名前は開発中のものです。2009/07/28(火) 22:31:58ID:TfpzHMPf
買う前に一冊読みきれwww
それか図書館だな
08158012009/07/28(火) 22:35:44ID:C3k1GCCB
これだけ本読んだらもしかしたらオレゲーム作れるんじゃね?
と勘違いして作り始めたのさ!

もう・・・タイムリミットがちかずいている・・・・・・
やつが・・・・来る!
0816名前は開発中のものです。2009/07/28(火) 22:36:54ID:LTJXvZ7v
マクドに注文する側がバイトのシフトとかパンズの在庫を気にしちゃ駄目だぜ
08178022009/07/28(火) 22:41:24ID:C3k1GCCB
>>815
そういうことなのか!

なんかよくわかった気がしました。
クラスの中で処理を完結すればいい感じになれるってことですね♪ 

アレ?ッてことは今書いるプログラムは・・・・

0818名前は開発中のものです。2009/07/28(火) 22:50:21ID:lbcOkIrb
スタックフレームとヒープとスタティック領域が分かってないとC/C++は辛い。
どっかに親切な解説ねーかな。ここじゃ正直めんどい。

とりあえず今から風呂→ネトゲでギルド潜りするんで、一分でそれっぽいとこ探して
おいた。
ttp://gihyo.jp/dev/serial/01/antique_assembler
初心者に分かるかはシラネ。でもこれが分かればCのメモリでつまづくことはたぶん
無くなりそうな記事に見えた。15秒くらいしか読んでないけど。
0819名前は開発中のものです。2009/07/28(火) 22:55:24ID:lbcOkIrb
すまん、面白そうなんで↑の記事をちょっと読んでみたが、初心者でWindows環境だと
素直に読めるもんじゃないかも。
ある程度「ふんふんそんなもんか」って飛ばし読みするには悪くないとは思うけど、
真面目にサンプルコードを走らせたりするタイプだと微妙にきつそう。
0820名前は開発中のものです。2009/07/28(火) 22:57:31ID:bkreYxYW
あんまり低レベルなことは気にしなくていいと思うよ
オブジェクト指向をちゃんとやりたかったらJavaのような
思いっきり抽象的な世界でリフレッシュした方がいいかもしれない
ゲーム作るのだって簡単
0821名前は開発中のものです。2009/07/28(火) 22:58:28ID:C3k1GCCB
えっと・・・
関数を呼び出したときには元の場所に帰ってくるための情報が
どこかよくわからないない場所に
スタックの構造をした形でつまれているんだよ、ってこと?
0822名前は開発中のものです。2009/07/28(火) 23:11:05ID:lZJGMEL/
しかしゲームを作るのにそれほど必要ない知識なのであった
0823名前は開発中のものです。2009/07/28(火) 23:14:09ID:C3k1GCCB
java・・・・
とりあえずおいらゲームを作って見るよ!
クラスの中でクラスを宣言したりnewする方法がまったく理解出来ないけど。
時間切れなので・・・ノシ


ご指導ありがとうございました!
0824名前は開発中のものです。2009/07/28(火) 23:29:31ID:0RhUYUoP
さて、そろそろD言語に手を出そうか…
0825名前は開発中のものです。2009/07/28(火) 23:32:38ID:LTJXvZ7v
そして一向にゲームが完成しない罠
勉強もいいけど取り敢えずサクッと作った方がよいかも
0826名前は開発中のものです。2009/07/28(火) 23:40:38ID:gMpP2gLw
上から降ってくる「モノ」を、ただひたすら画面下部で避けるだけのゲームとか、そういうの?
0827名前は開発中のものです。2009/07/28(火) 23:45:05ID:C3k1GCCB
あら??
ニコニコ動画にうpしたのならあるけど・・・・
それよりヘッダファイル見る?
0828名前は開発中のものです。2009/07/28(火) 23:53:41ID:KFmBMjPZ
見てあげないこともない
0829名前は開発中のものです。2009/07/29(水) 00:07:48ID:6Y8+8XuP
ttp://www.nicovideo.jp/watch/sm7736340

とりあえず張ってみる。
これ以上スレすると荒らしになってしまいそうな気ガスる
0830名前は開発中のものです。2009/07/29(水) 00:22:10ID:sFXJxN65
つーか、やろうとしてることから考えると、ちゃんとメモリの意味が分かってないと
トンチンカンになる。
余計なことやろうとせず、意味の分かってる仕様だけ使っていればいい。いわゆる
better CとしてのC++。newとか罠満載なものにやたらと触らない。
0831名前は開発中のものです。2009/07/29(水) 00:37:52ID:1WJmBm/8
俺は昔アセンブラかじったことあったからメモリの意味はある程度わかってるつもりだったが、
最近までポインタが理解できずに使えなかった……。

どっかのサイトで「int *p」は「int* p」だって書いてあるのを読んでやっと少しだけわかった気がした。

「なんで *p で宣言してるのに使うのは p なんだ???」とずっと疑問だった。

Cって俺にはわかりづら過ぎる……。わかる奴凄い。
0832名前は開発中のものです。2009/07/29(水) 00:46:49ID:e3ckjdq+
>>831
68系のアセンブラを知っていればポインタを知っているとおもう。

ここを読んでみなさい。C++について詳しく解説してある。
http://www.asahi-net.or.jp/~yf8k-kbys/
0833名前は開発中のものです。2009/07/29(水) 02:17:12ID:IM9p+Dbm
ポインタなんて最初あまり分からずに大分年月経ったらやっと分かり始めた
いろいろ試行錯誤とか苦労しないと分からないのでは
話変わるがちょっと上のレスに関連することだが俺結構メンバ公開にして外からアクセスしてた
何かアクセサ使うとその分遅くなるような気がしてしまうんだよなあ
0834名前は開発中のものです。2009/07/29(水) 04:42:03ID:sFXJxN65
ぶっちゃけアセンブラが分かってれば、ソフトウェアレベルの出来事なら一番下の構造
から透けて見えるから、ポインタなんかは概念も挙動も一発で飲み込める。
下の構造が見えないと、どんな処理が速いとか遅いとか効率いいとか悪いとかは経験の
繰り返しで飲み込むしか無いけど、下から見えていれば論理的に自然に飲み込める。
だが、アセンブラを理解する段階での苦労が大きいし、今のご時世でどんだけ報われる
かは自信ないからお勧めもしない。
とは言っても、昔は「まずアセンブラで」とか「BASICかアセンブラしか開発環境は
ありません」とかが普通だったから、そこまで難しいもんでも何でもないけどな。
0835名前は開発中のものです。2009/07/29(水) 05:06:48ID:KJv9oy2N
アセンブリ言語自体はそらもう単純なもんだからな
ただ今のプログラミング環境に慣れ親しんでると、ちょっとした事すら書くのが面倒ってだけで
0836名前は開発中のものです。2009/07/29(水) 06:22:35ID:gEGcx4CR
newとかdeleteとか
必要性がよくわからなくて結局殆ど使っていない。

使った方がカッコいいんだろうけど
0837名前は開発中のものです。2009/07/29(水) 07:15:08ID:cb/+Lg0n
動的に確保するときだけ使ってる
0838名前は開発中のものです。2009/07/29(水) 09:17:36ID:IM9p+Dbm
俺も必要性よく分らなかった時は使わずにやってた
使い方覚えたら結構便利だ
すぐでなくともそのうち覚えればいいんじゃないか
0839名前は開発中のものです。2009/07/29(水) 10:34:12ID:jVZkfrqg
使わないでなんとかできてると
覚えようとしないんだよなぁ……。

プログラム言語の解説サイトとかで命令の説明とかはいくらでも読めるけど、
「ゲームを作る際にこうやって使ったら便利!」とかまで書いてある事ないじゃん?
だから「ふーん」で終わっちゃうんだよね……。

いや俺が不勉強なのはわかってるんだが。
0840名前は開発中のものです。2009/07/29(水) 10:40:16ID:p52lIH/W
必要になったときに学ばないと覚えないんだよなぁ……
ポインタもメモリの確保もよく分からなかったけど、
一度必要になってから調べなおしたら結構使いこなせるようになった
0841名前は開発中のものです。2009/07/29(水) 11:05:54ID:IM9p+Dbm
俺もテンプレート使う気なかったけどある時どうしても使う必要に駆られて使ってみたらすんなりいって便利だったなあ
まあ使わないでいけるんならいいんじゃまいか
0842名前は開発中のものです。2009/07/29(水) 11:45:25ID:oi3ivzjY
C++は文法習得〜良いコーディングの間が長すぎる
いろいろ覚えるとC++のほうがゲーム作りやすく感じるんだけどな
0843名前は開発中のものです。2009/07/29(水) 13:08:33ID:B4ng0Zvn
Javaだと手軽にクラス使えるから結構細かいこともクラス使って実装したりするけど
C++はクラスが使いにくくて返って面倒になったりするからつい細かいことはC風に書いてしまう
0844名前は開発中のものです。2009/07/29(水) 13:15:13ID:tcSJ+b5u
STLはすげー便利
08458432009/07/29(水) 13:17:37ID:B4ng0Zvn
いや出来合いのクラスを使うのはいいんだけど
作るのがめんどくさいんだよね
0846名前は開発中のものです。2009/07/29(水) 13:47:45ID:IM9p+Dbm
そもそもJavaはクラス使わずに書けないのでは
0847名前は開発中のものです。2009/07/29(水) 13:54:50ID:B4ng0Zvn
そりゃもちろんそうだけど,「すべての変数や関数がクラス内に収められている必要がある」
というだけのことであって,クラスを単なる名前空間と考えるならCと変わらん
クラス使ったからってオブジェクト指向になるわけじゃない
0848名前は開発中のものです。2009/07/29(水) 14:11:50ID:p52lIH/W
まあ、intだってクラスだし、C++は設計的に変数は全部クラスっちゃクラス

さまざまな動きするものをまとめて管理するにはクラス使う方がラクだと思う
シューティングの弾とかRPGのNPCとか。
というか俺はクラス使った半オブジェクト指向でしかゲーム作れなかったりする
0849名前は開発中のものです。2009/07/29(水) 14:20:10ID:gEGcx4CR
JAVAでひとつのクラスの中に全ての処理を
手続き型で書いちゃうプログラマを思い出した。
0850名前は開発中のものです。2009/07/29(水) 14:22:40ID:mG6Pind/
ああ、俺がやりそうだな、そういう事。
0851名前は開発中のものです。2009/07/29(水) 14:53:37ID:KJv9oy2N
>>848
>まあ、intだってクラスだし
おいおいそれはJavaの事を言ってるんだろうな?
C++でのintはコンストラクタもデストラクタも持たないPODだが
0852名前は開発中のものです。2009/07/29(水) 15:03:26ID:cAIJJmev
Javaのintはプリミティブ・・・
0853名前は開発中のものです。2009/07/29(水) 15:05:31ID:KJv9oy2N
>>852
すまん
Javaの事>Javaのintegerクラスの事
0854名前は開発中のものです。2009/07/29(水) 15:05:32ID:B4ng0Zvn
Javaでもintはクラスではなくプリミティブな値型
むしろJavaのほうがクラスとプリミティブ型の間に明確な振る舞いの違いがある
intをクラスの一種(正しくは構造体)として扱うのは.NETだな(C#やVB.NET)
0855名前は開発中のものです。2009/07/29(水) 15:09:10ID:cAIJJmev
Rubyもね
0856名前は開発中のものです。2009/07/29(水) 15:12:55ID:p52lIH/W
あれ?違ったっけ? と思ったら
C++では「intにもコンストラクタとデストラクタがある」ってのを間違えて覚えてたみたい……
恥ずかしい///
0857名前は開発中のものです。2009/07/29(水) 18:42:39ID:PJW2UirX
>>826
俺、それさえも途中で投げたんだが
0858名前は開発中のものです。2009/07/29(水) 19:09:50ID:QQ6cQOKX
>>857
まてまてまて。流石にそれは話にならんぞ。

料理が出来ないって人に、
「出汁とかその辺無視してもいいから、とりあえずお味噌汁から作ってみようか」
ってアドバイスして、無理って言われたようなもの。
0859名前は開発中のものです。2009/07/29(水) 20:04:55ID:DQFan6Z4
教えて偉い人
爆発とか衝撃波みたいなエフェクトを管理するクラスを作ったのよ
メンバ的にはコンストラクタとデストラクタと描画中かどうかのフラグ管理と実際に描画する関数といった具合
コンストラクタでエフェクト用の画像をメモリに読み込んでるんだけど
このクラスのオブジェクトを作る度にロードされるのが気持ち悪くてしかたない
画像リソースを読むところだけ外に出せないだろうか
0860名前は開発中のものです。2009/07/29(水) 20:14:58ID:p52lIH/W
前もって画像を読んでおいて、そのグラフィックハンドルを
コンストラクタでクラス内の変数に代入すればいいんじゃないの?
グラフィックハンドルってただの数値だし
0861名前は開発中のものです。2009/07/29(水) 20:29:24ID:RdHjB4sC
クラスAのコンストラクタで画像を読んで、
クラスBのコンストラクタでそのグラフィックハンドルを得るようにした場合、

どちらのコンストラクタが先に呼び出されるか分かりませんが問題ないですか
0862名前は開発中のものです。2009/07/29(水) 20:33:36ID:tcSJ+b5u
その場合クラスAは動的に確保しとくべきじゃないの
0863名前は開発中のものです。2009/07/29(水) 20:49:35ID:vU/WuoP5
// あらかじめ画像を読み込んでおく
Image *image = new Image("effect.png");

// 複数のインスタンスでハンドルを使いまわす
Effect *explode1 = new Effect(image->handle);
Effect *explode2 = new Effect(image->handle);
0864名前は開発中のものです。2009/07/29(水) 21:21:10ID:sFXJxN65
どこでdeleteするんだ?
0865名前は開発中のものです。2009/07/29(水) 21:31:15ID:cAIJJmev
画像管理するクラス作っておいて以前ロードしたものと同じものがあったらそれ使いまわす
0866名前は開発中のものです。2009/07/29(水) 22:04:56ID:oi3ivzjY
shared_ptrで画像を共有する
0867名前は開発中のものです。2009/07/29(水) 23:32:20ID:IM9p+Dbm
画像管理クラスなんて態々作らずメイン処理のクラスにハンドル持たしてるわ俺
そっからオブジェクトクラスに渡すのはそのハンドルのポインタにしてる
そうすれば途中でウィン→フルに変えるときとかもそのメインの画像読み込みメソッド呼び直すだけで済む
0868名前は開発中のものです。2009/07/30(木) 12:04:22ID:OvoMaJfI
ハンドラをスタティックにしちゃだめなのか?
0869名前は開発中のものです。2009/07/30(木) 12:18:43ID:OvoMaJfI
上げちまったすまね
むしろグローバルでハンドラを作れってことか
再利用性が皆無になるが
0870名前は開発中のものです。2009/07/30(木) 13:34:41ID:9rAtPdyT
コンストラクタで画像を読み込み+デストラクタで開放するだけのクラスImageを
そのステージで必要ならshared_ptrで読み込む
エフェクトを実際に使う箇所ではそのshared_ptrをコピーして使う
ステージを通して読み込みは1回だけで、コピーもshared_ptrのコピーだけですむから軽い
しかもステージが終わったら勝手に安全に開放される
何よりコードがすごい簡単で見やすくなる
ってじっちゃがいってたけど、俺GUIのゲームまだ作ったこと無いからわからねーわ
0871名前は開発中のものです。2009/07/30(木) 22:13:59ID:650NzX62
>>870とかを見るとさらに、
class ImagePool : noncopyable {
 typedef shared_ptr<Image> ImageSP;
 typedef unordered_map< wstring, ImageSP > ImageHash;
 ImageHash ih_;
public:
 ImageSP get( wstring name ) {
  ImageHash::iterator it = ih_.find(name);
  if ( it == ImageHash.end() ) {
   it = ( ih_.insert( make_pair( name, ImageSP( new Image(name) ) ) ) ).first;
  }
  return it->second;
 }
 void clear() { ih_.clear(); }
};
みたいな感じのも書きたくなるな。パフォーマンスどうなるかはシラネ。
0872名前は開発中のものです。2009/07/30(木) 22:20:25ID:650NzX62
ああ、もちろんステージの頭で必要そうなイメージはget()しまくっておくんだけどな。
ステージ始まってるのにいちいち止まってたらうぜーし。
0873名前は開発中のものです。2009/07/30(木) 22:20:35ID:hh3V9W8K
どうせステージ読み込むときに何回か呼ぶだけだろ
そんなもんにパフォーマンスもクソもあるかよ
0874名前は開発中のものです。2009/07/30(木) 22:24:47ID:650NzX62
参照時のパフォーマンスだぜ
まぁhash検索のとこが重いだけだから、何度も何度も何度も何度もshared_ptr拾い直す
ようなアホなことをしなきゃ問題無いだろうけど
つーかぶっちゃけ超絶やっつけだから先に言い訳で書いた>パフォ
0875名前は開発中のものです。2009/08/01(土) 14:00:04ID:QXWHJ91E
class effect
{
private:
int x,y,kasokudo,flag,type,r,g,b,xt,yt;
int static swgraph,slgraph,slgraph2,slgraph3,vcgraph,ptgraph,ptgraph2;
double angle,timer,spread;
public:
effect(){}
Load_resorce()

(中略)

~effect(){}
};

int effect::swgraph=0;
int effect::slgraph=0;
int effect::slgraph2=0;
int effect::slgraph3=0;
int effect::vcgraph=0;
int effect::ptgraph=0;
int effect::ptgraph2=0;

結局こんな解決に落ち着いたよ ありがとう
無理に外へ出さないでヘッダと画像ファイルだけ移植すれば使いまわせる方がいいかなと
画像ロードするメソッドを1回だけ呼ぶようにしてスタティックなハンドラへぬっこむ感じで
0876名前は開発中のものです。2009/08/01(土) 14:00:25ID:Qfg9axiN
ウィンドウとフルスクリーンの切り替えって、設定と読み込んだもの全部どこかに記録しておいて、切り替えた後に読み直さないといけないの?
0877名前は開発中のものです。2009/08/01(土) 14:02:27ID:QXWHJ91E
メモリに読み込んでたものは切り替えで開放しちゃうんじゃなかったっけ?
呼びなおすようにはしてる
0878名前は開発中のものです。2009/08/01(土) 14:09:47ID:hsxXyy+h
画像の情報とハンドルをラップするクラスを作るのがスマートかなあ
でもそういうことしだすと何のためにDXライブラリ使ってるのかいまいち分からなくなってくる
どうせラップするんだから中身は別に複雑でもいいよねみたいな
0879名前は開発中のものです。2009/08/01(土) 14:37:35ID:fM5CMo54
グラフィックを読み込む処理はひとまとめにしてる。

グラフィックを読み込んだ時にエラーだと-1が返ってくるそうだから、
グラフィックハンドルに-1はありえないって事で
各グラフィックハンドルの初期値は-1にしておいて、
-1でないやつだけを読み直すとかやってるな。
0880名前は開発中のものです。2009/08/01(土) 17:19:13ID:Qfg9axiN
ProcessMessageの返すエラーと×印を押した時の終了メッセージを見分ける方法
あるいは、右上の×印をクリックできないようにする方法はありますかね?
0881名前は開発中のものです。2009/08/01(土) 18:11:57ID:XBQ0j9Rg
×をクリックできないようにするのはあまりよろしくないんじゃないか
0882名前は開発中のものです。2009/08/01(土) 18:13:18ID:fM5CMo54
クリックできなくさせる事になんの意味があるのかわからん。
0883名前は開発中のものです。2009/08/01(土) 18:23:08ID:XBQ0j9Rg
閉じるボタンは GetWindowUserCloseFlag で取得できるかも
0884名前は開発中のものです。2009/08/01(土) 18:23:30ID:M1rtP1+j
http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=658
0885名前は開発中のものです。2009/08/01(土) 18:31:27ID:Qfg9axiN
サンクス
なんとかなりそうです
0886名前は開発中のものです。2009/08/01(土) 18:49:30ID:XBQ0j9Rg
>>884
真面目に読んでて途中からワロタ
0887名前は開発中のものです。2009/08/01(土) 22:58:32ID:Qfg9axiN
GetWindowUserCloseFlagってエラーが起こった時の返り値ってわかりますか?
0888名前は開発中のものです。2009/08/02(日) 04:05:26ID:ioGay+hN
エラーって?
0889名前は開発中のものです。2009/08/02(日) 13:21:29ID:raZxXOJp
>>888
だいたいほかの関数だと成功:0、エラー:-1を返してるじゃないですか?
そいうのがこれにも無いのかなとおもって
0890名前は開発中のものです。2009/08/02(日) 15:42:36ID:kM+dLyLX
TRUEかFALSEか取得して返すのにエラーが出るとは思えないけど。
でも一応DxLibは関数の共通規約が-1=エラーぽいから-1だけ特別扱いでいいと思うよ
0891名前は開発中のものです。2009/08/02(日) 15:47:58ID:VhKHrAIb
エラーが起きない関数だってあるんだから、余計な処理はしなくていい。
0892名前は開発中のものです。2009/08/02(日) 18:18:51ID:kM+dLyLX
GetWindowUserCloseFlagってエラー起きないの?
ドキュメントに載ってない関数だから知らないんだけど
ソース見る気はしないし
0893名前は開発中のものです。2009/08/03(月) 13:33:57ID:Bkg1TOoK
暗号化した画像ファイルからDrawGraphで描画するまでの手順って

ファイルから読み込み複合化した色情報を配列にセット
→MakeARGB8ColorSoftImageなどでSoftImageのメモリ確保
→DrawPixelSoftImageなどで配列からSoftImageに書き込む
→CreateGraphFromSoftImageなどでグラフィックハンドルを作成
→DeleteSoftImageでメモリ開放
→DrawGraphとかで描画

でおk?
0894名前は開発中のものです。2009/08/03(月) 18:31:28ID:Iq3WkgiH
自分も用意したフォントが使いたくなったので>>757の方法を試してみたんだけど、
開放に成功しないんだよなぁ……
仕様上プログラムが終了すると開放されるみたいだし、大丈夫なのかなコレ
08958942009/08/03(月) 18:43:55ID:Iq3WkgiH
うわー引数ミスってただけでした……
こめんなさい
0896名前は開発中のものです。2009/08/04(火) 01:23:43ID:zuu4zu8S
おまいら名前空間ってどうしてる?
微妙にグローバルなのが邪魔くさいんだが、Dxライブラリのソースをまるっと書き換えるしかない?
0897名前は開発中のものです。2009/08/04(火) 01:44:29ID:HZG+0EA+
WIN98前後にプログラミングやってみたくなって、
とりあえずCだけ独学してすぐにDirectX見て
挫折した自分には今更ながら、ピッタリじゃないか。

実際の所はオブジェクトで書いていけないと、ツラいの?
■ このスレッドは過去ログ倉庫に格納されています