DXライブラリ 総合スレッド その3at GAMEDEV
DXライブラリ 総合スレッド その3 - 暇つぶし2ch745:名前は開発中のものです。
09/07/18 14:20:17 xlxZEQtn
>>744補足
スコープの外に「自動」インスタンスを返すなら、だな。

つーか、二つめと三つめは最初の質問のシチュエーションから逸脱してるな。すまん。
まぁでも、メンバ関数でもNRVOは重要なんで、仕組みは知っておいた方が。

746:名前は開発中のものです。
09/07/19 05:29:35 TXlg+NUw
//●ジャンぷ

if(key & PAD_INPUT_B){
for(double t=0; t<10; t=t+0.1){
int vo = -60;
int ay=10;
jikidata.y = vo * t + 1/2 * ay * t*t + jikidata.y;
WaitTimer( 1000 );
jikidata.ghandle = LoadGraph("media\\imgbb4792ea7ec6f3d_frame_0009.bmp");
}
}


DXライブラリを使ってアクションゲームのジャンプをプログラムしたいんですが
これで実行すると、キャラが止まったり、動かなくなってしまうんですが、どこを改変すればいいんでしょうか?

747:名前は開発中のものです。
09/07/19 05:51:18 EpiDWLJN
>>746
正直どこにつっこめばいいかわからないので
公式のサンプルを参考にすればいいとだけ言っておく
URLリンク(homepage2.nifty.com)

748:名前は開発中のものです。
09/07/19 11:01:02 7iXtFi1U
WaitTimerは使っちゃだめれす><

749:名前は開発中のものです。
09/07/19 21:11:12 mJh1WCZZ
フラッシュマン

750:名前は開発中のものです。
09/07/20 01:05:51 pleKhZHB
>>748
リアルタイム処理で使うのは駄目に決まってるな
フェードアウト後の待ち時間とかに使うのが正しい
でも個人的にはウェイト系の関数やら処理体系作って、それを使えばいいと思う
while(……){
 //ここにwaitから切り放したい処理を書く
 //例えば、ゲームは止まっても風景は動かしたい
 //処理ごとにwaitを分ければさらに色々なことができる
 if(waitFlag==FALSE){
  //ここにwait前にやりたい処理を書く
  //waitTime、waitFlagは本来条件式で設定するのが望ましい
  waitTime=1500;//1500ミリ秒=1.5秒
  waitFlag=TRUE;
 }else{
  if(1ミリ秒経過したら){
   waitTime--;
  }
  if(waitTime==0){//1.5秒経った
   waitFlag==FALSE;
  }else{
   //waitTime=0未満;を描いたな?と怒る
   //エラーフラグを大量に埋めるのは開発の最適化とアンチートに役立つ
  }
 }
}

こんな

751:名前は開発中のものです。
09/07/20 01:09:47 pleKhZHB
最後のとこはelse if(waitTime<0)だた

752:名前は開発中のものです。
09/07/20 18:56:48 u2THICPq
ジャンプするたびに画像をロードしまくってどうする

753:名前は開発中のものです。
09/07/20 23:05:51 hrqPLvNB
>>750
これならどの環境でもキッチリ結果が出るね
カウンタ回すしかやったことないから参考になるわ
だけどアクションとかだと遅延おきてカクカクにならないかな

754:名前は開発中のものです。
09/07/22 14:20:11 23EfZ5Te
同じフォルダ内にあるTTFフォントを使って文字列描画したいんですけどそれはDXライブラリでできますか?
フォントのファイル名を指定して読み込みするような関数が見つからなくてどうすればいいか困ってるんですが

755:名前は開発中のものです。
09/07/23 01:22:02 w7s2/iav
なんかソレっぽいサンプルどっかで見かけたような気が……

756:名前は開発中のものです。
09/07/23 01:49:57 w7s2/iav
ごめん適当なこと言った
DXライブラリでは出来ないような気がする
でもフォントファイルを一時的に開くプログラムがあれば通常のフォントと同じように
名前の指定だけで使えるはず……

757:754
09/07/23 02:35:05 M1f3xhTA
ありがとう!!探してみて解決したよ!!

結果はWin32APIのAddFontResourceEx関数を使えば一時的にTTFファイルからフォントリストに登録できるみたい
第二引数に0x10(FR_PRIVATE)を渡せばそのプロセスだけで使えるようになるぽ
使い終えたらRemoveFontResourceExで開放する必要もあるみたい。登録時とまったく同じ引数で呼び出す必要あり

AddFontResourceEx("hoge.ttf", 0x10, 0); // これでhogeフォントを登録。DxLibのEnumFontNameでも表示されるはず。
RemoveFontResourceEx("hoge.ttf", 0x10, 0); // 削除。引数を↑と同じにしないといけないらしい

いくらDxLib関係でググっても見つからなかったので少々冗長気味に解説してみたよ
正直この機能はDxLibにラップされてても違和感無いと思うんだけど

758:名前は開発中のものです。
09/07/23 03:39:18 8ujD6dNo
確かに自動対応してもいいレベルではある

759:名前は開発中のものです。
09/07/23 21:34:58 PImKyCUU
暗転ってどうやってやってる?

760:名前は開発中のものです。
09/07/23 21:51:01 tLjhSV6z
普通に画像を表示して、その上にかぶせるように真っ黒な画像を少しずつ濃くしながら表示。
完全に濃くなったら、表示する画像を切り替える。
真っ黒な画像を少しずつ薄くしながら表示する。完全に薄くなったら、以後、真っ黒な画像は表示しない。

これでいいと思う。

761:名前は開発中のものです。
09/07/23 23:37:10 JVsH2uDi
SetDrawBlendModeとDrawBoxでやってるな。


762:名前は開発中のものです。
09/07/24 02:52:41 sonMl0Vt
これ一旦止めた音楽止めた場所から再開させることできないのか

763:名前は開発中のものです。
09/07/24 03:42:20 nwWosEk7
できるけど
Dxlib.h内を、サウンドハンドルの再生位置で検索

