DXライブラリ 総合スレッドat GAMEDEV
DXライブラリ 総合スレッド - 暇つぶし2ch253:名前は開発中のものです。
08/04/05 12:27:54 VHg9Yq4r
作れない部分だけ掘り下げりゃいいじゃん

254:名前は開発中のものです。
08/04/06 22:10:28 k0L9974C
>>253
その方が難しいとおもうが・・・・。
(中途半端に人のライブラリを改造するのは初心者にこそ大変。
 
だけど、DXライブラリは非常に優秀だと思うよ。
もちろん自分の主義から観て、ケチつけたくなるような部分がまったくないわけじゃないけど、


255:名前は開発中のものです。
08/04/09 20:19:41 wzxKugzG
どっちにしろ
絵やテキストの必要な段階までたどり着いてorz

256:名前は開発中のものです。
08/04/11 12:36:00 3ac42Qx9
プログラムが完成してればメンバー募集スレ辺りで適当に

257:名前は開発中のものです。
08/04/11 19:45:54 RER4fV/1
C++&DXライブラリ
で、ポーズ機能を実装したいのですが、どういった風にすればよいでしょうか。
簡単な質問でしたらごめんなさいです。

258:名前は開発中のものです。
08/04/11 19:55:16 5xNQ5/qR
while( CheckHitKeyAll() == 0 )
{
//ポーズ機能の完成である。
}

259:名前は開発中のものです。
08/04/11 20:18:15 b791QYZ+
ポーズ中はキャラ移動のプログラムを動かさず
画面描画だけしてやればいいよ

while(1){
 キー入力();
 if ( pause == 0 ){
  自機();
  敵();
  背景();
 }
 画面描画();
}

260:名前は開発中のものです。
08/04/11 21:01:32 RER4fV/1
回答ありがとうございました!
参考にさせていただきます。

261:名前は開発中のものです。
08/04/11 23:05:14 Bpsz+O4d
これって、簡単な3Dならできるってあるけど、関数どこにあるんでしょうか?

262:名前は開発中のものです。
08/04/13 23:05:34 OT5S4/B3


263:名前は開発中のものです。
08/04/13 23:40:55 mkP8Ow/2
DrawPolygon3D?

264:名前は開発中のものです。
08/04/14 21:08:06 F5c9NCO3
過疎ってるなぁ


265:名前は開発中のものです。
08/04/17 16:40:35 Z01QL+t5
立ち絵みたいなCGで背景との境界を綺麗に見せる、
いい方法ってあるかどうかはここで聞いてもいいですか?

266:名前は開発中のものです。
08/04/17 17:56:04 KZC2fEfY
アルファチャンネルを使う

267:名前は開発中のものです。
08/04/17 23:17:42 Z01QL+t5
>>266
ありがとうございました。

268:名前は開発中のものです。
08/04/19 00:48:13 EYZpWM/6
DXライブラリ使ったプログラムをUnicode環境にしたいときってどうしてる?
ウィンドウハンドルを取得したりしてTextOutとか使ってみたんだが、うまくいかないし。
画面関係の処理はDXライブラリを使わないでがんばるしかないのかな

269:名前は開発中のものです。
08/04/19 00:58:22 G0TjCggk
やったこと無いがtchar.hをインクルードして
全部_T()マクロで囲んでしまうとか

270:名前は開発中のものです。
08/04/19 11:28:25 EYZpWM/6
TCHAR型とか使っても、DrawString等の関数はchar型なんで、そこでつまづいちゃうんですよね。
IME関係の関数も同じでエラーがでちゃって。

271:名前は開発中のものです。
08/04/19 15:05:14 G0TjCggk
もうそこはライブラリその物を書き換える気概が無いと駄目かも知れん

272:名前は開発中のものです。
08/04/19 15:12:00 G0TjCggk
あーそれか自分でUnicodeをShift-JISに変換するコード書くかだな

273:名前は開発中のものです。
08/04/19 16:35:28 rDKs0OU5
OSがやってくれるけどね。

274:名前は開発中のものです。
08/04/20 00:52:23 YkchCY9h
レスサンクスです。
ライブラリ書き換えは考えて試したりしたのですが、あきらめました。
知識と根性が足りないみたいです。
どうせ糞コードでコードを再利用することもないと思うので、このままマルチバイト文字セットで突っ走ろうかと思います。

275:名前は開発中のものです。
08/04/21 22:49:21 mkIxW9Wq
>>274
DXライブラリ3Dの中にTStringってのが入ってるから使ってみたら?
その中にマルチバイトとUnicodeの相互変換する関数が入ってる。
俺はTSTring型を改良して使ってる。

276:名前は開発中のものです。
08/04/22 17:51:51 OjNC6XlB
音楽読み込むの時間かかりすぎじゃね?
数秒かかるんだが

277:名前は開発中のものです。
08/04/23 08:37:21 SaATaECc
>>275
DXライブラリ3Dはまだベータで仕様変更する可能性があると思って敬遠してたんだが、
見てみたら結構よさそうだな。
ちょっくら使ってくる。

278:名前は開発中のものです。
08/04/24 07:38:22 V1/5gnMN
>>276
つSetCreateSoundDataType( DX_SOUNDDATATYPE_FILE );

279:名前は開発中のものです。
08/05/03 21:00:49 WNI824LE
過疎

280:名前は開発中のものです。
08/05/04 18:15:22 vJ7ltqp0
visual studio 2005でプログラムを作成しているのですが、
waveファイルをリソースにして実行ファイルに埋め込んだ上で再生するにはどうしたらいいですか。
resource.rcファイルに、
WAV01 WAVE "../sound/01.wav"
プログラムファイルで、
se01 = LoadSoundMem(TEXT("WAV01"));
のように記述しコンパイルが通ることを確認したうえで
PlaySoundMem()で再生しようとしたところ何も音がでません。。


281:名前は開発中のものです。
08/05/04 18:20:13 vJ7ltqp0
se01の返り血を調べたところ、-1になっていたので
LoadSoundMem()関数が失敗しているようです。。

282:名前は開発中のものです。
08/05/04 21:14:46 NVb3ZT2+
> 返り血を調べたところ

  ビチャビチャ ..`_;:;;::::.::.....
 (´:;;..,,゚Д゚) .,.-';;`,;::;;:;:;:;;:'': 


283:名前は開発中のものです。
08/05/05 08:40:01 6+vVhwuM
今日のルミノール反応スレか。

284:名前は開発中のものです。
08/05/06 02:03:17 HfsKgZoV
リソースから読み込めねえのかつかえねえなDXライブラリは

285:名前は開発中のものです。
08/05/06 02:53:21 fMYrwNTv
つ int LoadSoundMemByResource( const char *ResourceName, const char *ResourceType, int BufferNum = 1 ) ; // サウンドをリソースから読み込む

286:名前は開発中のものです。
08/05/06 16:26:25 HfsKgZoV
ありがとうございましたできました。

287:名前は開発中のものです。
08/05/06 16:29:27 QOE/ow/d
ID:HfsKgZoVの態度の変わりように吹いたw

288:名前は開発中のものです。
08/05/06 19:15:47 WkMOtNpw
ただの煽りかと思ったら本人だったのかw

289:名前は開発中のものです。
08/05/06 23:51:34 F6wTuFjk
ID:HfsKgZoVに全力で吹いたwwww
ずっとROMってたけどこれだけは書き込まずにはいられなかったwwwww

290:名前は開発中のものです。
08/05/06 23:53:59 FAulgXST
ってか、リファレンスに乗ってない関数ってDxLib.hからみつけてきてるの?

291:名前は開発中のものです。
08/05/07 00:57:20 71Y0MVSA
>>290
そう。後はソースから直接とかかな

292:名前は開発中のものです。
08/05/08 22:23:43 S2HRvK+u
読み込んだ画像をグレースケール化して表示させるとかできないのかな?

293:名前は開発中のものです。
08/05/08 22:25:39 eQ3x57+w
あらかじめ

294:名前は開発中のものです。
08/05/08 22:54:10 L02lWeB7
>>293
正解

295:名前は開発中のものです。
08/05/11 01:41:28 lT34Osvt
Windowモードにしたときにサイズを変更しようとすると、プログラムが終了してしまうのを防ぐにはどうすればいいんですか?

296:名前は開発中のものです。
08/05/15 04:51:23 FY4Aqiot
質問。
DxLib3Dをはじめて入れてみました。
いきなりなんですが、「~は未解決です系のエラー」が出てきてしまいます。

一応このページの説明通りに設定したのですが、まだ出てきます。
URLリンク(fatalita.sakura.ne.jp)

この設定以外でどこかおかしそうなところというと、どこでしょうか?

297:名前は開発中のものです。
08/05/15 04:53:59 FY4Aqiot
VS2008EE
DXライブラリ3D (Ver 08.5.11 BETA48 )
XP sp2

という環境でやってます

298:名前は開発中のものです。
08/05/15 10:46:33 N5DdO6sn
>>297
DirectX9の最新版をインストールしなおしてみたら?
それかPlatformSDKのインストールに失敗してるとか?

299:名前は開発中のものです。
08/05/15 20:28:52 FY4Aqiot
>>298
platformSDKを再インストールしたらうまくいきました。
ありがとうございました。

300:名前は開発中のものです。
08/05/15 20:42:10 TlbymtVz
横レスだがEEでうごくようになたの?

301:名前は開発中のものです。
08/05/15 20:43:31 aaHitA9H
EEで動くようになってる筈

302:名前は開発中のものです。
08/05/16 21:56:45 Tr9iRAu8
>>300
何ヶ月も前から

303:名前は開発中のものです。
08/05/25 16:56:29 3WsNPwhz
C#のDXライブラリを使っているのですが、
タイトルバーのアイコンはどうやって設定すればよいのでしょうか?
アイコンのIDと言うのの調べ方がいまいちわからないのですが……。

304:名前は開発中のものです。
08/05/25 21:14:02 lS7V6yTW
>>303
そういえばDXライブラリ作品でタイトルバーのアイコンが変更されたプログラムって見ない気がする。
できんのかな。とりあえず32x32だけじゃなく16x16の方もちゃんとアイコン描いてる?(VSから直接描けるはず)

305:名前は開発中のものです。
08/05/26 00:59:51 kspnggL4
VSでもExpressは描けないんだよな
ソフトが分かれている性でExpressはVSじゃない、って誤解をうけていそうだが

306:名前は開発中のものです。
08/05/26 03:00:55 9qMTVlR3
>>305
ほんとだ。試してみたらExpressではペイントが起動したよ。
製品版ではVS内部で便利なペイントツールみたいなのが開いていたのに。
.icoに2つの画像もたせるには何かのフリーソフト使うしかないみたいだね。

307:名前は開発中のものです。
08/05/26 12:57:41 eOfkTAJ+
>>304
自分はアイコン変えてるよ?

URLリンク(homepage2.nifty.com)

このやり方で変わってる。


308:名前は開発中のものです。
08/05/26 18:28:24 l0TB74on
>>304
ゲームのアイコンを変えたら、なぜかタイトルバーのアイコンも変わりました。
理屈はよく分かりませんが、とりあえずできました。

>>307
C#でやっているのですが、その方法の仕方がいまいちわかりませんでした。

309:名前は開発中のものです。
08/05/26 23:36:40 9qMTVlR3
>>307>>308
俺も昔VS2003でそのやり方やってたけどそれで代わる時と代わらない時があったんだよな・・。
2005とか2008では分からんけど。俺の勘違いかもしれないから流してくれ。

310:名前は開発中のものです。
08/05/27 00:22:06 yuK+OsBq
最悪SendMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM)hIcon)で
C#ならDllImportを忘れずに

311:名前は開発中のものです。
08/05/27 01:20:30 2WZDLKIU
hWndはどこから取ってくるの?

312:名前は開発中のものです。
08/05/27 01:35:54 145798w0
>>310
ああ、明示的にしてやればよかったのか。ありがとう。

>>311
GetMainWindowHandle()でいける。

313:名前は開発中のものです。
08/05/27 09:33:02 2WZDLKIU
>>312
そんなのがあったんですね、ありがとー

314:名前は開発中のものです。
08/05/27 23:01:56 GJjmi+z5
質問
みなさんDXライブラリを知ったきっかけor使ってみようて思ったきっかけって何?


315:名前は開発中のものです。
08/05/27 23:11:16 yZNE8DLZ
プログラミングを始めてゲームでも作ってみたいな
ライブラリ関係のwikiを見て知る
SDLなんて環境依存も少ないし、よさそうだ
ちんぷんかんぷん
次の候補のDXライブラリを使ってみる
これはいいライブラリ
DXライブラリwktk中

316:名前は開発中のものです。
08/05/28 00:16:14 1JvUBrE4
>>314

プログラミング暦は長いんだけど、せいぜい旧世代パソコンでBASICとアセンブラ、
COBOLとか、WindowsパソコンだとVBくらいしか触った事なくて
Windowsでゲーム作りたくてもDirectXもWindowsAPIもさっぱり解らなくてできなかったが
(何で知ったのかは忘れた)DXライブラリを試しに使ってみたら
簡単にそれっぽい事ができたのでそのまま使いつづけてる。
(C言語も初めて使うわけだが、まぁBASIC的な使い方でなんとかやってる)