764:名前は開発中のものです。
09/07/24 04:08:03 sonMl0Vt
ありがとうございます
やってみました
PlaySoundMem でやってるときは GetSoundCurrentPosition で取得すればいいのかな
でやってみましたが GetSoundCurrentPosition がいくら再生してるときでも0しか返ってこないのですが
ちゃんと引数に正しい SoundHandle 入れてますよ

765:名前は開発中のものです。
09/07/24 04:20:10 nwWosEk7
ごめん、検証してなかった
PlaySoundMemのTopPositionFlagを0にすれば
取りあえずは途中から再生できるはず

766:名前は開発中のものです。
09/07/24 06:13:08 sonMl0Vt
ありがとうございました、できました

767:名前は開発中のものです。
09/07/24 08:59:47 5C3gkZxn
DXライブラリ卒でD3D9使ってるけど、久々にDXライブラリ時代のソース引っ張り出して
ちょっと懐かしかった。pchも使ってなかったんだなぁとか。
つーかpch使ってない奴も多そうだから勝手に手順説明するぜ。

1. プロジェクト→新しい項目の追加→ヘッダーファイルでstdafx.hをプロジェクトに追加
2. プロジェクト→新しい項目の追加→C++ファイルでstdafx.cppをプロジェクトに追加
3. DxLib.hや標準ライブラリなど、自作でない巨大ヘッダのinclude文を*.cppから全部削除して、
代わりにstdafx.hの中に全部突っ込む(自作ヘッダは普通に*.cppで各自includeする方がいい)
/* stdafx.hの例 */
#pragma once
#include <DxLib.h>
#include <string>
using std::string;
/* ここまで */
4. 全ての*.cppの最初に#include "stdafx.h"を書く(コメントは前に入れてもおk)
ちなみにstdafx.cppは、#include "stdafx.h"の一行だけでおk
5. ソリューションエクスプローラでプロジェクト名を右クリックしてプロパティを開き、左上の
構成を「すべての構成」にして、構成プロパティ→C/C++→プリコンパイル済みヘッダー→
プリコンパイル済みヘッダーの作成/使用を「プリコンパイル済みヘッダーファイルを使用する
(/Yu)」に変更する
6. ソリューションエクスプローラで「stdafx.cpp」を右クリックしてプロパティを開き、左上の
構成を「すべての構成」にして、構成プロパティ→C/C++→プリコンパイル済みヘッダー→
プリコンパイル済みヘッダーの作成/使用を「プリコンパイル済みヘッダーファイルを作成する
(/Yc)」に変更する

これで、stdafx.hを変更する時以外は、ビルド速度がかなり劇的に上がるはず。
大した作業にはならないはずだから一度試すといい。

768:名前は開発中のものです。
09/07/24 09:09:49 5C3gkZxn
ああ、気付きにくいかもしれないことを補足。
自作ヘッダから<string>とか<math.h>とか使いたい場合も、「必ず全ての*.cppの最初で
stdafx.hがインクルードされる」という規則だから、結局は自作ヘッダがインクルードされる
時点ではstdafx.hが既に読み込み済みになってる。
なので、自作ヘッダに#include <string>とか書く必要も無し。自作ヘッダで使いたい標準の
ライブラリなんかのincludeも、全部stdafx.hに逃がせばおk。

769:名前は開発中のものです。
09/07/24 17:40:08 JWiEj2kH
これは便利そうですね
デメリットとかはありますか?

770:名前は開発中のものです。
09/07/24 18:12:52 HmqJ54co
今の俺には何のことだかさっぱりだがメモっておく

771:名前は開発中のものです。
09/07/24 19:26:36 5C3gkZxn
デメリットは思い当たらないなぁ。
「使いたい外部ライブラリのヘッダを全部何も考えずにstdafx.hに入れまくれ」
「全てのcppファイルの頭でstdafx.hをインクルードしろ」
ってルールが縛りといえば縛りだけど、むしろ楽になるだけだと思う。コンパイルも
別次元に速くなるし。

原理的には、stdafx.hの中身をコンパイルし終わったとこでいったん止めちゃって、
中間情報として拡張子pchのファイルに保存しておき、*.cppをコンパイルする時に
その情報を使い回して、#include "stdafx.h"まで読み飛ばして、それ以降のソース
だけコンパイルするイメージ。実際に内部がどう動いてるかは知らないけど。
なので、cppの頭で#include "stdafx.h"を入れ忘れると、
「プリコンパイル済みヘッダーの検索中に予期せぬ EOF を検出しました」
とか言われる。
stdafx.hの中には、C++のソースなら何書いても多分平気だから、大抵の使い方には
対応できると思われ。あまり頻繁に書き換えると、そのたびにpch作り直しで効果が
薄まるけど、自作ヘッダでも「更新少ない」「かなり色々なソースから参照される」
みたいな奴はstdafx.hに入れちゃってもいいと思う。

772:名前は開発中のものです。
09/07/25 15:25:58 3qZ+q5uI
当たり判定はこうすればいい。
プレイヤーキャラクターを移動させたければこうすればいい。

といった部品部品は作れるけど、いざゲーム自体を作ろうとなったら全然作れないんだ。
いったいどうしたらいいのかな・・・?

773:名前は開発中のものです。
09/07/25 15:36:28 hVdocGyY
その部品を組み立てればゲームになるはずなんだが
一体何が問題なんだ?

それを言わずして質問されてもわかるはずがない。

774:名前は開発中のものです。
09/07/25 15:37:45 tEWYFYw5
>>772
とりあえず目標を決めてはどうか。

ただし、あまり大作でも作れなきゃ意味がないので、
初期の携帯電話用ゲームや、初期のファミコン、インベーダゲーム、倉庫番あたりを目指す。
矢印キーだけ、せいぜいそこにボタン1個くらいで遊べるゲームが楽でいい。

目標が決まったら、それを「部品」に分解する。
うまく部品単位になればお前さんの勝利。

775:名前は開発中のものです。
09/07/25 17:05:50 OnXN/lFa
綺麗な部品作りの楽しさとゲーム作りの楽しさは、何というかちょうど90度くらい
ずれた方向性がある。両方うまい人はすごくいい。
最初の一歩はとにかく単純に、ゲーム内容どうでもいいから一本のゲームとして
成り立ってる物を作る、つーこと。極端な話、全部WinMain()に入ってても一向に
構わない。(綺麗な部品作りに慣れてるならそうはならないだろうが)
部品は必要性を実感してから作る方が最適になりやすい。いわゆるシーズじゃなく
ニーズで作る。先に需要を予測して部品を作る、ってのはほどほどにすべき。
で、「クソゲー作ってもなぁ」と思うなら、いっそ最初から真面目に本気ゲーを
作り始めてしまっても全然問題ない。

776:名前は開発中のものです。
09/07/26 08:48:42 Hw5xOpYa
個々の部品の作り方が分かっていても、それらを全部組み合わせて、うまく動くようにするのは結構大変。
特にシーンやリソースの管理が入ってくるとかなり面倒になる。
そういう点ではやっぱり最初は1面のみの単純なゲームから始めた方がいいね。
プログラムが大きくなればなるほどバグ取りも大変になるから、最初は小規模から始めた方がいい。
自分はいつも最初からあれこれ入れようとして墓穴を掘ってる。


777:名前は開発中のものです。
09/07/26 11:40:31 AWfgbmGQ
プログラムを書く能力とゲームを組み立てる能力は、全くの別物
紙にステータスを書いて遊ぶとか、人形をいじって遊ぶとか
そういうアナログな手法でイメージを立てて設計する
何も考えずにプログラムを先に書くのは意味がない。

ゲームを考える(妄想する)、ゲームを作る、ゲームを遊ぶ
この3つのどれが欠けてもうまくいかない
まず面白いシステムや世界観を考える
次にプログラム、シナリオ、絵、音楽などで形にする
最後に完成品を遊び倒して面白いゲームに近付ける
ゲームは工業製品だから、作り手の職人気質がもろに出るよ


778:名前は開発中のものです。
09/07/26 11:57:44 aBNM0ylQ
>>772は単に大枠の設計が分からないとかそういうことなんじゃね?
>>776のいうシーン管理とかそういう骨組みの構造とか

779:名前は開発中のものです。
09/07/26 23:48:51 AGlm2m1e
stdafx.hにいれた上で、そのソースに必要なヘッダはあえて書くソースに書くようにしてる

780:名前は開発中のものです。
09/07/27 00:01:10 GCep4g8b
俺は何も考えずにいきなりプログラム作るぞ。
特に最初のうちは、あんまり考えないほうがいいと思うんだけどな。
緻密に設計していくのは、ミニゲームを何本か完成させた後のほうがいいと思う。

781:名前は開発中のものです。
09/07/27 00:11:13 bEbQPsi9
俺は「これできるかな? ……できた。んじゃこれはできるかな……? よしできた」とかやってるうちに
肥大化してゲームになってる。

782:名前は開発中のものです。
09/07/27 00:16:38 VenKtjMK
俺は「これできるかな? ……できた。んじゃこれはできるかな……? よしできた」とかやってるうちに
肥大化してまとまらなくなってやめる。

783:名前は開発中のものです。
09/07/27 00:30:42 aQ/IFL1X
俺は「これできるかな? ……できない。んじゃこれはできるかな……? できない……」とかやってるうちに
肥大化することなく寝る。

784:名前は開発中のものです。
09/07/27 01:20:08 VJq6W4rL
>>781-783
フイタwwwww

785:名前は開発中のものです。
09/07/27 01:49:38 pfTBKVpb
>>781-783がそれぞれ昔の俺、少し昔の俺、今の俺な件

786:名前は開発中のものです。
09/07/27 04:39:26 GaH2TMCV
昔はコードが汚いだとか構造が嫌だとかの細かいことが気にならなかった
今はゲームが完成しない

787:名前は開発中のものです。
09/07/27 04:44:35 aJcGKYvD
習作はできるが完成はできん

788:名前は開発中のものです。
09/07/27 08:01:02 sP35fefq
> 「○ ○の作り方」という本を読んで「この本に××が足りない」と考え、
> そこで今度は××に冠する解説をよみ「これには△△が抜けている」という印象をもち、
> そしてなかなか自分のゲームが完成しない、というパターンに陥った人は少なくないでしょう。
> さまざまな技術書や解説書、入門書を読みつくし、最先端技術に精通しているはずなのに
> 自作アプリケーションがほとんど作れないというのは、決して珍しくありません。

789:名前は開発中のものです。
09/07/27 08:53:03 CBwVvngl
そういうのを「頭でっかち」というんだな。

790:名前は開発中のものです。
09/07/27 13:31:26 1REfJ+es
どこの引用なんだ

791:名前は開発中のものです。
09/07/27 17:02:26 cEG3tUqV
本を読めば作れると考えるのが間違い

792:名前は開発中のものです。
09/07/27 21:15:32 C0govEpu
昔どっかのゲームクリエイターが「やってみるのが一番勉強になる」的なこと言ってたから
俺はそれを胸に頑張ったよ…。

793:名前は開発中のものです。
09/07/27 23:14:17 aJcGKYvD
男は度胸
何でも試してみるもんさ

794:名前は開発中のものです。
09/07/27 23:41:51 1REfJ+es
女は豊胸?

795:名前は開発中のものです。
09/07/28 02:18:15 0RhUYUoP
股だな

796:名前は開発中のものです。
09/07/28 05:12:13 uYQPfFdp
DXライブラリPortable、次のバージョン来ないかな
3Dポリゴン描画したいです……

797:名前は開発中のものです。
09/07/28 12:23:42 YL4nqTsX
そういやDX3Dってどれくらいできたのかな?

798:名前は開発中のものです。
09/07/28 13:20:14 aQj264s2
>>797
逃げたんじゃないか?
大学中退するやつだし

799:名前は開発中のものです。
09/07/28 19:50:25 lbcOkIrb
DX3DってD3DXと紛らわしいな。
3D描画をDXライブラリみたいに単純化するのは無理。3D描画のフレームワークは
D3DXで十分。それ以上やるとライブラリの独自色が付く。
2DもD3DXSpriteで構わないし、ちょっと調べればテクスチャにαの付いた板ポリを
D3DXで描画する方法はいくらでも出てくるけど。
DirectX6はDreamcast向け、DirectX8はXbox向けに作り直されてる訳で、そのまま
でも十分行けるライブラリ。DXライブラリの最大の意義は、WinMainのすっきり感
だと思う。

800:名前は開発中のものです。
09/07/28 20:50:59 LTJXvZ7v
本家の名前の紛らわしさに比べたら…

DXライブラリでも使えよ!って言われて固有名詞だとは夢にも思わず
なかなか存在に気付けなかった俺

801:名前は開発中のものです。
09/07/28 20:52:30 bkreYxYW
3Dなんかいくら敷居を下げたところでDXライブラリしか使えないような子には扱えないよ
ゲームフレームワークみたいな方向に簡単にするなら別だけども

802:名前は開発中のものです。
09/07/28 21:36:50 C3k1GCCB
あの・・・
流れを断ち切った横レスなんですが、
C言語+dxlibで作ったプログラムをC++のクラスってのを使って
まとめようと思い、メインループを書いてみたんですが、
書き方があっているのかすごく不安なのでお聞きしたいと思いました。

もし、スレチならいいスレ教えて・・・
よし!見せてみろ!ならソース張る。


803:名前は開発中のものです。
09/07/28 21:37:39 lZJGMEL/
DXライブラリに親でも殺されたのか

804:名前は開発中のものです。
09/07/28 21:43:58 LTJXvZ7v
>>802
ヨシみせてみろ

805:802
09/07/28 21:52:18 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;
}

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



806:名前は開発中のものです。
09/07/28 22:00:28 bkreYxYW

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


FlameじゃなくてFrame
あと大文字一字の変数名はやめてくれ紛らわしい

807:801
09/07/28 22:09:21 C3k1GCCB
フレイム・・・フレーム・・・
一文字違いが大違いでした・・・
参考にした本(セガ本?)にそういう記述があったのでつい (Tの件は)

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

T->A
T->B
とか、
for(int i=0;i<1000;i++){
T-> X[i]
}
みたいに変数の中身をwhileの中で更新しまくっても問題ないですか?


808:名前は開発中のものです。
09/07/28 22:10:29 YL4nqTsX
ゲームプログラマーになる前に~ってタイトルの本か

809:名前は開発中のものです。
09/07/28 22:14:47 C3k1GCCB
そうです。
ちなみに2章を読み始めてから進まないまま二ヶ月目

810:名前は開発中のものです。
09/07/28 22:16:24 bkreYxYW
>>807
ダメダメ
それならCの構造体と変わらない
クラスの外からメンバ変数にアクセスするのは避ける
クラスっていうのは,外からはボタンを押すだけで中で勝手に処理してくれる
便利な機械みたいな感じ(そういう風に作るのが理想)

811:名前は開発中のものです。
09/07/28 22:19:08 TfpzHMPf
先にEffectiveC++とデザインパターンの本読むべき

812:名前は開発中のものです。
09/07/28 22:26:10 bkreYxYW
クラスを利用したこともないのにいきなり作れるわけがない
ためしに他の人が作ったC++のクラスライブラリを触ってみればいいんじゃない
ゲームエンジンならSeleneとか
英語大丈夫ならIrrlichtなんかも簡潔でおすすめ
どういう風にクラスを使えばいいのかわかるよ

813:802
09/07/28 22:29:42 C3k1GCCB
なるほど。。

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

来月余裕があったら買ってみます。

814:名前は開発中のものです。
09/07/28 22:31:58 TfpzHMPf
買う前に一冊読みきれwww
それか図書館だな

815:801
09/07/28 22:35:44 C3k1GCCB
これだけ本読んだらもしかしたらオレゲーム作れるんじゃね?
と勘違いして作り始めたのさ!

もう・・・タイムリミットがちかずいている・・・・・・
やつが・・・・来る!

816:名前は開発中のものです。
09/07/28 22:36:54 LTJXvZ7v
マクドに注文する側がバイトのシフトとかパンズの在庫を気にしちゃ駄目だぜ

817:802
09/07/28 22:41:24 C3k1GCCB
>>815
そういうことなのか!

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

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



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

とりあえず今から風呂→ネトゲでギルド潜りするんで、一分でそれっぽいとこ探して
おいた。
URLリンク(gihyo.jp)
初心者に分かるかはシラネ。でもこれが分かればCのメモリでつまづくことはたぶん
無くなりそうな記事に見えた。15秒くらいしか読んでないけど。

819:名前は開発中のものです。
09/07/28 22:55:24 lbcOkIrb
すまん、面白そうなんで↑の記事をちょっと読んでみたが、初心者でWindows環境だと
素直に読めるもんじゃないかも。
ある程度「ふんふんそんなもんか」って飛ばし読みするには悪くないとは思うけど、
真面目にサンプルコードを走らせたりするタイプだと微妙にきつそう。

820:名前は開発中のものです。
09/07/28 22:57:31 bkreYxYW
あんまり低レベルなことは気にしなくていいと思うよ
オブジェクト指向をちゃんとやりたかったらJavaのような
思いっきり抽象的な世界でリフレッシュした方がいいかもしれない
ゲーム作るのだって簡単

821:名前は開発中のものです。
09/07/28 22:58:28 C3k1GCCB
えっと・・・
関数を呼び出したときには元の場所に帰ってくるための情報が
どこかよくわからないない場所に
スタックの構造をした形でつまれているんだよ、ってこと?

822:名前は開発中のものです。
09/07/28 23:11:05 lZJGMEL/
しかしゲームを作るのにそれほど必要ない知識なのであった

823:名前は開発中のものです。
09/07/28 23:14:09 C3k1GCCB
java・・・・
とりあえずおいらゲームを作って見るよ!
クラスの中でクラスを宣言したりnewする方法がまったく理解出来ないけど。
時間切れなので・・・ノシ


ご指導ありがとうございました!


824:名前は開発中のものです。
09/07/28 23:29:31 0RhUYUoP
さて、そろそろD言語に手を出そうか…

825:名前は開発中のものです。
09/07/28 23:32:38 LTJXvZ7v
そして一向にゲームが完成しない罠
勉強もいいけど取り敢えずサクッと作った方がよいかも

826:名前は開発中のものです。
09/07/28 23:40:38 gMpP2gLw
上から降ってくる「モノ」を、ただひたすら画面下部で避けるだけのゲームとか、そういうの?

827:名前は開発中のものです。
09/07/28 23:45:05 C3k1GCCB
あら??
ニコニコ動画にうpしたのならあるけど・・・・
それよりヘッダファイル見る?

828:名前は開発中のものです。
09/07/28 23:53:41 KFmBMjPZ
見てあげないこともない

829:名前は開発中のものです。
09/07/29 00:07:48 6Y8+8XuP
URLリンク(www.nicovideo.jp)

とりあえず張ってみる。
これ以上スレすると荒らしになってしまいそうな気ガスる


830:名前は開発中のものです。
09/07/29 00:22:10 sFXJxN65
つーか、やろうとしてることから考えると、ちゃんとメモリの意味が分かってないと
トンチンカンになる。
余計なことやろうとせず、意味の分かってる仕様だけ使っていればいい。いわゆる
better CとしてのC++。newとか罠満載なものにやたらと触らない。

831:名前は開発中のものです。
09/07/29 00:37:52 1WJmBm/8
俺は昔アセンブラかじったことあったからメモリの意味はある程度わかってるつもりだったが、
最近までポインタが理解できずに使えなかった……。

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

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

Cって俺にはわかりづら過ぎる……。わかる奴凄い。

832:名前は開発中のものです。
09/07/29 00:46:49 e3ckjdq+
>>831
68系のアセンブラを知っていればポインタを知っているとおもう。

ここを読んでみなさい。C++について詳しく解説してある。
URLリンク(www.asahi-net.or.jp)


833:名前は開発中のものです。
09/07/29 02:17:12 IM9p+Dbm
ポインタなんて最初あまり分からずに大分年月経ったらやっと分かり始めた
いろいろ試行錯誤とか苦労しないと分からないのでは
話変わるがちょっと上のレスに関連することだが俺結構メンバ公開にして外からアクセスしてた
何かアクセサ使うとその分遅くなるような気がしてしまうんだよなあ

834:名前は開発中のものです。
09/07/29 04:42:03 sFXJxN65
ぶっちゃけアセンブラが分かってれば、ソフトウェアレベルの出来事なら一番下の構造
から透けて見えるから、ポインタなんかは概念も挙動も一発で飲み込める。
下の構造が見えないと、どんな処理が速いとか遅いとか効率いいとか悪いとかは経験の
繰り返しで飲み込むしか無いけど、下から見えていれば論理的に自然に飲み込める。
だが、アセンブラを理解する段階での苦労が大きいし、今のご時世でどんだけ報われる
かは自信ないからお勧めもしない。
とは言っても、昔は「まずアセンブラで」とか「BASICかアセンブラしか開発環境は
ありません」とかが普通だったから、そこまで難しいもんでも何でもないけどな。

835:名前は開発中のものです。
09/07/29 05:06:48 KJv9oy2N
アセンブリ言語自体はそらもう単純なもんだからな
ただ今のプログラミング環境に慣れ親しんでると、ちょっとした事すら書くのが面倒ってだけで


836:名前は開発中のものです。
09/07/29 06:22:35 gEGcx4CR
newとかdeleteとか
必要性がよくわからなくて結局殆ど使っていない。

使った方がカッコいいんだろうけど

837:名前は開発中のものです。
09/07/29 07:15:08 cb/+Lg0n
動的に確保するときだけ使ってる

838:名前は開発中のものです。
09/07/29 09:17:36 IM9p+Dbm
俺も必要性よく分らなかった時は使わずにやってた
使い方覚えたら結構便利だ
すぐでなくともそのうち覚えればいいんじゃないか

839:名前は開発中のものです。
09/07/29 10:34:12 jVZkfrqg
使わないでなんとかできてると
覚えようとしないんだよなぁ……。

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

いや俺が不勉強なのはわかってるんだが。

840:名前は開発中のものです。
09/07/29 10:40:16 p52lIH/W
必要になったときに学ばないと覚えないんだよなぁ……
ポインタもメモリの確保もよく分からなかったけど、
一度必要になってから調べなおしたら結構使いこなせるようになった

841:名前は開発中のものです。
09/07/29 11:05:54 IM9p+Dbm
俺もテンプレート使う気なかったけどある時どうしても使う必要に駆られて使ってみたらすんなりいって便利だったなあ
まあ使わないでいけるんならいいんじゃまいか

842:名前は開発中のものです。
09/07/29 11:45:25 oi3ivzjY
C++は文法習得~良いコーディングの間が長すぎる
いろいろ覚えるとC++のほうがゲーム作りやすく感じるんだけどな

843:名前は開発中のものです。
09/07/29 13:08:33 B4ng0Zvn
Javaだと手軽にクラス使えるから結構細かいこともクラス使って実装したりするけど
C++はクラスが使いにくくて返って面倒になったりするからつい細かいことはC風に書いてしまう

844:名前は開発中のものです。
09/07/29 13:15:13 tcSJ+b5u
STLはすげー便利

845:843
09/07/29 13:17:37 B4ng0Zvn
いや出来合いのクラスを使うのはいいんだけど
作るのがめんどくさいんだよね

846:名前は開発中のものです。
09/07/29 13:47:45 IM9p+Dbm
そもそもJavaはクラス使わずに書けないのでは

847:名前は開発中のものです。
09/07/29 13:54:50 B4ng0Zvn
そりゃもちろんそうだけど,「すべての変数や関数がクラス内に収められている必要がある」
というだけのことであって,クラスを単なる名前空間と考えるならCと変わらん
クラス使ったからってオブジェクト指向になるわけじゃない

848:名前は開発中のものです。
09/07/29 14:11:50 p52lIH/W
まあ、intだってクラスだし、C++は設計的に変数は全部クラスっちゃクラス

さまざまな動きするものをまとめて管理するにはクラス使う方がラクだと思う
シューティングの弾とかRPGのNPCとか。
というか俺はクラス使った半オブジェクト指向でしかゲーム作れなかったりする

849:名前は開発中のものです。
09/07/29 14:20:10 gEGcx4CR
JAVAでひとつのクラスの中に全ての処理を
手続き型で書いちゃうプログラマを思い出した。

850:名前は開発中のものです。
09/07/29 14:22:40 mG6Pind/
ああ、俺がやりそうだな、そういう事。

851:名前は開発中のものです。
09/07/29 14:53:37 KJv9oy2N
>>848
>まあ、intだってクラスだし
おいおいそれはJavaの事を言ってるんだろうな?
C++でのintはコンストラクタもデストラクタも持たないPODだが

852:名前は開発中のものです。
09/07/29 15:03:26 cAIJJmev
Javaのintはプリミティブ・・・

853:名前は開発中のものです。
09/07/29 15:05:31 KJv9oy2N
>>852
すまん
Javaの事>Javaのintegerクラスの事


854:名前は開発中のものです。
09/07/29 15:05:32 B4ng0Zvn
Javaでもintはクラスではなくプリミティブな値型
むしろJavaのほうがクラスとプリミティブ型の間に明確な振る舞いの違いがある
intをクラスの一種(正しくは構造体)として扱うのは.NETだな(C#やVB.NET)

855:名前は開発中のものです。
09/07/29 15:09:10 cAIJJmev
Rubyもね

856:名前は開発中のものです。
09/07/29 15:12:55 p52lIH/W
あれ?違ったっけ? と思ったら
C++では「intにもコンストラクタとデストラクタがある」ってのを間違えて覚えてたみたい……
恥ずかしい///

857:名前は開発中のものです。
09/07/29 18:42:39 PJW2UirX
>>826
俺、それさえも途中で投げたんだが

858:名前は開発中のものです。
09/07/29 19:09:50 QQ6cQOKX
>>857
まてまてまて。流石にそれは話にならんぞ。

料理が出来ないって人に、
「出汁とかその辺無視してもいいから、とりあえずお味噌汁から作ってみようか」
ってアドバイスして、無理って言われたようなもの。

859:名前は開発中のものです。
09/07/29 20:04:55 DQFan6Z4
教えて偉い人
爆発とか衝撃波みたいなエフェクトを管理するクラスを作ったのよ
メンバ的にはコンストラクタとデストラクタと描画中かどうかのフラグ管理と実際に描画する関数といった具合
コンストラクタでエフェクト用の画像をメモリに読み込んでるんだけど
このクラスのオブジェクトを作る度にロードされるのが気持ち悪くてしかたない
画像リソースを読むところだけ外に出せないだろうか


860:名前は開発中のものです。
09/07/29 20:14:58 p52lIH/W
前もって画像を読んでおいて、そのグラフィックハンドルを
コンストラクタでクラス内の変数に代入すればいいんじゃないの?
グラフィックハンドルってただの数値だし

861:名前は開発中のものです。
09/07/29 20:29:24 RdHjB4sC
クラスAのコンストラクタで画像を読んで、
クラスBのコンストラクタでそのグラフィックハンドルを得るようにした場合、

どちらのコンストラクタが先に呼び出されるか分かりませんが問題ないですか

862:名前は開発中のものです。
09/07/29 20:33:36 tcSJ+b5u
その場合クラスAは動的に確保しとくべきじゃないの

863:名前は開発中のものです。
09/07/29 20:49:35 vU/WuoP5
// あらかじめ画像を読み込んでおく
Image *image = new Image("effect.png");

// 複数のインスタンスでハンドルを使いまわす
Effect *explode1 = new Effect(image->handle);
Effect *explode2 = new Effect(image->handle);

864:名前は開発中のものです。
09/07/29 21:21:10 sFXJxN65
どこでdeleteするんだ?

865:名前は開発中のものです。
09/07/29 21:31:15 cAIJJmev
画像管理するクラス作っておいて以前ロードしたものと同じものがあったらそれ使いまわす

866:名前は開発中のものです。
09/07/29 22:04:56 oi3ivzjY
shared_ptrで画像を共有する

867:名前は開発中のものです。
09/07/29 23:32:20 IM9p+Dbm
画像管理クラスなんて態々作らずメイン処理のクラスにハンドル持たしてるわ俺
そっからオブジェクトクラスに渡すのはそのハンドルのポインタにしてる
そうすれば途中でウィン→フルに変えるときとかもそのメインの画像読み込みメソッド呼び直すだけで済む

868:名前は開発中のものです。
09/07/30 12:04:22 OvoMaJfI
ハンドラをスタティックにしちゃだめなのか?

869:名前は開発中のものです。
09/07/30 12:18:43 OvoMaJfI
上げちまったすまね
むしろグローバルでハンドラを作れってことか
再利用性が皆無になるが

870:名前は開発中のものです。
09/07/30 13:34:41 9rAtPdyT
コンストラクタで画像を読み込み+デストラクタで開放するだけのクラスImageを
そのステージで必要ならshared_ptrで読み込む
エフェクトを実際に使う箇所ではそのshared_ptrをコピーして使う
ステージを通して読み込みは1回だけで、コピーもshared_ptrのコピーだけですむから軽い
しかもステージが終わったら勝手に安全に開放される
何よりコードがすごい簡単で見やすくなる
ってじっちゃがいってたけど、俺GUIのゲームまだ作ったこと無いからわからねーわ

871:名前は開発中のものです。
09/07/30 22:13:59 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(); }
};
みたいな感じのも書きたくなるな。パフォーマンスどうなるかはシラネ。

872:名前は開発中のものです。
09/07/30 22:20:25 650NzX62
ああ、もちろんステージの頭で必要そうなイメージはget()しまくっておくんだけどな。
ステージ始まってるのにいちいち止まってたらうぜーし。

873:名前は開発中のものです。
09/07/30 22:20:35 hh3V9W8K
どうせステージ読み込むときに何回か呼ぶだけだろ
そんなもんにパフォーマンスもクソもあるかよ

874:名前は開発中のものです。
09/07/30 22:24:47 650NzX62
参照時のパフォーマンスだぜ
まぁhash検索のとこが重いだけだから、何度も何度も何度も何度もshared_ptr拾い直す
ようなアホなことをしなきゃ問題無いだろうけど
つーかぶっちゃけ超絶やっつけだから先に言い訳で書いた>パフォ

875:名前は開発中のものです。
09/08/01 14:00:04 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回だけ呼ぶようにしてスタティックなハンドラへぬっこむ感じで

876:名前は開発中のものです。
09/08/01 14:00:25 Qfg9axiN
ウィンドウとフルスクリーンの切り替えって、設定と読み込んだもの全部どこかに記録しておいて、切り替えた後に読み直さないといけないの?

877:名前は開発中のものです。
09/08/01 14:02:27 QXWHJ91E
メモリに読み込んでたものは切り替えで開放しちゃうんじゃなかったっけ?
呼びなおすようにはしてる

878:名前は開発中のものです。
09/08/01 14:09:47 hsxXyy+h
画像の情報とハンドルをラップするクラスを作るのがスマートかなあ
でもそういうことしだすと何のためにDXライブラリ使ってるのかいまいち分からなくなってくる
どうせラップするんだから中身は別に複雑でもいいよねみたいな

879:名前は開発中のものです。
09/08/01 14:37:35 fM5CMo54
グラフィックを読み込む処理はひとまとめにしてる。

グラフィックを読み込んだ時にエラーだと-1が返ってくるそうだから、
グラフィックハンドルに-1はありえないって事で
各グラフィックハンドルの初期値は-1にしておいて、
-1でないやつだけを読み直すとかやってるな。

880:名前は開発中のものです。
09/08/01 17:19:13 Qfg9axiN
ProcessMessageの返すエラーと×印を押した時の終了メッセージを見分ける方法
あるいは、右上の×印をクリックできないようにする方法はありますかね?

881:名前は開発中のものです。
09/08/01 18:11:57 XBQ0j9Rg
×をクリックできないようにするのはあまりよろしくないんじゃないか

882:名前は開発中のものです。
09/08/01 18:13:18 fM5CMo54
クリックできなくさせる事になんの意味があるのかわからん。

883:名前は開発中のものです。
09/08/01 18:23:08 XBQ0j9Rg
閉じるボタンは GetWindowUserCloseFlag で取得できるかも

884:名前は開発中のものです。
09/08/01 18:23:30 M1rtP1+j
URLリンク(hpcgi2.nifty.com)

885:名前は開発中のものです。
09/08/01 18:31:27 Qfg9axiN
サンクス
なんとかなりそうです

886:名前は開発中のものです。
09/08/01 18:49:30 XBQ0j9Rg
>>884
真面目に読んでて途中からワロタ

887:名前は開発中のものです。
09/08/01 22:58:32 Qfg9axiN
GetWindowUserCloseFlagってエラーが起こった時の返り値ってわかりますか?

888:名前は開発中のものです。
09/08/02 04:05:26 ioGay+hN
エラーって?

889:名前は開発中のものです。
09/08/02 13:21:29 raZxXOJp
>>888
だいたいほかの関数だと成功:0、エラー:-1を返してるじゃないですか?
そいうのがこれにも無いのかなとおもって

890:名前は開発中のものです。
09/08/02 15:42:36 kM+dLyLX
TRUEかFALSEか取得して返すのにエラーが出るとは思えないけど。
でも一応DxLibは関数の共通規約が-1=エラーぽいから-1だけ特別扱いでいいと思うよ

891:名前は開発中のものです。
09/08/02 15:47:58 VhKHrAIb
エラーが起きない関数だってあるんだから、余計な処理はしなくていい。

892:名前は開発中のものです。
09/08/02 18:18:51 kM+dLyLX
GetWindowUserCloseFlagってエラー起きないの?
ドキュメントに載ってない関数だから知らないんだけど
ソース見る気はしないし

893:名前は開発中のものです。
09/08/03 13:33:57 Bkg1TOoK
暗号化した画像ファイルからDrawGraphで描画するまでの手順って

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

でおk?

894:名前は開発中のものです。
09/08/03 18:31:28 Iq3WkgiH
自分も用意したフォントが使いたくなったので>>757の方法を試してみたんだけど、
開放に成功しないんだよなぁ……
仕様上プログラムが終了すると開放されるみたいだし、大丈夫なのかなコレ

895:894
09/08/03 18:43:55 Iq3WkgiH
うわー引数ミスってただけでした……
こめんなさい

896:名前は開発中のものです。
09/08/04 01:23:43 zuu4zu8S
おまいら名前空間ってどうしてる?
微妙にグローバルなのが邪魔くさいんだが、Dxライブラリのソースをまるっと書き換えるしかない?


897:名前は開発中のものです。
09/08/04 01:44:29 HZG+0EA+
WIN98前後にプログラミングやってみたくなって、
とりあえずCだけ独学してすぐにDirectX見て
挫折した自分には今更ながら、ピッタリじゃないか。

実際の所はオブジェクトで書いていけないと、ツラいの?

898:名前は開発中のものです。
09/08/04 02:36:14 I3xbLsIe
さぁ?
俺はオブジェクトが何かも知らないが
DXライブラリのおかげでゲームは作れてる。

899:名前は開発中のものです。
09/08/04 03:09:27 2NLtwfy5
main.cppとヘッダファイルだけでゲーム作ってる俺もいるし

900:名前は開発中のものです。
09/08/04 06:22:55 6mk+vC8F
>>897
あると便利

901:名前は開発中のものです。
09/08/04 07:58:54 jjYfmP92
何か途中でフル⇔ウィンドウ変えれるようにしたらフルにした時に画面がチラつくんだが
画像を読み直すだけでは駄目なのか

902:名前は開発中のものです。
09/08/04 08:02:04 jjYfmP92
と思ったら事故解決した
SetDrawScreen( DX_SCREEN_BACK ) ;死直さないと駄目なのか

903:名前は開発中のものです。
09/08/04 10:32:21 sPOvaCTT
>>897
ちょっと勉強すればいいだけのことを避けて
ずいぶんと無駄に自分の幅を狭めてると思わない?

904:名前は開発中のものです。
09/08/04 17:23:09 gMr+p3zp
みんなDxLibのラッパークラスとか作っちゃったりするの?

905:名前は開発中のものです。
09/08/04 17:27:28 xk/uaGqe
>>904
ラッパーというか、あのまんまじゃゲーム作りに面倒だから、
あれにもうちょっと色々と処理類を追加して、作りやすくはしてる。


906:名前は開発中のものです。
09/08/04 17:27:59 zuu4zu8S
ラッパを作らずに、ゲームを作れるのだろうか。