317:名前は開発中のものです。
08/05/28 03:00:58 GkgEuGoe
>>314
私はネットで偶然見つけて最初は挫折しました。
BBSの人たちとはキット住む世界が違うハイレベルな人たちなんだ・・とか思って。
まぁ今は卒業して次の3Dライブラリに逝ったりしています。
退屈なC言語の勉強が凄い刺激的な遊びに変わったのも全てこのライブラリのおかげです。

318:名前は開発中のものです。
08/05/28 06:57:20 XwHdSPVR
アンケート禁止

319:名前は開発中のものです。
08/05/28 11:56:50 GkgEuGoe
>>318
それでこの過疎レスが盛り上がるならいいジャマイk

320:名前は開発中のものです。
08/05/28 18:11:49 ofV5JpVk
リファレンスにサンプルプログラムが多く載ってたので、これなら使えそうだと思った。
あのサンプルのおかげで、初心者も初期段階で挫折することが少なそう。

321:名前は開発中のものです。
08/05/28 23:56:13 CX3PJDp1
まぁ、扱いやすいライブラリではあるね。2Dのみでもメリットは大きい。


というか、毎度毎度お馴染みの某書籍シリーズがDXライブラリだけでも4冊目に・・・。
それだけでも、教える側・学ぶ側にも初心者向けなのだろうか・・・?

322:名前は開発中のものです。
08/05/28 23:59:05 TPkKrb+x
東方弾幕風でぐぐるといいよ

323:名前は開発中のものです。
08/05/28 23:59:39 TPkKrb+x
誤爆

324:名前は開発中のものです。
08/05/30 01:01:39 NlELBjm8
>>321
フレームワーク組まれてないから、自由度が無茶苦茶に高いと思う1年チョイ使った感想。
Seleneに移行して実感したよ。
ガチガチにフレームごと組まれたライブラリってホントに使いにくい。


325:名前は開発中のものです。
08/05/30 12:06:31 CSCMSheF
>>324
Seleneって自由度低いというか使いにくいの?
試したこと歩けど使い方よう分かんなかった。

326:名前は開発中のものです。
08/05/30 12:37:08 NlELBjm8
>>325
自由度は使う人の知識・技術によるんじゃないかな。
使いにくいかどうかについては、DirectXの基礎知識がないと使うことすら不可能だと思う。
フレームワークで何をしているのかすらわからんと思う。


327:名前は開発中のものです。
08/05/30 12:38:45 NlELBjm8
連投スマソ。
昨日、>>324を書いてからDXライブラリ3Dを試してみたんだけど、死ぬほど楽でワロタwwww


328:名前は開発中のものです。
08/05/30 21:38:13 29G5LbgY
凝ったレンダリングしたいならSelene使えばいいし、
とりあえず手軽に3DやりたいならDX使えばいいってだけの話じゃね。

>>325
自由度が少ないほど基本的に使いやすい。
自由度が多いと何をしていいのか分からない。

329:名前は開発中のものです。
08/05/30 21:51:10 xes6/YUh
DX3Dの作者もSeleneは使い方わかんなかったって言ってた

330:名前は開発中のものです。
08/05/31 00:50:20 pM3Py+fC
しょーもない、意見かもしれんないけど、
Seleneは、サンプルとかリファレンスが理解しにくいからなぁ・・・・・・。
下手すると、Seleneで取り持つよりも、直にDirectXをサンプルとかチュートリアル
見ながら叩いて遊んだほうが分かると、経験から思う。
まぁ、DirectXは資料も多いし、なんだかんだで基礎からちゃんと解説やってるんだよね。


でもDirectXとかは細かい事やりたい時以外には、自分でラッパーするのも面倒だから困る。
そういう点で、DXlibは素晴らしい。適当な実験とか、ちょっとしたプレゼンなんか向けに張りぼてなんかも作りやすい。



331:名前は開発中のものです。
08/05/31 09:42:43 vvR8DG4O
SeleneはDirectXを直接触ったことがないと理解できないお約束が多いからなあ

332:名前は開発中のものです。
08/05/31 23:27:39 JljUGpqP
DXライブラリの3D版、良い感じで進行してるようですね。

>近い将来実現したい機能:
>・.mqoファイルの読み込みと描画

個人的にはこれが楽しみ。

333:名前は開発中のものです。
08/06/01 16:57:53 Paz1Lvkx
DXライブラリ3Dで質問です。
メタセコイアで作成した立方体や球体(Xファイル)を表示させようとすると、崩れてしまいます。
(たとえば立方体の場合、6つの面がばらばらになって、それぞれ座標がずれて表示されてます。)
原因はどこにあるのでしょうか?

自作したモデルは、DirectX Viewer上ではちゃんと表示されてます。
(メタセコからXファイルに出力する時、ちゃんとUVのところにチェックを入れてあります。
テクスチャの設定もしてあります。)

プログラムはリファレンス&サンプルのものを、ファイル名だけ入れ替えたものです。
URLリンク(fatalita.sakura.ne.jp)

サンプルについてたxファイルのモデルでためしたところ、viewer上・プログラム上のどちらでも表示されます。

環境
VC++2008 EE
DXライブラリ3D 通常版ダウンロード (Ver 08.5.30 BETA52 )
メタセコ Ver2.4.8

334:名前は開発中のものです。
08/06/01 17:09:11 Vobw4BHh
>>333
こんなとこに書くより配布してるサイトの掲示板に書いたほうがいい


335:名前は開発中のものです。
08/06/01 20:18:09 OqvNhLfk
>>333
メタセコでの保存時にUVマッピングとかスムージングとかちゃんと有効にしてる?
メタセコの設定見直したほうがいいかも。

336:名前は開発中のものです。
08/06/03 01:25:09 71P0U8As
>>335
保存時のUVマッピングは常に有効にしてます。
スムージングはチェック入れてなかったんですが、チェック入れても変わりがありませんでした。


337:名前は開発中のものです。
08/06/03 18:56:41 HgjyOQoI
なぜここで聞くんだ?

338:名前は開発中のものです。
08/06/05 01:10:53 FZ1LXFSC
ひょっとしたらメタセコの超初歩的なミスかなと思って。
他の3Dソフトでも作ってみたけど同じだった。

ちょっと時間を置いてからいろいろ試してみます。
それでだめなら公式へ

339:名前は開発中のものです。
08/06/12 14:25:57 wxJhhB6a
質問なんですが
DX3Dは古いVSでも使えるのでしょうか?
未だにWindows2000を使ってるのでVS2008利用できないんですよ

340:名前は開発中のものです。
08/06/12 17:33:28 6bVucAlr
Direct3Dって12年くらい前からあるよね。

341:名前は開発中のものです。
08/06/12 21:48:35 meeDYGZX
いやDXライブラリ3Dのサンプルのビルドについてなんですが
公式サイトではVS2005以上とかいてあるのを発見したので
おとなしく2005EEを使うことにします

342:名前は開発中のものです。
08/06/13 09:42:47 XTqDBko/
>>339
初期のバージョンではVS2002も使えてたけど今は古いVSだとライブラリファイルでエラーが出るから使えない。

343:名前は開発中のものです。
08/06/17 10:57:42 tV5dUmxs
DXライブラリ3Dの作者も見ていることを祈ってここに。
かなり凄いライブラリになりつつありますね。乙です。
このままLoadDivGraph()も互換性もたせてくれたら過去のソースがほぼ流用できるので、
身勝手なお願いですが、頑張ってください。


344:名前は開発中のものです。
08/06/20 05:09:08 fPNKmbya
まだDXライブラリ3Dの宣伝か
なぜ開発元の掲示板に書かないのか・・・

345:名前は開発中のものです。
08/06/20 13:32:27 Er3syzY2
>>343
多分ここ作者も見てない。公式も更新とまってるし

346:名前は開発中のものです。
08/06/20 16:43:44 7pPPZp+T
そりゃ、本家に気軽に書けたら書きますよ。
でも、開発元の掲示板が使いにくい(検索すらできない旧世代極まるシステム)
だから、単なる応援を書いて掲示板汚しをする雰囲気ではない。

さらに、メルアド非公開だからメールで応援することもできない。

ここに書くことも許されないのならスレでも立てましょうか?
でも、そしたらそしたで、DXライブラリと共用しろとか煽られたりするんですよね?

やっとれんわ。


347:名前は開発中のものです。
08/06/20 21:17:27 h3TPvdBn
気が向いたら専用スレを建てることにしました。
普段ろくに動きもないスレのくせに、姉妹品の話題だしただけで嫌味かよと、
ちょっとイラッとしてしまいました。
すいませんでした。消えます。


348:名前は開発中のものです。
08/06/20 21:27:14 W5qtUln9
>>346
メアドは一応公開されてる。以前よくやり取りしてたけど、最近は返事が直ぐに返ってこないからイライラする

349:名前は開発中のものです。
08/06/21 10:36:00 JnkYVaUa
C#版だとDrawFormatString系統が使えないなんて・・・
何とか代用できるものは無いものかしら

350:名前は開発中のものです。
08/06/21 11:45:01 GX14nWKq
触った事無いから分からんが普通にSystem.Stringで文字作ればいんじゃないの?

351:名前は開発中のものです。
08/06/21 21:33:04 JUrwHwGu
String.Formatの方が便利

352:名前は開発中のものです。
08/06/22 21:15:48 PdqU/TQ3
>>346-347
脳内あぼーん

353:名前は開発中のものです。
08/06/25 22:58:15 mX3h6Gxe
GetJoypadInputState()がボタン押しっぱの状態でたまに0返しちゃうんだけど、俺だけ?

354:名前は開発中のものです。
08/06/25 23:08:35 9Wx6yKuH
そこまで押しっぱなしを多用した事ないからわからないけど
どんなプログラムでチェックしたの?

355:名前は開発中のものです。
08/06/25 23:21:21 fuI9KJ5C
ジョイパッドの不具合に10ゼニー

356:名前は開発中のものです。
08/06/26 00:32:57 NfLt9gol
どうやら認識が処理に間に合ってなかっただけらしい
多少のウエイト入れたら問題なかった

357:名前は開発中のものです。
08/06/26 23:14:36 ZpjvmS04
DXライブ来3D開発停止なのか・・・

358:名前は開発中のものです。
08/06/27 00:09:49 Ouq2aiKc
> しばらくライブラリ開発は休止します。
> 大変申し訳ありませんが私生活でそれどころではなくなってしまいました・・・。
> 一応コンテンツは残しておきますので自由に使ってくれて構いません。

だそうで、どうしたものか。

359:名前は開発中のものです。
08/06/27 00:57:29 ovz20LE+
何もしてないのにー!何でこんなに重いんだと思ったら
ScreenFlipのせいだったのか…

360:名前は開発中のものです。
08/06/27 01:06:04 D2/CSn6V
なんで?
ScreenFlipが垂直同期信号待ちしてるせい?

361:名前は開発中のものです。
08/06/27 11:42:28 XC7SG82L
DXライブラリ3D開発停止キタコレ


362:名前は開発中のものです。
08/06/27 16:34:01 R30hbcbu
そらそうだ

363:名前は開発中のものです。
08/06/28 08:14:39 7eoOLImo
真偽はともかく、パソコン壊れたに次ぐ、辞める時の言い訳ベスト3だな
あと一つは脳内嫁に離婚されたか?

364:名前は開発中のものです。
08/06/28 08:34:27 WDd+KucR
タダでやってる以上、こうなるのは別におかしい事じゃない。
そういう意味で、本家の方はかなり頑張ってらっしゃる。

365:名前は開発中のものです。
08/06/28 11:21:50 HmzEmemy
開発が一段落してサポートが面倒臭くなるまでは続くと思ってたんだが・・・早かったな

366:名前は開発中のものです。
08/06/28 11:58:58 5+ZirPmZ
本家って更新自体はもうしてないんじゃないっけ?

367:359
08/06/28 19:29:20 xOOHiRHZ
ScreenFlipを使うのをやめて
SetDrawScreen と GetDrawScreenGraph と DrawGraph
を組み合わせたらCPUへの付加が30%から5%に激減した!!
今までこれで苦労してたから嬉しさで涙が出そう

>>360
理由はわからないな…

368:名前は開発中のものです。
08/06/28 19:34:13 Z7/K5uB7
そうなる前にやめるのは投資家としては正しい判断

369:名前は開発中のものです。
08/06/28 19:35:08 xOOHiRHZ
WaitVSyncもつけたら負荷が戻ったorz
でも垂直同期を取る・取らないの選択ができるようになったということで我慢しよう…

370:名前は開発中のものです。
08/06/28 20:09:56 UA0XbkFG
Wait()挟んだら負荷下がるよ

371:名前は開発中のものです。
08/06/28 22:11:08 z6I/MJXK
>>369
ScreenFlipでも撮る撮らないの選択が出来るよ

372:名前は開発中のものです。
08/06/28 22:22:10 WDd+KucR
これだね。

宣言 int SetWaitVSyncFlag( int Flag ) ;
概略  ScreenFlip関数 実行時にCRTの垂直同期信号待ちをするかのフラグセット

>>369

念のために訊くけど、ウィンドウモードでやってないよね?



373:名前は開発中のものです。
08/06/28 23:46:16 ZECO6Ry9
>>366
2008/3/23までの更新履歴はあるな。

まぁ、DXライブラリも2001年から始まっているから3Dの人も、いつでも再起おk。

374:名前は開発中のものです。
08/06/28 23:52:55 wEkVBZPc
中の人が大学留年したり 生活もままならないような人だから全然驚かん


375:名前は開発中のものです。
08/06/29 10:08:01 PPCk3LCp
やっぱ大学関係だったようね

376:名前は開発中のものです。
08/06/29 12:24:07 m21VzqQv
>>371-372
フルスクリーンだとモニタの関係でアスペクト比が狂うからウィンドウモードでやってた
そんな関数があったんだ、ありがとう

377:名前は開発中のものです。
08/06/29 12:26:18 m21VzqQv
マイナー関数のとこにのってたんだ
そんな関数あるわけないと決め付けてたから気がつかなかった
せめてリファレンスくらい目を通しておくべきだった。すまん

378:名前は開発中のものです。
08/06/29 12:46:12 agzt01kM
リファレンスにも乗ってない関数があったりするから
DxLib.hの中身を検索してみたりするといいかもわからんね

379:名前は開発中のものです。
08/06/29 12:49:02 OsnqiwUH
ウィンドウモードだと垂直同期信号は関係ないらしいから、そこらへん自分で色々やらんといかんかもね。

ただ俺は、その後もそれ関係で色々問題が発覚して、
そのたびに対処療法的にさまざまな対応を取ってきてるから
今実際自分がどういう処理にしているか自分でも把握できてないw

380:名前は開発中のものです。
08/06/29 13:57:46 m21VzqQv
すご、DxLib.hに関数の使い方書いてあるんだ
いいこと知ったお



381:名前は開発中のものです。
08/06/29 14:00:20 m21VzqQv
>>379
そうなの?
でも垂直同期オフにしたら特有の波みたいな境目みたいなのが
現れて負荷が数分の一になったお!
俺も対処療法しまくってスパゲッティ化してきた

382:名前は開発中のものです。
08/06/29 15:39:32 1BMnqLhH
>でも垂直同期オフにしたら特有の波みたいな境目みたいなのが

ティアリングだね。
それをなくすための垂直同期信号待ちなんだけど、色々別の問題が出るんだよね。

例えば、FPSがモニタのリフレッシュレートに依存するから
60Hzのモニタに合わせてゲーム作ってると70Hzのモニタ使ってる時にスピードアップする事にw

あるいはPC環境によっては垂直同期信号待ち自体が完全に無視されてしまって
スピードが最高速になったりw

383:名前は開発中のものです。
08/06/29 16:02:58 Ml+ywIah
普通はVSYNC待ちした上でさらにタイマーで調整するだろ

384:名前は開発中のものです。
08/06/29 16:06:40 1BMnqLhH
うん、だから今はそうしてる。

385:名前は開発中のものです。
08/06/30 01:36:07 eE4aJ60w
俺の場合は、ドローとコントロールを完全に分けてる
コントロールは50fpsで作るなら、20ms経過するごとに呼び出す
前回と比べて100ms経ってたら5回連続して呼ぶ、と

ドローはこれだけを何度呼んでも同じ画面が描画される

要するに処理落ちを目立たなくする方法だけど、
よっぽどボロで無い限りあんまり違和感ないから重宝してる

386:名前は開発中のものです。
08/06/30 15:51:22 /MYKvXiy
みんなどんなゲームつくってるのか見てみたいな

387:名前は開発中のものです。
08/07/03 17:19:34 4FdUt6R0
俺も、別に嫌味じゃなくて純粋に>>386がどんなゲームつくってるのか見てみたい


388:名前は開発中のものです。
08/07/03 18:17:34 pOqq1JU4
俺も興味あるなぁ。スクショとかあげてみて欲しい。

389:386
08/07/03 19:14:30 mE8d2cG3
あんま期待しないで
ペイント丸出しのグラフィック
URLリンク(www.vipper.net)

390:名前は開発中のものです。
08/07/03 19:23:00 mE8d2cG3
ついでに動画もうpする

391:名前は開発中のものです。
08/07/03 19:39:16 mE8d2cG3
↓動画
URLリンク(kissho1.xii.jp)
DLパスはel

392:名前は開発中のものです。
08/07/03 21:42:13 am1gyKK/
BGMワロタ なんか敵キャラかわいいなw

393:名前は開発中のものです。
08/07/05 21:11:05 cnwLCfKM
おお、すごい
普通に面白そうだな

394:名前は開発中のものです。
08/07/05 22:33:08 oPSFKEuG
グラフィックはいかにも間に合わせという感じだが、
ゲーム性はなかなかのものとみた。

395:名前は開発中のものです。
08/07/05 23:25:58 aGAA/Y1Y
結構おもしろそうだな
それに動画綺麗すぎ
どうやってキャプチャしてるの?

396:386
08/07/06 09:46:08 XkJcW/kb
>>392
グラフィックをほめてもらえるとはw

>>393
まじ?うれしいな

>>394
いや、これでもかなりグラフィックは力いれてるぞw
でも絵が描けないのはどうしようもない

>>395
エンコーダでビットレート高めで画面を取り込んだ

397:名前は開発中のものです。
08/07/06 19:59:53 Ayw8ouCy
横スクロールアクションの面白いところを知ってるって感じる作りだな。
それが面白くもあり、手堅く無難でもある。
あとはストーリー性を前面に押し出してキャラを立ててやれば、そこそこ売れるんじゃね。
売る気なのかは知らんが。
フリーなら、ぱっと見悪いが隠れた名作と言われそう。

こんなんでましたー。

398:387
08/07/07 12:42:59 vFVo4BdD
見せて欲しいと言っておきながら、仕事ラッシュあけて戻ってきたら既にタイムアウトでスクショみれない俺涙目
言い出した手間、自分もじきにスクショうpしま。

ってそういうスレじゃなかったっけ。すまん。


399:名前は開発中のものです。
08/07/07 12:52:28 XBTjCSRv
>>391の動画まだ残ってるよ
>>398も期待

400:388
08/07/08 17:10:01 RLAQs28z
俺もあげてみる…
URLリンク(www.vipper.net)

401:名前は開発中のものです。
08/07/08 23:25:57 o/K3GAco
これもなかなか興味深い

402:名前は開発中のものです。
08/07/08 23:30:56 gy2iNnCl
世界観がいいね

403:名前は開発中のものです。
08/07/09 17:58:32 86rWJoht
>>400
すでに見えない・・・・。

404:名前は開発中のものです。
08/07/14 13:19:40 6+UKwK/G
URLリンク(kurotama.sakura.ne.jp)
これもDxLibなのか。すごすぎる

405:名前は開発中のものです。
08/07/14 13:59:33 EI7ck19t
へー、これDXライブラリ使用してたのか。

406:名前は開発中のものです。
08/07/14 14:56:12 8WryyQH6
DXライブラリ作品では東方のやつが一番すごいと個人的に思う

407:名前は開発中のものです。
08/07/14 16:21:47 6+UKwK/G
龍神録?
あの人のプログラミングに対する執念はすごすぎる
東方、ぷよぷよ、魔界村、ボンバーマンと何でもつくれるんだよな
でも何でDxLib使ってるんだろう
DxLibでここまでできるってことを示したいのかな

408:名前は開発中のものです。
08/07/14 16:34:55 XThHbypQ
なんつーか・・・
このスレのやつらのレベルが知れるな

409:名前は開発中のものです。
08/07/14 16:41:58 8WryyQH6
>>407
DirectXとかWinAPIは底は深いけどそれやりだすとなかなか作品作れなくなるんだよな。
それにDirectX自体プロになるにしてもゲーム関係で無い限りそこまで必要なものでもないし。
将来DXよりいいのが出たときに乗り換えればいいだけだし作品製作に集中するのはあるべき姿のひとつだと思う。

410:名前は開発中のものです。
08/07/14 17:16:03 avDAWHJ8
DXライブラリは、余計なフレームワークがついてこないただのラッパだからね。
煩わしい部分以外全部自分でやってしまいたい時には都合がいい。

411:名前は開発中のものです。
08/07/14 17:17:53 6+UKwK/G
>>408
もともと初心者向けのライブラリだからな
でもあれだけつくれれば十分すごいと思うぞ

>>409
たしかにゲーム本体に労力を注ぐのが一番いい
HSPとかならまだしもDXライブラリなら初心者向けとはいえ
市販の2Dゲームに劣らないものがつくれそうだし
でもああいう人たちならわりと早くDirectXを使いこなせるようになりそうな気もする

412:名前は開発中のものです。
08/07/14 18:37:44 cTEttVhV
龍神録知らなかったので見てきた
ここまで再現できるのはプログラマー的に尊敬せざるを得ない・・・
まあ批難だらけになるのは致し方なしw

413:名前は開発中のものです。
08/07/14 19:14:46 2fRsRjz9
東方クローンなんてdxライブラリで一番作りやすいジャンルじゃないか?
神威みたいなのを作ったっていうなら凄いと思うが

414:名前は開発中のものです。
08/07/14 19:35:52 8WryyQH6
>>413
確かにDXライブラリが2Dのシューティングにかなり向いてるとは思うけど
あそこまでやるならもはやライブラリの力はあんま関係ないと思ったw 純粋に作者がすごすぎるw
多分あの人はRPGツクールとかでも他に圧倒的な差をつけたすごいのを創れるタイプだと思う。
同じ土俵であんなものができるなんて驚きを通り越して憧れたよ。

415:名前は開発中のものです。
08/07/14 19:47:03 6+UKwK/G
龍神録をすごいと思わない>>413は相当凄腕のゲームプログラマ

416:名前は開発中のものです。
08/07/14 21:45:41 55b1ZCZV
むしろゲームオタク……いや俺もか。

417:名前は開発中のものです。
08/07/14 22:00:50 5QQzrnLs
龍神録すげぇな
でもあれはプログラムっつーよりゲームデザインの領域では・・・・

2D弾幕もう供給過剰だしそろそろ3D弾幕欲しいぜ

418:名前は開発中のものです。
08/07/14 22:14:27 8WryyQH6
>>417
3Dで本格的な弾幕やろうとすると重いし動く環境限られるし何より面倒だと思う。
まぁシューティングとかは3Dの中では比較的作りやすいものではあると思うけど
3Dにするメリットってあんまないきがする。画面酔いしやすくなったとか言い出す人いるだろうし。

419:名前は開発中のものです。
08/07/14 22:17:22 yio38x9Q
龍神録は滅茶苦茶重い点を除けばかなり良い出来

420:名前は開発中のものです。
08/07/14 22:21:07 EI7ck19t
俺は当たり判定とかかなりいいかげんに作ってるから
弾幕シューを作ろうとしたらめちゃ重になるだろうな……。

421:名前は開発中のものです。
08/07/14 22:28:17 8WryyQH6
そういえばDXライブラリ作品だと公言しているものの各部門の非有料モノでの最高傑作ってなんだろう。
シューティングはあんま詳しくないけど龍神録しかないかなと思ってる。
アクションはしょぼんが個人的に最高に楽しかった。

アクション:しょぼんのアクション
シューティング:龍神録
RPG:シラネ
アクションRPG:これもシラネ
レーシング:あるのか?
格闘:確かあったけど有料だった気がする
パズル:シラネ
シミュレーション:あるのか?

422:名前は開発中のものです。
08/07/14 22:59:55 6+UKwK/G
しょぼんはくそ面白いけどゲームの楽しさとは違うだろw
ニコニコで見たときは最高だった
でもフリーのアクションといわれると思いつかないな

アクションかパズルかわからんがこれもすごい。本家に掲載されてるけど
URLリンク(pbsweb.jp) プリンセスラナ

423:名前は開発中のものです。
08/07/14 23:17:10 8WryyQH6
>>422
それ面白そうだな。確かにしょぼんはゲームとしての面白さというよりパロディとかセンスが秀逸という感じかもな。
どうでもいいけどあの作者が公開してるソースはマジで天才的すぎて絶叫したぜ・・。
そういえばRPGって多いかと思ったけどちゃんと作品として完成させてる人って意外と少ないんだな。
シミュレーションとかは存在すらなさそうだし。

424:名前は開発中のものです。
08/07/14 23:28:19 6+UKwK/G
あのソースはまじやばい。カオス
なぜかタブをつかわない
1つのファイルにだらだらだらだら書いてて…それで動く
自己流の最終形態

425:名前は開発中のものです。
08/07/14 23:33:05 6+UKwK/G
一部引用