907:名前は開発中のものです。
09/08/04 19:53:27 sPOvaCTT
device->DrawImage((Image*)image); みたいな?
さすがにこんなラッパーが必要になるようなら他のC++用のライブラリ使った方がいいと思うよ

908:名前は開発中のものです。
09/08/04 20:01:54 vP8Ikyop
ゲームなんてラッパみたいなもんだ

909:名前は開発中のものです。
09/08/04 20:43:25 ODeu4gp1
そんなことせんでもゲーム作れるようにするのがDXライブラリが目指す所だと思うし

910:名前は開発中のものです。
09/08/04 20:48:39 YerTetmP
そんなことしたいならDirectX覚えろっていう

911:名前は開発中のものです。
09/08/04 21:06:21 nYiQO+FG
併!用!

912:名前は開発中のものです。
09/08/04 22:48:47 tCn5IwcP
誰がラップ歌えと。

913:名前は開発中のものです。
09/08/04 22:57:08 ODeu4gp1
>>912のお陰でやっと気付いた

914:名前は開発中のものです。
09/08/04 23:06:20 l5hPySed
うまいな

915:名前は開発中のものです。
09/08/05 00:19:33 SP3G2Rzn
>>911
は、その才能を別のところに生かすべきだったと思う

ところで、あえてゲームのジャンルを指定せずに聞くが
ChangeFontType( この辺とか ) ;
ChangeFont( "この辺て" ) ;
何入れてる?

ChangeFontType( DX_FONTTYPE_ANTIALIASING_EDGE ) ;
ChangeFont( "MS P明朝" ) ;

とかだと、どうにも汚い
メイリオとかオーサカつかえりゃいいんだろうけど


916:名前は開発中のものです。
09/08/05 01:41:03 6IxCn2Gg
640x480のwindowモードで1秒に60回メインループを回してClearDrawScreenとScreenFlipするだけのプログラム
書いたらCPU使用率が20%超えてるんだけどこんなもん?WaitTimer(10);は入れてます。

917:名前は開発中のものです。
09/08/05 02:13:38 tpv/Q7sN
>>915
>>757使ってBDF M+やVL Gothic使うと汚くはないしライセンス的なものもきれいで好きです

918:名前は開発中のものです。
09/08/05 02:27:07 uKOy3PVl
>>916
そんなものじゃない?自分の環境でも、だいたい20%前後で推移してるし。
ScreenFlipには、アイドリングループもやってるような事を>>70-95当りに書いてるし
きっと大体そんな感触。
だから、多少負荷を掛けたループを入れても、いきなり100%とかにはならないし。

919:名前は開発中のものです。
09/08/05 05:21:50 Nty2bj+r
A:あるXというパソゲーがあったとして、そのゲームをDXライブラリで再現したとしたら
 どっちの方が処理速度が速い?

管:それはおそらくオリジナルのゲームになるでしょう。
  しかしそれは仕方ありません。DXライブラリは DirectX を意識しないでプログラムを
 組めるように出来ているので、どうしても DirectX を意識して、DirectX にとって最適な
 方法を念頭にいれて作られたソフトには敵いません。
  ですが、それは DirectX と密接に関わらないと出来ない表現や処理が出きるか出来
 ないか程度の違いで、処理速度的には目を凝らさない限りわからない程の差だと
 思います。

これみて思ったが前に

hot スープ なんとかってベーシックみたいなやつ使ったことあるけど

あの処理の遅さには萎えた


920:名前は開発中のものです。
09/08/05 06:49:21 pLHczCar
HSPのことかあああああああああ

921:名前は開発中のものです。
09/08/05 07:07:46 m9BmQxuD
そもそも比較対象とするほうがおかしくないか。

922:名前は開発中のものです。
09/08/05 07:11:20 b5+ghAk/
HSPはインタプリタだし

過去にGameMaker使ってた俺はC++に乗り換えて処理の早さに感動した
弾10000個出しても一切処理落ちなしとか

923:名前は開発中のものです。
09/08/05 09:28:27 6IxCn2Gg
家庭用ゲーム機ってCPU使用率どのくらいなの

924:名前は開発中のものです。
09/08/05 09:35:09 b5+ghAk/
>>923
ゲームによる
PS2の後期作品は常に100%近いものも多いと思う

925:名前は開発中のものです。
09/08/05 10:03:45 BDIkZ1Lk
メイリオはXPならダウンロード可能になってるから、
・XP以上でやれ
・メイリオ自分で落とせ
と割り切った動作環境なら使えなくもない
まぁ、そこまでするより>>917がベターな気はする

926:名前は開発中のものです。
09/08/05 13:28:59 rAOud/k3
>>919
初期化に関してはDXライブラリの方が遅い
なぜなら使わない機能まで実装してしまうから
初期化のプロセスさえ我慢してしまえば、DirectXを使っている以上、ほとんど処理に差は出ない


927:名前は開発中のものです。
09/08/05 13:40:07 b5+ghAk/
初期化も他のライブラリに比べればかなり早くないか?
初期化→モデル読み込み→表示ってプログラム組んでるけど
起動から表示まで1秒も掛からないぞ

928:名前は開発中のものです。
09/08/05 16:15:24 OhVzEwVo
え?

929:名前は開発中のものです。
09/08/05 20:39:22 QIPk2n9v
クライアントがウィンドウのタイトルバーをつかむとかして処理が停止したことを判別する方法はある?

930:名前は開発中のものです。
09/08/05 21:20:02 5Y+5L7IB
アクティブかどうか判定する関数があったような

931:名前は開発中のものです。
09/08/05 21:57:12 tpv/Q7sN
>>929
もし直接DxLibのAPIになかったとしても、
最悪隠れAPIのSetHookWinProcを使っていけちゃうのであきらめずに頑張ってください

932:名前は開発中のものです。
09/08/06 00:09:50 HbTQ3knb
フルスクリーンにすればいいのに

933:名前は開発中のものです。
09/08/06 00:17:40 jDGBXq4e
フルスクリーン・ウィンドウの切り替え時って画像はDeleteGraphする必要なし?

>>932
でもやっぱウィンドウのほうがやりやすいゲームとかあるよ


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