//ブロック描画
for (t=0;t<tmax;t++){
xx[0]=ta[t]-fx;xx[1]=tb[t]-fy;
xx[2]=32;xx[3]=xx[2];
if (xx[0]+xx[2]*100>=-10 && xx[1]<=fxmax){

xx[9]=0;
if (stagecolor==2){xx[9]=30;}
if (stagecolor==4){xx[9]=60;}

if (ttype[t]<100){
xx[6]=ttype[t]+xx[9];drawimage(grap[xx[6]][1],xx[0]/100,xx[1]/100);
}

if (ttype[t]==100 || ttype[t]==101 || ttype[t]==102 || ttype[t]==103 || ttype[t]==104 && txtype[t]==1 || ttype[t]==114 && txtype[t]==1 || ttype[t]==116){
xx[6]=2+xx[9];drawimage(grap[xx[6]][1],xx[0]/100,xx[1]/100);
}

if (ttype[t]==112 || ttype[t]==104 && txtype[t]==0 || ttype[t]==115 && txtype[t]==1){
xx[6]=1+xx[9];drawimage(grap[xx[6]][1],xx[0]/100,xx[1]/100);
}



426:名前は開発中のものです。
08/07/14 23:36:47 P8xVGuHc
見難いにも程があるw

427:名前は開発中のものです。
08/07/15 00:42:40 sanH/T6d
>>425
それでバグがあるかというと全くないんだよなw 
ソースも数千行で関数はほぼmainだけなのにw
そういうソースなんて他にはみたことないぜ。マジで狂気の沙汰

428:名前は開発中のものです。
08/07/15 00:49:20 sanH/T6d
そういえば友達が授業でいやいやソース書いてたときもしょぼんの人みたいなタブ使わない強引に1行で済ませる書き方だった。
それで分かるからいいらしい。ある意味間違ってはいないがw
やたら文法とか構造化とか声高に叫ぶばかりで何も完成させられない人には
しょぼんのソースを突き出してやりたいぜ。あれはほんと革命的なオープンソースだと思う。
俺も初心者のころはインデントしなくても読めてたけどいつの間にかそれができなくなった。
ああいうのは子供が自然とジャイロボール投げるのと似てる。

429:名前は開発中のものです。
08/07/15 00:54:31 7yk0deRV
>>425
すげえとしか言いようがねえぞ!w
確かにバグが出ず、本人が分かるならそれ以上のものはないんだろうけど・・・w

430:sage
08/07/15 01:58:59 OyoJDlsv
N88-日本語BASIC(86)のプログラムに比べれば可愛いもんだ
ところで
>>421
RPGならSTARGAZERがあるぞ
というか無料ソフトに拘るのはなんでだ?

431:名前は開発中のものです。
08/07/15 02:00:10 OyoJDlsv
すまん上げちまった・・・

432:名前は開発中のものです。
08/07/15 02:39:04 4QjKnr7J
龍神録は凄いと思うが、作者はDXライブラリのBBSで自演してたりしたから好きではない

433:名前は開発中のものです。
08/07/15 03:21:45 Z/XJU3We
DXライブラリ使用ソフトだと、夜行蛾4とかGalshell2の合体・変形・多関節は凄いと思う

434:名前は開発中のものです。
08/07/15 03:28:54 sanH/T6d
アクション: しょぼんのアクション
シューティング: 龍神録、Galshell2、夜行蛾4
RPG: 星を見る人
アクションRPG:
レーシング:
格闘:
パズル:プリンセスラナ
シミュレーション:

今んとこ候補はこんな感じか。まぁ有料は入れなくていいと思う。買った人にしかわかんないし。

435:名前は開発中のものです。
08/07/15 12:06:52 hKPgrkB+
誰かジョイスティック対応した斜め移動のコードを教えてください。
シューティング作ろうとプログラムを始めたばっかりの初心者なんでなかなか上手くいかないです。

keyでのキー入力の場合だとちゃんと斜め移動するんですが、GetJoypadInputStateを使うと上下左右移動しか出来ず、斜め移動を入力するととまってしまいます。

int plx = 200;
int ply = 400; //プレイヤー初期x.y座標の取得。


if( GetJoypadInputState( DX_INPUT_KEY_PAD1 ) == PAD_INPUT_RIGHT ) { //右ボタンが押されたら

plx++;
plx++;
plx++;
plx++;

if(plx >= 385){ //画面右端から左端へワープ。
plx=0;
}

}

こんな感じのコードを上下左右分作っています、これだと斜め移動は実装できないんですか?

こんな初歩的な事でつまずいてるとか完成まで物凄い時間かかりそう。

436:名前は開発中のものです。
08/07/15 12:28:17 fI2aJQcd
プログラム的には問題ないように見える。

キーボード入力でうまくいくのに、ジョイスティック入力でうまくいかないのなら、
ジョイスティックが斜め入力に対応してないんじゃないかと思えるが……どうだろう。

普通のゲームをそのジョイスティックで操作してちゃんと斜めに動く?
もしそうならDXライブラリが対応してないジョイスティックがあるって事になるのかな。

437:名前は開発中のものです。
08/07/15 12:29:53 fI2aJQcd
あ、GetJoypadInputStateはキーボード入力も同時に対応してくれるけど
キーボードならちゃんと動くって事だよね?

438:名前は開発中のものです。
08/07/15 12:41:35 hKPgrkB+
>>436
logicoolの
URLリンク(www.logicool.co.jp)
コレ使ってるけど、斜め移動は普通に他のゲームではできます。

それとGetJoypadInputStateを使うとキー入力、ジョイスティック操作での斜め移動をしようとするとキャラがその場で止まってしまい。
GetHitKeyStateAll( Key );を使ってキー入力のみの場合だとちゃんと斜め移動が出来ます。

もしかしたらどっかのコードが違うのかなぁ

439:名前は開発中のものです。
08/07/15 12:45:14 fI2aJQcd
んーじゃ、コードをどっか間違ってるんでしょうね。見てみないとわかんないけど。

例えば計算を間違ってて座標がプラスマイナス0になってるとか、
斜め入力した時に処理が別のとこに飛んでるとか。

440:名前は開発中のものです。
08/07/15 12:46:35 fI2aJQcd
あ~でもGetHitKeyStateAllだと上手くいってるのか……なんだろうね。

441:名前は開発中のものです。
08/07/15 12:47:35 hKPgrkB+
初心者とは言えコードが幼稚すぎて晒すの恥ずかしいけど、一通り晒してみます。
void player_move(){ //プレイヤーの移動
GetJoypadInputState( DX_INPUT_KEY_PAD1 ) ; //ジョイスティックの状態を監視
char Key[256]; //キー状態の取得。
GetHitKeyStateAll( Key ); //ループ、キーの状態を取得
if(GetJoypadInputState( DX_INPUT_KEY_PAD1 ) == PAD_INPUT_R ){ //低速移動
if( GetJoypadInputState( DX_INPUT_KEY_PAD1 ) == PAD_INPUT_RIGHT ) { //シフトと右が同時に押された場合。
plx--;
plx--;
}
if( GetJoypadInputState( DX_INPUT_KEY_PAD1 ) == PAD_INPUT_LEFT ) { //シフトと左が同時に押された場合。
plx++;
plx++;
}
if( GetJoypadInputState( DX_INPUT_KEY_PAD1 ) == PAD_INPUT_UP) { //シフトと上が同時に押された場合。
ply++;
ply++;
}
if( GetJoypadInputState( DX_INPUT_KEY_PAD1 ) == PAD_INPUT_DOWN ) { //シフトと下が同時に押された場合。
ply--;
ply--;
}
}
ply++;
ply++;
ply++;

if(ply >= 430){ //画面下部へ戻す(ハミ出ないようにする。)
ply=430;
}

}

442:名前は開発中のものです。
08/07/15 12:48:45 hKPgrkB+
//ここから高速移動。
if( GetJoypadInputState( DX_INPUT_KEY_PAD1 ) == PAD_INPUT_RIGHT ) { //右ボタンが押されたら
plx++;
plx++;
plx++;
plx++;
if(plx >= 385){ //画面右端から左端へワープ。
plx=0;
}
}
if( GetJoypadInputState( DX_INPUT_KEY_PAD1 ) == PAD_INPUT_LEFT ) { //左ボタンが押されたら。
plx--;
plx--;
plx--;
plx--;
if(plx <= 0){ //画面左端から右端へワープ。
plx=385;
}
}
if( GetJoypadInputState( DX_INPUT_KEY_PAD1 ) == PAD_INPUT_UP) { //上ボタンが押されたら。
ply--;
ply--;
ply--;
ply--;
if(ply <= 0){ //画面上部へ戻す(ハミ出ないようにする。)
ply=0;
}
}


文字制限があり、下ボタンが書けないですが、上記のコードと同じ感じです。

443:名前は開発中のものです。
08/07/15 13:23:58 Y9twlXWg
>> if( GetJoypadInputState( DX_INPUT_KEY_PAD1 ) == PAD_INPUT_UP)
これなんだけど、
==で判定するんじゃなくて、
&で判定したら良いと思うんだけど、どうだろ。(他も同様に)
DX使ったこと無いんで知らないんだけど。


444:名前は開発中のものです。
08/07/15 13:24:35 ui07eI/H
== で判定している時点でおかしい。
GetJoypadInputState() が斜めという状態を返すのに、
「斜め==右」と「斜め==上」の両方を満たしたりすることがあると思う?

445:名前は開発中のものです。
08/07/15 13:31:28 hKPgrkB+
>>443-444
ありがとおおおお!
そうか、「==」で両方の条件を満たすモノかと思ってたけど検討違いだったみたいだ。

これで一つシューティングに近づけた!
敵移動ルーチンもがんばって作ります。


446:名前は開発中のものです。
08/07/15 13:45:15 pBagc6XR
つーかDxlib.hくらいは読め

447:名前は開発中のものです。
08/07/15 13:48:18 epOoFIz5
plx++;
plx++;
plx++;
plx++;

ここ何で plx += 4; て書かないの?

448:名前は開発中のものです。
08/07/15 13:52:26 hKPgrkB+
>>446
リファレンス読んだんですけど、関数の使い方がまだ慣れていなくて。

>>447
そういう書き方もあったんですね、本当勉強になります。

449:名前は開発中のものです。
08/07/15 14:03:28 epOoFIz5
URLリンク(homepage2.nifty.com)
まずこういうとこで勉強しる。ゲームをつくるのに必須な事柄ばかり

450:名前は開発中のものです。
08/07/15 15:46:09 EwmM+mgV
14歳シリーズ読む前に上の奴は目を通しておいたほうがいいね

451:名前は開発中のものです。
08/07/15 23:47:36 kClkDntU
DXライブラリ3Dのひと大学やめたって・・・
信用できなさすぎてワロタ

452:名前は開発中のものです。
08/07/16 00:58:20 i3IZPEwK
自キャラが動いている画面部分に、ステータス表示などのウィンドウを開くには
どうしたらいいのでしょうか?ウィンドウを描画する部分は作ってみたのですが、
うまく消すことができません・・・どう考えてプログラムを組んだらいいのか教えてください

453:名前は開発中のものです。
08/07/16 02:02:25 sIK7J7gQ
意味がわからん。
ウィンドウ描きたきゃ描けばいいし
消したきゃ描かなければいいだけでは。

毎回全部描き直してればこれですむが……?

454:名前は開発中のものです。
08/07/16 08:44:26 jVP8P/rT
>>452
毎回、画面をクリアして(あるいは、色、画像で塗りつぶして)から、
キャラクタとかを描くようにしたらいいよ。
つまり、消す=表示しない

ウィンドウに関しても、表示する/しないのフラグを作るなり何なりして、
表示する/しないを切替えられるようにする、というのが一つの考え。

画面のちらつきが気になるならダブルバッファリングでもググッて頂戴。

455:名前は開発中のものです。
08/07/16 12:47:22 Hdj1AvWV
>452
すぐ上の>449くらいは見てから聞きなさい。


456:名前は開発中のものです。
08/07/16 12:48:19 fyzf+eW+
俺も>>452と同じ所が微妙に分からないんだけど。

メインループが書いてあるコードで
while(ProcessMessage() == 0 && GetHitKeyStateAll(Key) == 0){ //メイン処理
RefreshTime = GetNowCount(); //今の時間の取得
ClearDrawScreen(); //裏画面のデータの削除

img_01();  //背景の表示
img_s1();  //スコアボードの表示

player_move();  //キャラクター移動

enemy_move_01();  //下がって来きて、一定時間止まり上に上がる敵の移動
enemy_move_02();  //右から来て左に消える敵の移動

ScreenFlip() ; //裏画面のデータを反映
while(GetNowCount() - RefreshTime < 17); //1周の処理が17ミリ秒になるまで待つ
if (Key[KEY_INPUT_ESCAPE]==1) break;

このコードだとどうしてもenemy_move_main_01と02が画面外に消えたとしてもClearDrawScreenでは消えないし、もしenemy_move_main_01内でClearDrawScreen使ったとしても違うものが消えちゃう。
そうなると画像を選択してその画像だけを消すコードを追加した方がいいの?

457:名前は開発中のものです。
08/07/16 13:03:06 Q6JHVI1A
>画面外に消えたとしてもClearDrawScreenでは消えないし

なんで?
画面外ならそもそも消す必要すらないのでは。

というか画面外なら最初から表示しなけりゃいいんじゃないのか……?

俺なにか勘違いしてる?

458:名前は開発中のものです。
08/07/16 13:08:46 fyzf+eW+
>>457
書き方が悪かったのかな。

敵が画面上部の外から出てくる(表示されてない)

画面中央ぐらいまで下がってきて止まる(表示されている)

一定時間止まったら画面上部の外に出る(表示されていない)


ここで3番目の処理の時に画像を画面外で消さないと重くなって仕方ないんだけど、効率が良い消し方も分からん。
もしかしたら画像が残っている以前に移動のコードがアレなのかも分かんないけど。


459:名前は開発中のものです。
08/07/16 13:29:57 5ZyV7TA5
敵の座標が0未満なら描画しなければいい
実際は敵の大きさを考慮しなければいけないが

460:名前は開発中のものです。
08/07/16 13:31:50 Q6JHVI1A
うーん?

俺は「画面外のキャラ」はそもそも表示しないようにしてるんだが、そういう問題じゃない?

あるいは「画面外にでたら不要になるキャラ」なら、キャラ自体を消してしまえばいいんだし。

461:名前は開発中のものです。
08/07/16 13:38:11 Q6JHVI1A
例えばこんな感じで ↓

//画面内だったら表示する
if( x + GH.width >= 0 &&
x < SCREEN_WIDTH &&
y + GH.height >= 0 &&
y < SCREEN_HEIGHT )
DrawGraph( x , y , GH , TRUE ) ;


# x と y はキャラの座標。
# GH.width GH.height はキャラの幅と高さ
# SCREEN_WIDTH SCREEN_HEIGHT は画面のサイズ

こうすれば画面外のキャラは描画処理を省く事ができるからその分処理は軽くなる。
描画処理は時間掛かるからね。

462:名前は開発中のものです。
08/07/16 14:49:40 i3IZPEwK
452です。。。描画の仕組みがちゃんとわかってなかったようです
通常はループ処理の中で秒間何コマも書き換えを行ってるですよね、
それを忘れてフォトショップのレイヤー表示・非表示みたいな発想をしてました

463:名前は開発中のものです。
08/07/16 15:13:16 jVP8P/rT
>>462
レイヤーを重ねて画面を作るという発想は間違ってないと思うよ。
それに画面外の画像についてはライブラリ側が勝手に判断して、描画する/しないを判断してくれるものだと思ってた。
(キャンバスのサイズ
そもそも、敵の数がハードコーディングできる位の量で、処理がそこまで遅くなるとも思えないので、
消えてる/消えてないとは別に理由があるような気がする。

もしかして、毎回LoadGraphScreenで画像を読み出していないか?とか。
URLリンク(homepage2.nifty.com)

464:名前は開発中のものです。
08/07/16 15:38:24 Q6JHVI1A
スピードうんぬん言ってるのは>>456でしょ?

465:名前は開発中のものです。
08/07/16 15:59:40 jVP8P/rT
ぐはw間違えたwww

466:名前は開発中のものです。
08/07/16 16:08:27 uDKC+hAb
DXライブラリ3D

復活

467:名前は開発中のものです。
08/07/16 20:59:46 5P2SX/d6
>>466
URLリンク(fatalita.sakura.ne.jp)
>大学はやめることにしました。
( ゚д゚ )

468:名前は開発中のものです。
08/07/16 21:22:19 MuiAAeME
これは予想外といわざるを得ない

469:名前は開発中のものです。
08/07/16 23:10:22 xs6cjDc7
大学を辞めるにいたった理由は他の事にのめり込んだせいか?w

470:名前は開発中のものです。
08/07/17 00:47:50 s5cW2pVU
大学やめる人間がライブラリ制作つづけられねぇだろ

471:名前は開発中のものです。
08/07/17 00:49:37 Ap/EhYGH
トラブルがあって金が払えなくなると言う涙なしに語れない話かもしれないぞ

472:名前は開発中のものです。
08/07/17 00:50:27 uimy9tns
なんでおまえらそんなに攻撃的なのw

473:名前は開発中のものです。
08/07/17 00:57:00 oEwgGZIt
良くも悪くも一度でもコースから外れたやつには厳しいのが日本だからな

474:名前は開発中のものです。
08/07/17 01:53:00 +mkSl9PA
まあ今何言われても機能とサポートが充実した状態を数年保てれば自然と利用者は増えるさ
というわけで作者頑張れ

475:名前は開発中のものです。
08/07/17 01:55:32 uimy9tns
まあ犯罪者ですってんでもなければ、
成果物を利用させてもらうことには何の躊躇いも無いな
大学出るだけが人生じゃないしな

476:名前は開発中のものです。
08/07/17 07:13:32 SZKqta3R
でも折角はいったんだから頑張って卒業した方がいいと思うなぁ。

477:名前は開発中のものです。
08/07/17 08:14:59 tmKiyq5R
作者頑張れ

478:名前は開発中のものです。
08/07/17 11:20:01 TlwjY+uU
処理速度が画面上に敵を4~5体表示するだけで致命的にガクガクになるんだけどなんでだろ?

479:名前は開発中のものです。
08/07/17 11:28:27 FcrOhhAY
>>478
1. 毎回ファイル読み込みしてる
2. 裏でソフトのアップデートが始まっている
3. 敵の画像サイズが3200x2400フルカラーのビットマップ
4. 一つの座標に同じ敵を何十回も描画してる

5. 以前に開始したゲームが終了できていない。(タスクマネージャを確認)
6. 同時起動してるソフトが重い

480:名前は開発中のものです。
08/07/17 11:34:48 TlwjY+uU
1. この記述が悪いのかな?やっぱりメモリから読み込んだ方がいいの?
LoadGraphScreen( move02.enx , move02.eny , "date/img/enemy.bmp" , TRUE ) ;

2.3は無い、画像は仮の画像だけど50*50のpngでやってる

4.ClearDrawScreen();で消す→画像の描写→ScreenFlip() ;って感じでやってるから多分大丈夫?だと思う

5.6も無いです。
やっぱり1番の問題なのかな?

481:名前は開発中のものです。
08/07/17 12:14:25 TqjgJuyg
>裏でソフトのアップデートが始まっている
あるあるww

482:名前は開発中のものです。
08/07/17 12:52:18 pdRWIRiu
>1. この記述が悪いのかな?やっぱりメモリから読み込んだ方がいいの?

当たり前だw

表示するたびに、いちいちディスクから読んでたらガクガクになるに決まってるだろ。

483:名前は開発中のものです。
08/07/17 17:24:34 d7rd6QL5
マップの表示をいちいちファイルからやってたら死ねる

484:名前は開発中のものです。
08/07/17 20:10:57 2so4oodo
ごく初歩のサンプルプログラムでもなければ、LoadGraphScreenの利用価値はまったくない。
LoadGraphScreenなんて関数はないと思っていた方がいい。


485:名前は開発中のものです。
08/07/17 20:23:27 s5cW2pVU
作者さん乙

486:名前は開発中のものです。
08/07/17 20:34:39 HJmpynoy
LoadGraphScreenって、例外的な使い方しかしないよな。

487:名前は開発中のものです。
08/07/17 21:13:47 uAQ9zE97
俺のPCはハイスペックだからLoadGraphScreenでも問題ないよ

488:名前は開発中のものです。
08/07/17 21:24:59 WlLz+UQE
どれだけアクセスの早いHDDなんだ。

489:名前は開発中のものです。
08/07/17 21:29:56 4zPgFuV4
だからって使うメリットもあまり無いと思うが

490:名前は開発中のものです。
08/07/17 21:31:24 TlwjY+uU
move01.eny++;
counter++;

if(counter > 100) move01.eny--;
if(counter > 300) move01.eny-=2;

if(move01.eny > 0)
DrawGraph( move01.enx , move01.eny , enemy_img , TRUE ) ;

アドバイス通りに書いたら安定した。
このスレはプログラム上級者が揃ってて初心者の俺にとってはありがたい

491:名前は開発中のものです。
08/07/17 21:42:01 d7rd6QL5
いつの間にかプログラミングの館で新しく解説サイトできてるな
しかも結構おもしろそう
読んでくるわ

492:名前は開発中のものです。
08/07/17 21:53:44 d7rd6QL5
DrawRotaGraphFってなんだよ\(^o^)/

493:名前は開発中のものです。
08/07/17 22:08:06 uAQ9zE97
この手のプログラミング解説サイトって絵や図が足りないよな
最後に実行結果を動画にしてるのは評価できるけど

494:名前は開発中のものです。
08/07/17 22:37:18 WlLz+UQE
絵や図を用意しようとすると労力が数倍に跳ね上がるからねぇ……。

495:名前は開発中のものです。
08/07/17 22:44:28 Hb7Xgjfk
本買えよ


496:名前は開発中のものです。
08/07/17 22:46:11 uAQ9zE97
サイト作るなら本買って構成とか真似してわかりやすくしろってことだな

497:名前は開発中のものです。
08/07/17 22:48:53 LH8MqGSK
ってか、そんなに画像が必要か?

498:名前は開発中のものです。
08/07/17 22:53:44 uimy9tns
只で見ておいてすごいことを言ってのけるなw

499:名前は開発中のものです。
08/07/17 23:11:28 uAQ9zE97
>とにかく「わかりやすい」をモットーに紹介しています。
ソースとスクリーンショットだけじゃこれ実現できねーよ
文章も校正してないしな

只で見て何も言わずに帰るのが本当に良い客なのだろうか

500:名前は開発中のものです。
08/07/18 00:09:07 6rtxrGUf
うん みてろ

501:名前は開発中のものです。
08/07/18 00:27:24 R9DZM3Hc
そんなに見づらい、わかりづらいなら
もっと図説が一杯載ってるサイトに行けばいいんじゃね?


502:名前は開発中のものです。
08/07/18 10:08:40 X7knEZGC
書籍買って勉強してるんだが、ベクトルの話がちんぷんかんぷんだぜ・・・ライブラリが使えても
物理計算が理解できないと話しにならんな、、、ナイセキとガイセキって何が違うんじゃ!!!!

503:名前は開発中のものです。
08/07/18 13:49:37 hGQjyaE4
画像消してるのにもかかわらずにページファイルが増え続けるんだけど
なんでだろ

504:名前は開発中のものです。
08/07/18 13:55:56 H/OXxpxC
DeleteGraphしてる?

505:名前は開発中のものです。
08/07/18 14:07:21 hGQjyaE4
してなかった・・・。
してみたら超安定した

506:名前は開発中のものです。
08/07/20 01:47:16 hsVM+X3h
2D横スクロールアクションでキャラと地形のあたり判定を考えてます
背景(地形)に32*16もしくは32*32のマップチップ的なものを配置、
地形のチップの上にキャラが立ち、32ドット単位で移動するようにしたいのですが、
その時の判定で能率の良い方法はないでしょうか?

今はマッピングするときに使う地図情報配列と自キャラの位置を配列座標に変換したものを
比較して、自キャラ[X][Y]に対して、地図情報[X][Y+1]がマップチップなら移動できない・・・・・って手法を考えてますが、
これだと空中に浮かぶチップがあった場合の判定が煩雑になってしまい、
ジャンプしたときなど判別を都度追加しなければならず、効率が悪くて難儀してます

507:名前は開発中のものです。
08/07/20 08:01:47 Rb93SROm
>>506 なんか、微妙にDXライブラリと関係ないけど・・・・・
使っているデータ構造とかがどのようなものか?がわからないから
かなり憶測に基づいての回答だと言う事を念頭に置いてね。
自分が想定してるアクションってのが、聖剣伝説みたいな見下ろし型でのものだけど、
マリオなんか見たいのでも、似たような感じで応用すれば使えると思うよ。

まず、地図情報があると言うことだから、それを若干拡張してください。
 例:char DataMap[MAP_MAX_SIZE_X][MAP_MAX_SIZE_Y][MAP_MAX_SIZE_STRUCTURE];
で、一層目に普通のマップ情報、二層目に地上キャラクタの情報、三層目に空中キャラクタの情報
とでもして、check時に、
 普通は一層目が進行可なら二層目を調べる。
 ジャンプなどの場合は、一層目を調べてさらに三層目を調べる。
みたいなのでどう?

あと、効率が悪いと言っても基本的に変な総当たり式みたいな判定出ない限りは
大した効率さは考えなくていいと思うよ。


508:名前は開発中のものです。
08/07/20 08:54:56 zgBZw03q
>>506
空中に浮かぶチップがあった場合の判定が煩雑になる理由は?

509:名前は開発中のものです。
08/07/20 10:37:50 d2RmswSs
四角形と直線の当たり判定がどうもうまくいかない・・・
この前当たり判定のまとめサイトみたいなの見つけた気がしたんだが
どこにいったんだか

直線を(ax+by+c=0)として表現するっていうのができたらできそうなんだが、
2点の座標からa,b,c全部求めるのって無理じゃね

510:名前は開発中のものです。
08/07/20 11:14:01 Tcsf7iZJ
>>509
直線の方程式を y = Ax + B から展開していけば解けるよ。

511:名前は開発中のものです。
08/07/22 23:59:25 M/E435KZ
>>509
もう出来てるかも知れないが中学数学のお話だぞそれは
直感的に考えても点が二つあれば一本直線が引けるだろ
つまりは方程式も点が二つあれば求まるんだよ

512:名前は開発中のものです。
08/07/23 01:15:20 GLsAu5Iz
龍神録プログラミングの館ってできたのな。
こりゃ確かにコピーが作れる

513:名前は開発中のものです。
08/07/23 11:52:10 82XNmZh+
どこかおかしいと思ったら"r"でfreadしてた
今までうまく動いてたけどいきなり不具合が出たから迷ったぜ

514:名前は開発中のものです。
08/07/25 10:57:45 YGbibhe6
ちょっとしたことなんだけどさ

if( ( GetMouseInput() & MOUSE_INPUT_LEFT ) != 0 ){ 以下略

でマウス左クリックを検出してんだけど、
これペンタブを検出してくれないんだな。

515:名前は開発中のものです。
08/07/25 15:19:27 1Kbo7I82
DXライブラリ3D
大学やめたのか


516:名前は開発中のものです。
08/07/26 06:28:51 L5kt2X8n
大学どころか人生やめました

517:名前は開発中のものです。
08/07/26 13:23:17 IUb0Oqp3
どうせゲ専にでも行くんだろ
業界が大卒以外取らないってのは、決して脅しの言葉じゃないぞ

518:名前は開発中のものです。
08/07/26 13:28:45 YzymVi7X
>>517
JEXさんのこと全然知らないんだな
しかもどこのが会社が大卒以外取らないとか言ってんだよ

519:名前は開発中のものです。
08/07/26 13:43:10 yPJXRj/4
任天堂

520:名前は開発中のものです。
08/07/26 15:43:58 gmVyP22M
誰か、14歳からはじめるC言語ゲームプログラミングでゲーム作っている人いますか?



521:名前は開発中のものです。
08/07/26 15:48:40 gx2oBCiZ
ノシ

とりあえず熊キャラのところまでたどり着いた・・・・
三回読み直してようやく何をやってるのか、少しわかるようになった
良書と思うが、ライブラリの使用を作者の作ったヘルパー関数の利用で賄ってる部分が多いので、
初めての俺にはそこが難しい(かった)な

522:名前は開発中のものです。
08/07/26 15:56:30 gmVyP22M
P82のDXLib_VC2_24b.exeがどこにあるか分からないのですが
どこにあるのですか?
教えてください!


523:名前は開発中のものです。
08/07/26 16:02:26 gx2oBCiZ
ちょっと今手元に本が無いから、なんのことやら・・・スマンネ

524:名前は開発中のものです。
08/07/26 16:09:33 gmVyP22M
そうですか
今、DXライブラリがどこにあるか分からなくてとても困っています。
とりあえず、教えてほしいのですが付属のCDでダウンロードできるんですよね?

525:名前は開発中のものです。
08/07/26 16:12:35 gx2oBCiZ
うろ覚えだが、付属のCDはVisualStudioの奴だけで、
あとはサイトからダウンロードするんじゃなかったかい?
サンプルとライブラリはネットで落とした記憶が・・・

他にもゲーム系入門書を数冊買ったので、ごっちゃになってるかもしれないが・・・

526:名前は開発中のものです。
08/07/26 16:13:53 RMhYO7Z4
>>524
調べる事も勉強になるから、それぐらいは自分一人の力で解決しないと先に進めないよ

DLと使用環境を整えるぐらいは一人でもいけるはず。

出来ないのならプログラムよりも先にパソコンの使い方とかを勉強したほうがいいかもしれない。

527:名前は開発中のものです。
08/07/26 16:49:04 T15EAVrC
「CDでダウンロードできる」と言ってるあたり、まだ何も解ってないみたいだね。

2chくるより先に公式サイト見に行くべきだ。

528:名前は開発中のものです。
08/07/26 18:16:55 gmVyP22M
わかりました、公式サイトに行ってみます

529:名前は開発中のものです。
08/07/26 19:19:12 MaSVBvZq
>>518
悪いけど、まともな企業になってきてる大手は原則大卒しか新卒ではとらないよ。
実績とかなにか、自分の力を証明できるようなもんがあれば別だけど・・・・・
まぁ、どうでもいいか。


530:名前は開発中のものです。
08/07/26 19:28:02 T15EAVrC
それに、仮に大卒以外として採用されたとしても、待遇は天地の差がある。
給料はもちろん、回される仕事も大きく違う。
せっかく大学受かったなら、辞めないほうがいい。

531:名前は開発中のものです。
08/07/26 19:30:34 IJz7tQo6
これが学歴厨か・・・
こっちで色々語られてるぞ

ゲームクリエイターになってみない?
スレリンク(gamedev板)

532:名前は開発中のものです。
08/07/26 19:33:01 YzymVi7X
任天堂受けたけど、90人の枠に何万人もエントリーするあの倍率じゃ
大卒ウンヌンとかって話じゃないよw
とりあえず勉強してない奴は筆記試験からして最初っからすぐ落ちる。

533:名前は開発中のものです。
08/07/26 20:35:44 dHaaAq9w
任天堂の技術系は東大か京大か東工大じゃないと話にもならんよ

534:名前は開発中のものです。
08/07/26 20:38:55 0BMzZt8C
高専は?

535:名前は開発中のものです。
08/07/26 20:42:20 nbFOjXde
>>534
無理ぽ

つか大手だーじゃなくて、好きなもの作ってる所受けてみりゃいいと思う
特にマの人。

536:名前は開発中のものです。
08/07/26 22:08:20 czyUlfmN
任天堂は、面白くないゲームでも面白そうに思わせる宣伝力とか。
企画を工夫して売るとか、
海外相手に日本じゃありえないような言いがかりのような法的トラブルを防ぐ能力とか
凄腕プログラマを育てるのではなく外からスカウトしてきて上手く使いこなす能力とか・・・
そういう感じの人たちが終結してるんじゃないかと想像。




537:名前は開発中のものです。
08/07/26 22:23:47 yPJXRj/4
学歴厨っていうか入り口での足きりをするときに
似たようなレベルの作品&印象だったら学歴高い方を選ぶだろJKってだけの話だよ。

高卒でも大卒のやつらを上回る技術を示せる作品を作って、
剛体力学、流体力学、行列・ベクトル演算、幾何代数を独学でマスターすれば全く問題無い。

538:名前は開発中のものです。
08/07/26 22:53:29 iaDbs620
流れを変える意味でも、ちょっと初歩的な質問をさせてくれ
DrawFormatStringなんだけど、これって実際には
バックにグラフィックの枠のようなものを表示させて、座標はある程度めぼしをつけて、


================== <-グラフィック
ここに点数とか     <-DrawFormatStringで書く
ここに名前とか
================== <-グラフィック

みたいにして使うものってことでおk?
ゲームのステータス表示とかで使いたいと思ってるんだが・・・

539:名前は開発中のものです。
08/07/26 23:24:49 tnwbSQld
まぁ、それで出来ないことはないだろうが。
DxLib.h見てないからなんともいえないが、もしかしたら描画した文字列の高さを返す関数があるかもしれんが。
不安だったら、文字を画像にしちゃうとか。

540:名前は開発中のものです。
08/07/26 23:29:39 iaDbs620
文字の中でも固定的なもの(ポイントとかHPとか言う呼称)までは画像にしようかと、、、
以前、画像の読み込みで練習用?の呼び出しがあるとか無いとかって話しになってたので、
もしかしたら見落としてる命令があるかと思って聞いた次第です

541:名前は開発中のものです。
08/07/27 00:03:36 ofRKBqbI
すまないが、何を疑問に思ってるのか解らない。

俺はゲーム中のメッセージ表示や、あるいはデバッグ用の変数値表示に使うくらいだな。
点数とかは、自分で文字画像作ってそれを表示させてる。

フォントのサイズは自分で設定できるんだからそれに準ずればいい。
ただフォントいじる命令、やたら遅いので頻繁に変えるようだったら
最初から複数のフォントを用意しないといけないんだったかな。

文字を画像にしたらフォントのライセンスとかでまずい事になるんじゃないかな。

542:名前は開発中のものです。
08/07/27 00:10:58 6pVtHho2
そうとは言い切れないけど、大抵指定したフォントサイズが
文字のドット幅になるよ。

543:名前は開発中のものです。
08/07/27 10:54:20 tU8sxjgU
幅はDxLib.hのGetDrawStringWidth系関数が使えそうですが、
高さの取得用関数は用意されてないみたいですね。

フォント用の内部構造体FONTMANAGEには高さが含まれているので、
DxLib.hでコメントアウトされているGetFontManageDataToHandle( int FontHandle ) あたりを使えば
文字の高さを取得できそうです。
あるいは文字高さ取得用関数をライブラリに追加するか。
いずれにせよ、要改造になってしまいますが。

544:名前は開発中のものです。
08/07/28 00:27:53 6zw2nRJ7
テキスト表示の件、ありがとうございました、、、何故疑問に?と思う人もいたみたいだけど、
プログラミング始めたばかりなので、「自分がいいと思ってやってることが正解なのかわからん」状態なので
思わず利いてしまいました

で、次のは微妙にスレ違いっぽい質問なのだけど、LaadDivGraphで読み込んだ複数のキャラ画像を
メインキャラの動きに合わせて追従させるにはどうしたらいいと思いますか?
動きとしてはグラディウスのオプションとか、ソーサリアンのパーティキャラみたいな感じのものです
自分が組んだロジックは、

・メインキャラの移動状態を保存用配列に古い記録を破棄しながら随時記録
・配列の情報に基づいてサブキャラの座標を決定して表示

としてるのですが、サブキャラを増やすと記録すべき配列要素の数も増えて
どうも動作が緩慢になってる感じがします・・・自分のマシンではそれほどストレスがないですが、
スペックの落ちるマシンだとストレス溜まりそう・・・なのですが、妙手が思いつきません

545:名前は開発中のものです。
08/07/28 00:35:13 3fAUJGid
横スクロールアクションのサンプルは、結構少ないのな
作ってたら、ごちゃごちゃと長くなったから、先人のを参考にしたかったのに

546:545
08/07/28 00:58:54 3fAUJGid
すまんかった

ただ、俺の検索能力が低かっただけみたい

547:名前は開発中のものです。
08/07/28 01:05:00 ESVO02ow
>>544

俺もそれ、考えた事はあるけどやった事ないから正解はわからんが、
俺なら同じように配列に「座標」を記録していくかなぁ。

にしても100や200追従させたところで
そうそう動作が重くなるとは思えないんだけど
どれくらいの数動かす事が前提なのかな?


548:名前は開発中のものです。
08/07/28 01:52:02 dT1uTere
オプションの最大個数*n(オプションの間隔)
のサイズのリングバッファを作り
自機の座標を記録していくんだ。

で、現在のポインタから、n個ずつ古い座標を取り出してオプションの座標にしる

549:名前は開発中のものです。
08/07/30 12:30:53 I1TOnfGu
typedef struct{
int enx; //敵 x座標
int eny; //敵 y座標
int flag; //フラグ
} ENEMY;


ENEMY move01 = {100,1,0};
ENEMY move02 = {300,1,0};

void enemy_move_02(){

double test = atan2(move02.eny . move02.enx)→ここでエラー。

もしかして構造体とatan2関数って一緒に使えない?
move02.eny . move02.enxを「move02」 「eny」 「move02」 「enx」
って認識してるっぽいんだけど

550:名前は開発中のものです。
08/07/30 12:34:52 jxOLhJk/
","じゃなくて"."になってるのと";"忘れ

551:名前は開発中のものです。
08/07/30 12:38:49 I1TOnfGu
しまったw
こんな単純なミスをずっと気がつかなかったのか。

>>550
下らん質問に答えてくれてありがとう。

552:名前は開発中のものです。
08/07/30 13:27:32 I1TOnfGu
>>550
のミスを修正していざデバッグしたら
'atan2' : オーバーロード関数の呼び出しを解決することができません。

ってエラー出るんだけど、何が悪いの?ENEMY move02 = {300,1,0};で整数がatan2のy.xに代入されてるから?

553:名前は開発中のものです。
08/07/30 13:50:42 BwimhXf8
math.hはincludeしてる?

554:名前は開発中のものです。
08/07/30 13:58:39 I1TOnfGu
>>553
ちゃんとしているよ。

555:名前は開発中のものです。
08/07/30 13:59:38 BwimhXf8
float と double で、、てのもC#ならともかくC++じゃなあ。
とりあえずキャストしてみては?

556:名前は開発中のものです。
08/07/30 14:19:59 I1TOnfGu
static_cast(double)でやってみても普通のキャストでもダメだw

atan2関数って結構クセもんだな

557:名前は開発中のものです。
08/07/30 14:21:08 Lgzy7JPK
まだどこか、カンマとピリオドをうち間違えてるのかも。
フォントが小さいと分かりにくいから要注意。

558:名前は開発中のものです。
08/07/30 14:31:10 5y8IMZn/
atan2といえば、ゲーム実行中にドメインエラーがよく出たなー。

559:名前は開発中のものです。
08/07/30 14:31:57 4++6mc8t
atan2( (double)move02.eny , (double)move02.enx);
でどうですか?

560:名前は開発中のものです。
08/07/30 14:35:07 I1TOnfGu
>>>557

エラーがこれだけだから、多分何かが違うんだと思う

enemy_move.cpp(63) : error C2668: 'atan2' : オーバーロード関数の呼び出しを解決することができません。(新機能 ; ヘルプを参照)
1> d:\c++\vc\include\math.h(547): 'long double atan2(long double,long double)' の可能性があります。
1> d:\c++\vc\include\math.h(499): または 'float atan2(float,float)'
1> d:\c++\vc\include\math.h(110): または 'double atan2(double,double)'
1> 引数リスト '(int, int)' を一致させようとしているとき

多重定義もクソも一回しか使ってないんだけどw

561:名前は開発中のものです。
08/07/30 14:37:25 I1TOnfGu
>>559
あ、今度はうまくいった。
一つ一つにキャストしないといけないのかー。
不便だな結構。

562:名前は開発中のものです。
08/07/30 14:39:13 bDlTbbmG
ちょ、、、どうやろうとしてたんだ?w

563:名前は開発中のものです。
08/07/30 14:42:13 I1TOnfGu
double test = (double)atan2(move02.eny , move02.enx);

これで一気に出来ると信じてた

564:名前は開発中のものです。
08/07/30 14:43:55 Fn2JO3tM
敵の座標や速度は小数にして必要なときに整数にキャストするのがよくね
位置が整数だと2フレームで1px動かすときとか苦労する

>>563
関数のオーバーロードは引数で区別される

565:名前は開発中のものです。
08/07/30 14:45:42 Fn2JO3tM
ちなみにそれだと関数が返した値をdouble型にキャスト変換するだけで関数の評価には関係ない

566:名前は開発中のものです。
08/07/30 16:21:00 I1TOnfGu
atan2を使ってて思ったんだけど。
敵にsin波の動きをさせるだけだったらatan2使わないでsin使ったほうが楽だよね?

567:名前は開発中のものです。
08/07/31 05:31:29 OJUOAbtf
>>556
え!?
static_castとか知ってて普通のキャストの基礎知らなかったりするのはかなり意外なんだけど

>>566
そもそもどうしてatan2を使おうと思ったんだい?

568:名前は開発中のものです。
08/07/31 11:25:29 6cZaCcAX
static_cast(double)じゃなくてstatic_cast<double>だけどな

569:名前は開発中のものです。
08/07/31 18:11:14 r/NTYYBz
返り値をキャストしてもショウガナイですね・・。
math.hの関数はよくint型引数にしようとして失敗したことが昔ありましたねぇ

で、atan2は敵と自機の角度求めたりするのによく使いますけど、
波の表現には使いませんねぇ
math.hの関数はどれも遅いので、なるべく使わないようにしてはどうでしょう

570:名前は開発中のものです。
08/07/31 21:35:59 7gZA2bfW
>>569
math.hの関数を使わないでのsin波の場合だとどうなるんだろう・・・。

sinもmathだと思うし、何を使うべきなんですかね

571:名前は開発中のものです。
08/07/31 21:38:43 DHgf9I5V
fastmath.h

572:名前は開発中のものです。
08/07/31 23:26:36 iw2uu9Rv
neetmath.h

573:名前は開発中のものです。
08/07/31 23:38:05 TL4sUMQR
>>570
まずはmath.hの三角関数を使うべきだと思う。
今どきのPCで三角関数のコストが無視できない状況なんてあまり無い。

もしVCを使っているなら、
#pragma intrinsic
の使用を検討してみるといいよ。

コンパイラのビルトイン関数を使うことで速度向上が期待できる。
gccならデフォルトでビルトイン関数が適用されてる。

574:名前は開発中のものです。
08/08/01 11:40:12 nuMWOD8l
環境はc++とDXライブラリ

#pragma intrinsicってprintfとかのだよね?
c++だとあんまり使ってないや

575:名前は開発中のものです。
08/08/01 16:30:58 GtdXG6pu
画像の拡大縮小、反転などを併用したい場合は、素材側で対応するのが無難でしょうか?
一度描画したものをGetDrawScreenGraph()で取り込んで、別の方法で描画…というのはできましたが、
良い方法とは思えません。

576:名前は開発中のものです。
08/08/01 21:20:18 qPjnEgAD
背景含めて全部まとめて動かすってこと?

577:名前は開発中のものです。
08/08/01 23:31:27 GtdXG6pu
>576
int gHnd=LoadGraph("0002.jpeg"); //0002.jpegは50*50pixelの画像ファイル
int gHnd2 = MakeGraph(100,100);
DrawGraph(300,300,gHnd,true);
DrawExtendGraph(0,0,100,100,gHnd,true);//縦横2倍に拡大して描画
GetDrawScreenGraph(0,0,100,100,gHnd2);//描画されたgHndを読み取る
DrawTurnGraph(100,0,gHnd2,true);//左右反転して表示

めちゃくちゃなことをしているのは分かっています…

578:名前は開発中のものです。
08/08/02 00:38:21 AuP8vB/z
int gHnd = LoadGraph("0002.jpeg");
DrawRotaGraph(50, 50, 2, 0, gHnd, true, true); // 2倍拡大+透過+反転
こういうことかな

579:名前は開発中のものです。
08/08/02 00:52:28 LP1XDt9q
>578
ありがとうございます!
リファレンスの読み込み不足だったようですね…お恥ずかしい限りです。

580:名前は開発中のものです。
08/08/02 02:49:35 yuB/nvf2
自分も>>575の方と似たような事で詰まってるのでお力添えを…。

URLリンク(www1.axfc.net)
と、縦横別倍率で拡大、と、画像の回転を両立させたいんです。
これが背景でしたら>>577と同様の方法で、
DrawExtendGraph→GetDrawScreenGraph→DrawRotaGraphといけそうですが、
エフェクトで使いたい処理なので、既に背景などが描画されているメイン画面は使えないという状況です。

こういった場合は何か作業領域などを作るしか方法は無いのでしょうか…?


581:名前は開発中のものです。
08/08/02 09:44:54 2jU8Dntq
DrawModiGraph

582:名前は開発中のものです。
08/08/02 09:52:10 ejRXzIue
最悪DrawPolygon3Dでどうとでもできるわな

583:名前は開発中のものです。
08/08/03 02:27:17 iWpnfRGq
>>581
あぁ、こんな使い方も出来たんですね…。知識不足ですみません。
これで何とか考えた通りに出来ました。本当にありがとうございます。

584:名前は開発中のものです。
08/08/03 11:03:48 KmvncGNt
DXライブラリ、サンプルプログラムのスクロール基本なんですが
URLリンク(homepage2.nifty.com)

手計算だとどうしても描画用マップチップの配列(座標)が0,0からスタートしてくれません
プログラムは当然ちゃんと想定どおり動いてるのですが、

プレイヤーの初期位置Xが2、Yが2状態で計算すると
DrawMapChipNumX は 11
DrawMapChipNumY は 8

MapDrawPointX は -3
MapDrawPointY は -2

となり、マップの描画を決めるループを手繰っていくと、i が3以上、j が4以上にならないと条件を満たさず、
その条件で計算すると、MapData[ i + MapDrawPointY ][ j + MapDrawPointX ] は[1][1]が代入されると思うのですが・・・
こちらの計算違いではあるのですが、どこがおかしいのか分からないので間違ってるところを教えてください

585:名前は開発中のものです。
08/08/03 12:08:48 S+BsW+Rs
if( j + MapDrawPointX < 0 || i + MapDrawPointY < 0 ) continue; // 描画しない
if( MapData[ i + MapDrawPointY ][ j + MapDrawPointX ] == 0 ) DrawBox();



if( a < 0 || b < 0 ) continue; // 描画しない
if( MapData[ b ][ a ] == 0 ) DrawBox();

どうみても最初の描画は MapData[ 0 ][ 0 ] ですね

586:名前は開発中のものです。
08/08/03 13:09:28 KmvncGNt
回答ありがとうございます、しかし、頭がこんがらがってきました

if( a < 0 || b < 0 ) continue; // 描画しない

これって人間の言葉にすると「aがゼロより小さい、または、bがゼロより小さいときは描画しない」ですよね?
ということは、ループの中で a=0 b=0 が与えられたとする条件を満たしてないと思うのですが・・・
自分が間違ってそうな箇所はわかりました、、どうやら論理演算子と関係演算子をもう一度勉強しないとだめみたいですね



587:名前は開発中のものです。
08/08/03 13:22:36 s3YJPvG5
>ループの中で a=0 b=0 が与えられたとする条件

意味が良くわからないんだが、
どこで与えられた
何のための条件?

588:名前は開発中のものです。
08/08/03 13:46:05 rlVyTzUB
>>213
ありがとうございます
大体解りました

589:名前は開発中のものです。
08/08/03 13:48:13 KmvncGNt
>>587
× (a=0 b=0)が与えられたとする条件
○ (a=0 b=0)が与えられたとしても、条件(を満たしていない)

ですね、編集してるうちに変な文章になってしまってました、すみません

どこで与えられた、というのは多重ループの中で

i + MapDrawPointY //*1
j + MapDrawPointX //*2

を計算した結果だと思っていただければ・・・最終的に欲しい答えが

MapData[ 0 ][ 0 ]

ですから、一行前のエリア外を描画しないための制御文、

if( j + MapDrawPointX < 0 || i + MapDrawPointY < 0 ) continue; // 描画しない

のところで、*1も*2もいずれも0の状態で条件分岐を通過してくれないといけないわけですが、
そこのところが自分の理解では「通過しないはず」なので困っていました

590:名前は開発中のものです。
08/08/03 14:32:28 S+BsW+Rs
if (a < 0 || b < 0) continue;

if (0 < 0 || 0 < 0) continue;

if (false || false) continue;

if (false) continue; // continueは実行されますか?されませんか?

591:名前は開発中のものです。
08/08/03 14:41:23 KmvncGNt
>>590
解りやすい解説ありがとうございます、
自分の誤解が招いた疑問が氷解しました・・・

592:名前は開発中のものです。
08/08/03 15:10:05 Q1RwoYf2
敵を少しでも多く表示しようとするとカクカクになるw

593:名前は開発中のものです。
08/08/03 15:24:02 0ZCECk8O
>>592
解像度(スクリーンの大きさ)を1/4(縦、横ともに半分)にするのです。
それだけで、貴方のアプリケーションの速度は劇的に改善するでしょう。
と言ってみるテスト。

毎回ファイル読み込みとかしてないか注意。

594:名前は開発中のものです。
08/08/03 15:33:45 s3YJPvG5
>>592

このスレの>>478あたりから読み直してみるといい。

595:名前は開発中のものです。
08/08/03 22:37:42 Q1RwoYf2
>>594
悪い、同人物だ。

今度こそはメモリから読み込んでいるのにカクカクだぜ

596:名前は開発中のものです。
08/08/03 22:45:50 +Yq3eKTl
メモリから読み込む、ってのがループ内だと意味ないんだぜ?

つーかソースどころか状況もわからんのに答えられるわけなかろう。
あてずっぽうのアドバイスが欲しいのか?
あてずっぽう考えるのだって大変なんだぜ?

597:名前は開発中のものです。
08/08/03 22:47:35 xylQeBNi
処理ごとの速度を計測すれば、どこに時間食ってるかわかるし、
解決策も自ずと見えてくる

598:名前は開発中のものです。
08/08/04 00:33:29 0yRulxuI
>>596
あーもしかしたらそうなってるかも。
大まかなソース↓
(enemy_move)
typedef struct{
int enx; //敵 x座標
int eny; //敵 y座標
int flag; //フラグ
int counter; //カウンター
} ENEMY;
ENEMY move01 = {100,1,0};
(略)

void enemy_move_02(){ //x100から左寄りのsin波移動


move02.enx+=sin(PI*move02.eny/80)*5;
           move02.eny+=1.5f;


enemy_img = LoadGraph("date/img/enemy.bmp");
DrawGraph( move02.enx , move02.eny , enemy_img , TRUE ) ;

DeleteGraph( enemy_img ) ;


}

↑こんな感じのコードをexternでmain.cppの方で動かしてる、main.cppではwhileでこれらをループしてて、エスケープを押すとブレイクするようになってる。
竜神録のサイトを参考にして丸写しじゃツマランから自分で考えて作ってるんだけど、難しいな。

599:名前は開発中のものです。
08/08/04 00:38:34 7CBzeKTD
それだと動かすたびに読み込んで削除してを一々やってる
ゲームループの前に1回だけ読み込んで不要になったら削除

600:名前は開発中のものです。
08/08/04 00:49:06 0yRulxuI
>>599
となると、while文が入る前にexternなりなんなりで読み込みだけを済ませるほうが良いって事?
というか全部の使う素材は全部ゲームループする前にメモリに読み込ませた方が良いって事だよね?

それだと俺大幅な修正が必要になりそうw

601:名前は開発中のものです。
08/08/04 01:02:17 SorplbiK
>>600
やりたくないんならやらなければ良いよ。学校の授業じゃないんだから。
多分分かってるんだろうけど>>599の言ってる事(内容)は適宜だよ。
修正が必要なら修正するだけだろ
戦わなきゃ現実と

602:名前は開発中のものです。
08/08/04 01:10:24 Vp8LYTR0
>>600
外部ファイルの関数を使うときは、普通はexternを使わないで、プロトタイプ宣言を使うらしいよ。


あと、enemy_imgをNULLで初期化されてるなら、

if ( enemy_img == NULL ) { enemy_img = LoadGraph("date/img/enemy.bmp"; }

という怪しげな応急処置で済ますことも可能。

603:名前は開発中のものです。
08/08/04 03:17:57 2eoeRGcN
>>598
龍神録プログラミングの館見て解らない事あるんなら、
そこの掲示板で聞けば
URLリンク(l.huu.cc)
館の質問に限らず何にでも答えてくれるし


604:名前は開発中のものです。
08/08/05 16:26:30 oHDI2BWt
320x240ドットのゲームの画面出力を640x480のサイズのウィンドウに表示したいのですが、
それをDXライブラリでやる一般的な方法ってありますか?

って質問を書いてたらちょうどマニュアルで
int SetWindowSizeExtendRate( double ExRate ) ;
を見つけられました。
本当にありがとうございました。

605:名前は開発中のものです。
08/08/05 19:38:02 EpXD5UKo
縦横比をどうにかできる方法があれば凄いんだけどね・・・。
4:3モニタの時代は終わったのかな。
最近ワイドモニタ多すぎ。特にノート。
テストしてもらった知り合いのPCが殆どワイドだったのに驚愕した。

606:名前は開発中のものです。
08/08/05 20:28:53 CKp+IHYO
歩留まりがいいらしいからね

607:名前は開発中のものです。
08/08/05 20:57:36 31D+/5a6
横シューを作れという事じゃなかったのか。

608:名前は開発中のものです。
08/08/05 21:12:24 YYddeISL
>>604の方法で拡大すると320*240非対応のディスプレイでフルスクリーン化出来ないし
うちの環境だとアンチエイリアスがかかって見難くなるんで

①320*240のサイズで描画
②空のグラフィックハンドルに①を取得
③640*480に拡大して貼り付け

ってやってるんだがCPU使用率が跳ね上がる
おとなしくSetWindowSizeExtendRateで拡大したほうが良いんだろうか


609:名前は開発中のものです。
08/08/05 22:32:25 vtCV6T3y
横シューよりドラゴンバスターみたいなアクションがやりたい


610:名前は開発中のものです。
08/08/06 00:20:08 +mP1DFYH
>>608
URLリンク(hpcgi2.nifty.com)

611:名前は開発中のものです。
08/08/06 20:46:19 e8apu092
>>610
かなり改善されたわ
㌧クス

612:名前は開発中のものです。
08/08/07 21:27:43 BMBqvRRu
マップチップ画像を分割で読み込んだ後、それを複数枚横に並べた画像を“描画せず”に1枚の画像としてメモリに格納するにはどうすればいいのでしょうか?

具体的には、たとえばこんな5×3のマップがあるとします(0=山、1=川とする)
0,1,1,1,0
1,1,1,1,1
0,0,0,0,0
この1列目の0,1,1,1,0を描画した結果の絵、つまり「山川川川山」という画像をGHandle[1]に格納(描画せずに)させたいんです。
もしマップチップ1枚の画像サイズが縦横32*32だとすれば、160*32の画像を1枚作ることになります。

613:名前は開発中のものです。
08/08/07 21:49:24 qrl05lIa
>>612
MakeGraph使うんじゃないの?

614:名前は開発中のものです。
08/08/07 21:51:26 IbgkXEDA
裏画面に描画して、ってやり方じゃダメかな。

何の意味があるのか知らないけど。

615:名前は開発中のものです。
08/08/07 21:52:01 O800tzRD
普通にLoadGraphでいいじゃん

616:名前は開発中のものです。
08/08/07 22:09:30 BMBqvRRu
やりたいことは・・・ロードランナーでいうと、完全なサイドビューではなく、レンガの上面(キャラクターが乗って触れてる面)も見えるようなビューにして奥行きを出したいんです。
上面を描くのに、まず完全サイドビュー視点のマップ画像を一列分つくって、それを台形のように変形させて(高さも潰して)対応させようかと思いました。

617:名前は開発中のものです。
08/08/07 22:16:01 BMBqvRRu
普通はレンガの上面はみえないけど・・・
URLリンク(www7.ocn.ne.jp)
レンガの上面も見えるようなビューにして奥行きを出したい
URLリンク(www7.ocn.ne.jp)

斜め画像を用意しておくのも手ですが、それをせずに済ませたいんです。

618:名前は開発中のものです。
08/08/07 22:16:51 sPTbyZsz
3D

619:名前は開発中のものです。
08/08/07 22:24:23 BMBqvRRu
あ、上面だけでなくサイドの面も描く必要があるか。
自分の方法だと面倒だな・・・

>>618
たしかに3Dのほうが楽かもしれないですね。
こっちにしようかな


無駄な質問をしてしまったようでみなさん申し訳ないです。

620:名前は開発中のものです。
08/08/07 22:47:55 qrl05lIa
>>612
MakeGraphで作ったグラフィックをSetDrawScreenで指定して書き込めば良いのではないかと思ったけれど、
「3D機能をOFFにしなければいけない」とか「ロックしないといけない」っていうのがあって、めんどくさいな。

621:名前は開発中のものです。
08/08/08 00:18:40 k2u31CRe
普通にドット絵を描けばいい気がする。

622:名前は開発中のものです。
08/08/09 21:19:32 5H+GkDR5
画面に描画した内容をまっさらに直したいというだけなら、
ClearDrawScreen()の代わりにDrawBox()などを使用しても問題ありませんか?
また、問題ないのでしたら、このふたつは処理速度上、どちらが有利でしょうか?

623:名前は開発中のものです。
08/08/09 21:38:06 AID2npSx
自分で試せば済む事でしょう。

624:名前は開発中のものです。
08/08/09 21:44:53 5H+GkDR5
>623
動作は確認したのですが、ClearDrawScreen()には、何か目に見える動作意外にも、
役割があるのではと思いまして…

625:名前は開発中のものです。
08/08/12 00:53:34 F3VDNdY9
SetDrawBlendModeの
DX_BLENDMODE_INVSRC が使えないんだけど
俺だけかな・・・
バージョンふるいのかなあ

626:名前は開発中のものです。
08/08/12 15:36:18 mn/79eK/
>>625
使えないって定義がされて無いといわれるんでしょうか?
もしそれならヘッダファイルのDX_BLENDMODE_....に
あたる部分を探してみては?

627:名前は開発中のものです。
08/08/12 22:39:16 yxG5mAbd
C#でDXライブラリを使っているのですが、画像や音楽の保存場所がわからなく困っています。
初歩的な質問と存じますが、アドバイスをお願いします。

開発環境
Visual C# 2008 Express Edition

628:名前は開発中のものです。
08/08/12 23:02:09 kcKrfT4b
カレントディレクトリに置いたらいいよ。

629:名前は開発中のものです。
08/08/13 08:48:19 yFX3V9Dg
C#でも使えるのか
すごいなぁ

業務アプリや科学計算ばっかりでゲームとか作ったことないけど
俺もパズルゲーム作ってみようかな

630:627
08/08/13 11:08:10 7NjPpTlV
教えていただき、ありがとうございます。
カレントディレクトリって、作業中のフォルダですよね?
C#の場合ですと、[WindowsFormsApplication1]フォルダでいいのでしょうか?

何度も申し訳ありませんが、よろしくお願いします。

631:名前は開発中のものです。
08/08/13 11:22:56 FyPLvjSN
C#がどんなのか知らないけどな。

カレントディレクトリってのが作業中のフォルダって認識は合ってる。
ただ「なんの作業中か」を誤解している可能性がある。

例えば、貴方がゲームを作って、そのプログラムが「game.exe」というファイル名で作成されたとしよう。
当然、そのゲームをするにはその「game.exe」を実行するわけだが、
その時、まさにその「game.exe」のあるフォルダが「作業中のフォルダ」になるわけだ。

要するに「カレントディレクトリに置いたらいいよ」ってのは
「実行ファイルと同じとこに置いとけ」という意味だ。

632:名前は開発中のものです。
08/08/13 11:42:08 ZEZwt305
いやー、その説明はどうかと。

633:名前は開発中のものです。
08/08/13 11:42:13 BbNVLc2o
ショートカット経由で起動した場合はショートカットの場所がカレントになるだろ

634:名前は開発中のものです。
08/08/13 12:10:59 ZEZwt305
まあとにかく、リソースの類はファイル埋め込むかEXEの場所に。
カレントをあてにせず、EXEの場所を調べてアクセスするのがいいかな。
書き込む場合はEXEの場所じゃないほうがいい。

635:名前は開発中のものです。
08/08/13 12:21:47 yFX3V9Dg
カレントディレクトリは、OpenFileDialogを使ったりすると
読み込み先のフォルダに変わったりするから注意した方がいいと思うぞ
それが原因で詰まったこともあるから

636:名前は開発中のものです。
08/08/13 17:09:46 RJ+2pmNA
適当にカレントディレクトリに置けばいいとか言った。反省はしている。

相対パスでアクセスしたいってことだよね?
それとも絶対パスでも画像とかが動かないの?
後者だとお手上げ。
前者なら、多分bin/Debugフォルダが作られてるから、そこに置けばいいよ。

637:名前は開発中のものです。
08/08/13 17:31:59 yFX3V9Dg
DXライブラリゲームプログラム開発講座を全部読んでみたけど、
すごーーーーーーーく初心者向けの解説だなw

まぁこれで十分なのかも知れないけど、
もう少し詳しい中級者レベルのはないのかな

638:名前は開発中のものです。
08/08/13 17:40:55 gDnH2Ick
中級者なら自分で考えるか、他の方法知ってる前提なんだろ


639:名前は開発中のものです。
08/08/13 18:56:43 R5DuEQYn
>>637
DXライブラリについて勉強したいならココダロー
URLリンク(l.huu.cc)
龍神録プログラミングの館まで全部理解出来れば相当使いこなせるようになるかと


640:名前は開発中のものです。
08/08/13 19:00:40 yFX3V9Dg
>>639
おおありがとう
こっちはもう少し実践的だね

641:627
08/08/13 20:13:52 7NjPpTlV
皆さん、教えていただいてありがとうございます。

画像をbin/フォルダの下にあるDebugフォルダに入れたのですが、表示されませんでした。
某サイトのソースをコピーしたのですが、記述が間違ってるのでしょうか・・・

-- ソース --
DX.LoadGraphScreen(0, 0, "char.png", DX.TRUE);

申し訳ありませんが、アドバイスをお願いします。

642:名前は開発中のものです。
08/08/13 20:18:45 v0IoKL7W
LoadGraphScreen(0, 0, "char.png", TRUE);

643:名前は開発中のものです。
08/08/13 23:34:45 ZpXLkfXI
>>641
それで、問題が解決できる奴がいたとしたら、そいつはエスパーだよ・・・・・


まさか、それでソースが全部なわけないよな。

644:名前は開発中のものです。
08/08/13 23:49:59 RJ+2pmNA
>>641
確認したいんだけど、画面は真っ黒になってる?
なってなかったらそもそもDXライブラリがちゃんと動いてない。
でも一応動いてるみたいだからそれはないかな……。

あとchar.pngを一回絶対パスで指定してみて。

645:名前は開発中のものです。
08/08/13 23:50:43 CMyXDagd
>>641
表示されないというのが「エラーが出た」なのか、「何も起きない」なのかすら
わからないので、無限の可能性が広がります。

1. ファイル名が間違っている
2. 画像に使ってる色が透過色になってる
3. ファイルが存在しない
4. 画像がセーブできてない(セーブに失敗している)
5. パスの指定がうまくいってない
6. そもそもDXライブラリを初期化できていない
7. ウィンドウが出てない
8. 裏画面に書いたままFLIPしてない
9. メモリが足りない
10. コンパイルしてない、あるいはエラーが出ている
11. 実は環境がMac
12. ライブラリをインストールしてない
13. 使用しているディスプレイ、グラボの仕様/設定上表示できない色を使っている
14. 某サイトのソースにバグ
15. (CPUの)速さが足りない

646:名前は開発中のものです。
08/08/13 23:52:44 k9pinPn+
Releaseフォルダも試してみたら

647:名前は開発中のものです。
08/08/14 00:10:37 7xrMXFtW
プロジェクトファイルだっけ?←拡張子がdspのやつ
とりあえずあれを含んだサンプルを拾ってきて、動くかどうか試してみる。
動くのを確認してからソースをオリジナルに書き換え、フォルダに画像を置いて動作確認。
というのはどうだろう?

648:名前は開発中のものです。
08/08/14 03:20:37 s4dRQS6A
「横スクロールアクション」を作ってる最中なんだが、
同じカーソルキー二度押しでダッシュさせるサンプルコードを探してるが見つからない。

二度押し判定の仕方を教えてほしいの

649:名前は開発中のものです。
08/08/14 03:33:41 4cx2dJb5
それくらい自分で考えてみようぜ
フラグやカウンタを使えばできる


650:名前は開発中のものです。
08/08/14 10:06:19 E3jqMQR0
>>641
とりあえず動かしたいんだよな?
まず、プロジェクトの全部のフォルダにその画像全部コピーして実行してみろよ。
で、表示されたら1つずつ消して実行してみて、どれ消したら出なくなるか試してみるんだよ。

本当はカレントがどこか調べたり、フルパス指定したりするんだけど最初のためしなんだろうから、
それでやってみ。たぶんDebugの一つ上がカレントじゃないかと思う。

651:名前は開発中のものです。
08/08/14 10:08:06 E3jqMQR0
ってbinができてるなら2008じゃなくて2005なのかな。
だったら別の場所かもしれん。

652:名前は開発中のものです。
08/08/14 12:42:31 E3jqMQR0
って、、、、よく見たらC#なのか。
これC#から使うにはちょっとあれだが・・・
bin\Debug に入れたら動いたぞ。
(うちはVista64なんで正確にはbin\x86\Debug)

653:名前は開発中のものです。
08/08/14 12:45:51 E3jqMQR0
ついでに、全ソース。
using System;
using DxLibDLL;

namespace WindowsFormsApplication1
{
static class Program
{
[STAThread]
static void Main()
{
DX.ChangeWindowMode(DX.TRUE);
DX.DxLib_Init();
DX.LoadGraphScreen(0, 0, "char.png", DX.TRUE);
DX.WaitKey();
}
}
}


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch