[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 06/11 19:11 / Filesize : 240 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:名前は開発中のものです。 mailto:sage [2012/02/23(木) 21:35:32.53 ID:Si08WDH/]
Cを習得した程度のスキルでも、
ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

【公式】
homepage2.nifty.com/natupaji/DxLib/

【過去スレ】
DXライブラリ 総合スレッド
pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
pc11.2ch.net/test/read.cgi/gamedev/1224923873/
DXライブラリ 総合スレッド その3
pc11.2ch.net/test/read.cgi/gamedev/1238429676/
DXライブラリ 総合スレッド その4
pc11.2ch.net/test/read.cgi/gamedev/1249822550/
DXライブラリ 総合スレッド その5
pc11.2ch.net/test/read.cgi/gamedev/1259912953/
DXライブラリ 総合スレッド その6
hibari.2ch.net/test/read.cgi/gamedev/1267108154/
DXライブラリ 総合スレッド その7
hibari.2ch.net/test/read.cgi/gamedev/1286180687/
DXライブラリ 総合スレッド その8
hibari.2ch.net/test/read.cgi/gamedev/1301818631/
DXライブラリ 総合スレッド その9
hibari.2ch.net/test/read.cgi/gamedev/1310904069/
DXライブラリ 総合スレッド その10
hibari.2ch.net/test/read.cgi/gamedev/1313655495/
DXライブラリ 総合スレッド その11
toro.2ch.net/test/read.cgi/gamedev/1322844235/

818 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 12:00:09.24 ID:gXEjt6C9]
goto使えば良いんでね?

819 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 12:22:43.39 ID:VD4oJ3BE]
>>815
ありがとう。参考になる
自分はまさに個人・小規模でPCゲー製作だから、
out of memoryの心配だけはないんだよな

820 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 12:24:45.52 ID:HSIQMcFD]
オーバーライドして作ったクラスのオブジェクトをコンテナに突っ込んでイテレータで回しながら共通関数を実行するんだろ

821 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 12:49:35.26 ID:JpqeYW60]
>>820
ポリモーフィズムと言え。ややこしい

822 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 12:58:30.97 ID:zRojJiyg]
>>816
OGRE3DのAdvancedOgreFrameworkがシーンの使い分けを解りやすく実装してるよ
仕組みだけなので2Dでも十分使える、ただ3DゲームならOGRE3D使ったほうがDXライブラリより楽だけど

823 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 13:12:00.32 ID:dlfQry7w]
メモリ確保かー。
そういえばこの間、少し大きめの構造体の配列を用意しようとしたんだけど

 STRUCT_HOGE hoge[1024];

だと実行時エラーで、

 STRUCT_HOGE *hoge = new STRUCT_HOGE[1024];

だと問題なく動くってことがあった。
頭では理解してたけど、実際遭遇したのは初めてだった。

824 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 13:46:07.27 ID:PlH7X2T2]
>>823
初心者が良くやるミスだね

825 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 14:26:49.52 ID:1CGbweqQ]
ちなみにそれ原因は何ですか?

826 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 14:51:44.70 ID:VD4oJ3BE]
stackとheapでぐぐれ



827 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 14:53:36.27 ID:ZHekMysl]
ただのスタックオーバーフローってこと?

828 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 14:57:27.20 ID:VD4oJ3BE]
yes

829 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 15:14:52.35 ID:GOROOjbN]
>>823
大文字で書かれると分かりにくいのは俺が初心者だからかな
普通小文字じゃない?

830 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 15:18:21.89 ID:ArUyj87Z]
>>817-818
それしか方法ないのかなー
最悪、最大数宣言して存在フラグなんだけど

831 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 16:51:36.07 ID:dlfQry7w]
>>824
それなりにプログラムやってるけど、遭遇したの初めてでなー。

>>829
こういう例示だと、結構使い分けることも多い気がする

832 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 17:03:35.58 ID:ZOsD1vO4]
>>812
>mapにinsertするpairが仮にintとポインタだったとして、
>insertのときにそのintとポインタ分の小さいnewが起動するし、
>eraseのときにはそれがdeleteされると思う。
ツリーマップは木構造のノードに必要なデータ、キー、バリューを
一つの構造体として1回のnew(), delete()で済ませる。
だからstd::listの追加・削除・挿入は比較的速いアルゴリズムと言われてるが、
これとnew(), delete()の回数自体は変わらない。(木構造を辿る負荷は別計算)

でも毎フレームstd::mapに大量の追加・削除されるのって
そもそも連装配列に向いてないペアなんじゃないか?(キーがHPとか?)

例えば >>816 なら関数ポインタ or クラス継承して
ストラテジーパターンのポインタを使うべきだ。

833 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 17:09:43.18 ID:ZOsD1vO4]
>>825
VC++の初期値では、スタックサイズの最大値、ヒープサイズの最大値に
低めの値10MBが設定してあるから、これを超えると例外が発生して終了。


834 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 17:12:49.37 ID:VD4oJ3BE]
>>832
>一つの構造体として1回のnew(), delete()で済ませる。
>これとnew(), delete()の回数自体は変わらない。(木構造を辿る負荷は別計算)
同意。

小さい負荷が積もり積もって、トータルでみれば大きな負荷となること、
その負荷軽減のためのチューニングや根本的な設計の方針については、
いろいろ情報も得やすいし、なんとかなる気がしている。

他言語のGCのような突発的大負荷の心配をしてたけど、
このケースでは、その心配はあまりなさそうという気がしてきた。

835 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 17:46:09.07 ID:pWSSP6VZ]
DXライブラリ 雑談スレッド その12
toro.2ch.net/test/read.cgi/gamedev/1330000532/

836 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 18:29:25.01 ID:FNz7dsVi]
そういえば、ゲーム製作に関わるC, C++全般のスレって無いのか。



837 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 18:50:09.12 ID:aIMhivPJ]
>>833
これでエラー回避出来なくなった人って少なくないんだろうな(合掌)
>>834
GCが動き出すぐらいにメモリーをいじってれば、
いずれはフラグメンテーションの餌食になるだろうな。
そうなったら、メモリー管理の方法を根本から見直した方が良いな。


838 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 18:56:35.62 ID:aIMhivPJ]
>>836
立てるか?それとも俺が立てる?

839 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 19:20:40.08 ID:+n/uAHmA]
>>833
10MBじゃなくて1MB

840 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 19:59:32.27 ID:oQPWMkDd]
>>838
あったほうがいいかも。
軽く雑談できるくらいのスレは確かに欲しい。
ム板はstlやら何やらで分かれまくっててメンドイ。

841 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 21:40:01.48 ID:aIMhivPJ]
こんな所か?っつーか立てられ無かった。

題名:C/C++総合スレッド Part1
ゲーム製作におけるC/C++全般に関するスレです。

元スレ
DXライブラリ 総合スレッド その12
toro.2ch.net/test/read.cgi/gamedev/1330000532/


842 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 21:51:45.49 ID:VD4oJ3BE]
C/C++でDXライブラリ以外のメジャーどころのライブラリも
知ってる人がいたらテンプレに入れてみては?
俺は不勉強ゆえDXライブラリしか知らないけど…

843 名前:名前は開発中のものです。 mailto:sage [2012/05/19(土) 22:19:17.33 ID:oQPWMkDd]
考え出したら色々あるな。
boostとかsdlとかwtlとか

844 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 02:25:40.47 ID:b4J8kKZD]
switch分岐でnew-deleteできないのかぁ!!
誰かメインループ中でラウンド管理クラス(キャラクター数、オブジェクト数などのゲーム本体を管理するクラス)
を作りたいんだけど!

全然わからん。綺麗にできない。
ラウンド管理クラスを、例えばゲームのロード画面時にパッとnewして
キャラクターをその分だけパッとメンバの配列を動的に宣言して
リザルト画面に戻ったらパッとdeleteしたい



845 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 02:28:54.36 ID:rvG7rk61]
キリがないからやめろ

846 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 02:43:46.36 ID:m1rxCUFY]
その前に、自分のできる方法でゲーム完成させて経験値増やしたほうがよいように見える



847 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 03:09:05.33 ID:b4J8kKZD]
>>846
キャラクターのクラスをラウンドクラスで配列で持って管理するっていう方法を想定して作ったんだよ

ラウンドクラスをコンストラクタの引数で指定されたファイルでマップやキャラクターや武器を初期化して
このラウンドクラスはその名の通りラウンド中は保持してラウンドが切り替われば新しく作る。
というのがしたいんだ。
だから
switch(hoge){
case 0:
 hoge=func();
case 1:
 Round round=new Round();
 hoge=2;
 break;
case 2:
 hoge=round.main();
 break;
case 3:
 delete round;
 hoge=0;
 break;
}
これがしたい
case0がメニューで1で初期化(つまりロード画面?)2がメインゲーム、3がリザルト画面
みたいな

848 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 03:12:36.92 ID:b4J8kKZD]
でもswitchスコープ抜けると開放されちゃうんよ( ;´Д`)
staticにすれば、ひょっとしたら言語特性でできるかもしれないし
でもそうするとdeleteしても消えないかもしれないし


849 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 03:26:03.65 ID:m1rxCUFY]
そういう概念をどこかで齧ったのなら、
そのソースごと真似すればいいんじゃないかな

スコープはC/C++では割と基礎的なところなんで、そこの理解がまだ足りないうちに
そこまで高度・大規模なことを「そらで」やろうとしても挫折してしまうと思う
手本があるなら手本を理解するまでやったほうがいい、その意味で、手本の真似が足りない

850 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 04:19:36.26 ID:rvG7rk61]
>例えば >>816 なら関数ポインタ or クラス継承して
>ストラテジーパターンのポインタを使うべきだ。

switchをやめろ。

851 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 04:32:17.32 ID:ETYUDOJj]
LILO and switch

852 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 05:20:07.65 ID:J67XAZ6b]
なんでローカルにnew

853 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 06:11:28.75 ID:rvG7rk61]
まず、メモリリークチェックしたほうがいいな。
>>847 のプログラミングからは駄々漏れ臭いがぷんぷんする。
_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );

ゴリ押しおまじないプログラミングは危険だぜ。

854 名前:名前は開発中のものです。 [2012/05/20(日) 08:54:21.16 ID:jxpb7tAX]
>>847
無理すんな。普通にやれw

855 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 09:17:03.32 ID:GdVgJDsL]
綺麗に書く素人が「綺麗に」とか考えて作っても読みやすくはならんと思うぞ

856 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 09:24:37.57 ID:rvG7rk61]
DXライブラリのC++ラッパー作ってます。よろしく。
mint.ninja-web.net/dpp/index.html



857 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 09:33:19.40 ID:QwDamEGA]
>>847
メンバ変数にでも保持しておかないと、
スコープ抜けたらローカル変数は保持できないので、結果的にメモリリークする

まあ、>>849がFAだと思うが

858 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 09:47:55.18 ID:b4J8kKZD]
>>849
確かにswitchはオススメしないって言われた

お手本のコードは無いです。
メインループのこの部分(タイトル画面やメインゲームやオプション画面の変異)って
どのようにした方がいいですか?
他の方法がわからない


今思いついたのは

NowState=&Start();
while(~~~){
NowState=NowState();//次に実行するべき関数のアドレスを返す
}

859 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 09:49:23.86 ID:b4J8kKZD]
タスクシステム?というのは聞いたけど昔のものだとかする必要が無いとか言われた

860 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 09:50:46.90 ID:GdVgJDsL]
グローバルにenumでモード切り替え用の変数作ってswitchが一番簡単

861 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 10:17:37.19 ID:K5FhX9FA]
シーン管理でggr

862 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 10:21:43.19 ID:b4J8kKZD]
c#やjavaでいいんじゃないかってくらい全部クラス化してる。
クラスは自分が管理クラス(今回の場合はラウンドクラス)から渡されたデータを使って処理を行う。


例えば一連の流れをいうと
キャラクターが攻撃を行ったら判定クラスのメソッドが呼ばれ
判定クラスのメンバ変数ポインタからキャラクターの情報を貰って
判定結果がtrueならダメージ処理クラスに攻撃方法と対象と攻撃者が渡されるメソッドが呼ばれ
ダメージ処理クラスが持っているキャラクターの情報を貰って
HPが0ならキャラクターに死亡フラグを立て、UIクラスのメソッドに攻撃者と対象を渡す。

つまりキャラクタークラス→判定クラス→ダメージ処理クラス→UIクラス
とバトンリレーになってる。
この時、キャラクタークラスや判定クラスやダメージ処理クラスは、キャラクターの情報を持ってないと仕事にならないのでラウンド管理クラスが保持している。
イメージとしてはクラゲと、クラゲの触手

class RoundAdmin{
 Character character[];
 Judge judge;
 Damage damage;
public:
 void SetCharaNum(int);
 void SetJudgeClassChara(Character* hoge){damage.SetChara(hoge);};
 void SetDamageClassChara(Character*);
}


以上のことを踏まえて誰か中央部の設計お願いします。もう設計の最初からやり直しするのは嫌ですヽ(;▽;)ノ

863 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 10:39:42.64 ID:b4J8kKZD]
>>861
d.hatena.ne.jp/selvaggio/touch/20060821/1156148509
関数ポインタ?をスタックしまくるんですか
でもタイトルシーン→ゲームシーン→リザルトシーン
という流れがあった場合リザルトシーンを予めタイトルシーン時にリザルトをpushしなきゃならないってことですよね

864 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 10:48:07.65 ID:rvG7rk61]
昨日はアクションでstd::mapが速い遅いの話だったが、今日はRPGの戦闘か?

C++だと相互参照するのに嫌な制限あるから難しいよね。
>>856のサンプルに入ってるソースではデータと振る舞いを分けちゃってますが、
クラスを名前だけ前方宣言してダブルディスパッチするほうが一般的なのかなぁ。

865 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 11:49:53.71 ID:rvG7rk61]
>>862
こうか?

class Charactor
{
__int HP;
__bool isDead;
__void Attack(Charactor* target, How* how)
__{
____Judge judge;
____bool is = judge.IsHit(target);
____if( is )
____{
______Damage damage;
______damage.Set(this, target, how);
______if( HP == 0 )
______{
________isDead = true;
________UI ui;
________ui.Set(this, how);
______}
____}
__}
};

866 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 11:56:57.34 ID:rvG7rk61]
だめだ、エスパーよろ。



867 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 14:50:25.73 ID:b4J8kKZD]
>>865
それぞれの返り値がないから
例えばjudge.ishit()っていうメソッドの中でdamageを定義してメソッドを呼んでる
こう・・・

class Charactor
{
 int HP;
 int x,y;
 double Angle;
 bool isDead;
 RoundAdmin* Admin;
 void Attack(int Kind){
  Admin->judge.IsHit(this,x,y,Angle,Kind);
 }
};

class Judge{
 RoundAdmin* Admin;
 void Judge(RoundAdmon tmpAdmin){
  Admin=tmpAdmin;
 }
 void IsHit(Attacker,x,y,Angle,Kind){
  for(int i=0;i<Admin->CharaNum;i++){
   if(~~~){
    Admin->damage.func(Attacker,i,Kind);
   }
  }
 }
}

868 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 14:50:56.96 ID:b4J8kKZD]
説明が下手でスパゲティで死にたい

869 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 14:54:58.64 ID:d1pNr8pV]
enum
{
  TITLE,
  MAIN,
  ENDING,
};

int state = TITLE;

int main(void)
{
  while()
  {
    func[state]();
  }
}

870 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 15:33:37.24 ID:GdVgJDsL]
>>863
ゲームオーバー処理の時にゲームシーンをpopして、そのままゲームオーバーをpushすればいいんじゃないの?

871 名前:名前は開発中のものです。 [2012/05/20(日) 16:09:24.24 ID:b4J8kKZD]
>>870
逆だと思ってました(popしたものが実行されると思ってた)
そういうことですか

>>869
func[MAIN]関数内で保持したい変数ってどうすればいいんですか?
func[MAIN]以外が呼び出されたら消えて欲しいです。

あと今更ですが質問厨でウザいですし基本設計の質問はDxlibスレでスレチだった・・・

872 名前:名前は開発中のものです。 mailto:age [2012/05/20(日) 18:03:42.86 ID:B+9uILOG]
Charactor*のようにポインターのマークが後ろにつくのはどういう意味だっけ?

873 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 18:16:08.20 ID:eBiE/F9z]
Character* x; // Characterのポインタ型を表す型名
Character*30 // Characterという変数と30の乗算(演算子オーバーロードがされていない場合)
Character*=10 // Characterという変数に30を乗算し代入(演算子オーバーロードがされていない場合)
/*Character*/ // コメントの終端

どれでもお好きな物をどうぞ

C++のスレがないってのは
ここで質問して良いって言う理由にはならないからな?

874 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 18:30:54.34 ID:rvG7rk61]
中高生の黒歴史

875 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 18:44:31.78 ID:iNm25OoA]
いい加減、スレ立てるか。>>841でいい?

876 名前:名前は開発中のものです。 mailto:age [2012/05/20(日) 18:44:39.45 ID:B+9uILOG]
ありがd
Character* x; // Characterのポインタ型を表す型名 ですよね

しかし↓このように書くのはどうなんだろう?
Charactor *target



877 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 18:56:48.04 ID:m1rxCUFY]
>>876
個人でゲーム作ってるなら、どっちか好きなほうを選べばいい
ttp://www.henshi.net/k/hiki.cgi?GoogleCppStyleGuide#l99
ttp://ockeysprogramming.blog42.fc2.com/blog-entry-607.html

878 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 19:16:26.37 ID:/AOQLV8Q]
>>875
スレタイに「ゲーム製作」入れて、

C/C++ゲーム製作総合スレッド Part1
でいいんじゃない?

879 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 19:19:04.91 ID:B+9uILOG]
これは参考になりますね。どうもありがとうございます〜
C++の本には載ってない文法なので疑問でしたが
人それぞれの考え方なんですね

880 名前:名前は開発中のものです。 [2012/05/20(日) 21:23:14.14 ID:iNm25OoA]
立てた

C/C++ゲーム製作総合スレッド Part1
toro.2ch.net/test/read.cgi/gamedev/1337516528/l50

881 名前:名前は開発中のものです。 mailto:sage [2012/05/20(日) 21:29:41.56 ID:m1rxCUFY]
>>880

882 名前:名前は開発中のものです。 mailto:sage [2012/05/21(月) 01:56:01.80 ID:ZnI/WkSf]
>>880
おつ

883 名前:名前は開発中のものです。 mailto:sage [2012/05/21(月) 16:15:45.24 ID:L5xx/kw7]
>>879
手元の入門書(2種類)だと載ってるけどな

884 名前:名前は開発中のものです。 mailto:sage [2012/05/21(月) 18:26:14.29 ID:ffV6Y48y]
キャラクターを一瞬真っ白にして描画する方法ってわかる? 例えばダメージを受けたときなんかに使うアレ

885 名前:名前は開発中のものです。 mailto:sage [2012/05/21(月) 18:30:28.40 ID:I9dpNaEz]
>>884
明るさを0にして色反転ってできなかったっけ?

886 名前:名前は開発中のものです。 mailto:sage [2012/05/21(月) 18:51:02.98 ID:ffV6Y48y]
>>885
フィルタか、サンキュー



887 名前:名前は開発中のものです。 mailto:sage [2012/05/21(月) 18:58:22.65 ID:ffV6Y48y]
違った、ブレンドモードか。危ない危ない…

888 名前:名前は開発中のものです。 mailto:sage [2012/05/21(月) 22:19:42.57 ID:47wV3n9Q]
SetDrawBright()とSetDrawBlendMode()使って、
一時的に他の色っぽく表示っていうのがこのスレか前のスレかにあったね
参考にさせてもらったわ

889 名前:名前は開発中のものです。 mailto:sage [2012/05/21(月) 23:13:34.24 ID:yadbYRsO]
別の画像を表示

890 名前:名前は開発中のものです。 mailto:sage [2012/05/22(火) 00:28:56.82 ID:fGZyqonm]
画像を指定した角度座標でマスクできる関数教えてください!
四角く作ったミニマップがダサいです!

891 名前:名前は開発中のものです。 mailto:sage [2012/05/22(火) 15:12:29.46 ID:mXIdZtP1]
上からマスク画像を表示

892 名前:名前は開発中のものです。 mailto:sage [2012/05/22(火) 20:41:55.22 ID:KEARhB46]
>>890
すまんが、その質問からだとどういうふうに描きたいのか分からない。
「○○っていうゲームの△△みたいに」っていう例えでも良いんで
もう少し詳しくやりたいことを説明してはくれまいか。

893 名前:名前は開発中のものです。 mailto:sage [2012/05/22(火) 23:11:59.34 ID:fGZyqonm]
AVAのミニマップ表示と
EXVSの画面右上のミニマップの両方お願いします。

894 名前:名前は開発中のものです。 mailto:sage [2012/05/22(火) 23:33:05.27 ID:GwTouD/j]
EXVSってただの丸だろ。マスクする必要なしw

895 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 10:34:59.14 ID:b4o10B2o]
構造体のポインタを引数にする関数がうまく使えない。
クラスのメンバ構造体のポインタを渡そうとしても「CClass::TStructからTStructへ変換できません」と言われる。
わけわからん。お助けくだせえ

896 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 10:36:23.94 ID:b4o10B2o]
おっと、それ用のスレがあったんか。スレ汚しすまん



897 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 12:41:41.58 ID:0bw1KTX7]
>>889
以前他のライブラリで試そうとしたんだけどどうやっても白いくり抜いたような画像は得られませんでした。
やっぱり出来ないんですよね?
たとえば赤い色の敵がいるとすると青と緑の要素がないからキレイに白くならなかったような

そのときの結論は、手作業で白い敵の絵も作ってダメージのとき
そちらを表示するしかないということでした

898 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 13:39:40.92 ID:fw4B82cQ]
シェーダを使うw

899 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 13:59:04.47 ID:EJDtoHbk]
>>897
DXライブラリのメモリイメージAPIから作り出すことができる。

ただしDirect3Dは、同じテクスチャを同じ描画モードで
連続して描画すると効率が良いので、

一枚の敵画像の中に白く塗り潰した敵の絵も一緒に入れてしまったほうが
描画するときの効率はいい。

900 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 14:07:34.09 ID:EJDtoHbk]
Direct3D9の固定パイプラインがもっている、
あるいはHLSL書いてピクセルシェーダ使うのも描画モードが切り替わるので、
Direct3Dの一括描画を止めてしまう。

手作業で白い敵の絵も作って、アルファブレンドで二枚塗りして
フェードさせるのが最も望ましいんじゃないかな。


901 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 17:25:41.49 ID:0bw1KTX7]
>>898
わかりません・・・Directx7レベルPGなのでw

>>899 >>900
よくわかりました。ありがとうございます。
おかげでこないだ詰まってた問題も原因がわかりました。
スプライト処理クラスを作って一枚表示ごとに描画モードを
SetRenderStateで変えていたのですが、去年買ったi5パソコンで数百程度の
小さい画像表示で処理落ちし始めてビビリました。
このスレで「描画モードを変えると処理が重くならないか?」という話題があったのを
うっすら記憶していて、SetRenderStateをまとめてやるようにしたら改善されました。
いま「SetRenderState 重い」で検索したらたしかに重たいと警告を発してる開発者さんがいました。

902 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 21:39:28.35 ID:oEFLuczz]
スプライトの色を一時的に白っぽくするとかはここを参考にした覚えがある
ttp://dixq.net/forum/viewtopic.php?t=9714&p=78319

903 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 21:52:32.24 ID:fw4B82cQ]
画像ロードする関数を少しラップしてソフトイメージ経由で白マスク画像を作成、連結したもの作らせると結構良さそうかな

904 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 22:29:47.19 ID:hXbSVptG]
ファミコンだったらパレットチェンジでデータ量少なくかつ高速に処理できるのに最新PCって駄目だな

905 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 22:42:46.64 ID:kOpBPT9L]
全くだw
いちいち色違いのキャラを用意しないといけないとか、面倒だわ。

俺もこの白点滅のやり方について公式とかで質問した人間だから、同類。

906 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 22:49:16.12 ID:EJDtoHbk]
>>903
いくつかポイントがあって、合成する元の画像がそれを意識して作られる必要あり。

テクスチャは2の累乗であるwidth, height の正方形である。
だから長方形とかだと裏で大きめの正方形を確保してしまうから、
合成後の画像が正方形のスペースを有意義に使うこと。

カラーパレットが空いている必要がある。
つまり256色を白以外で使いつくされてるとだめ。



907 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 22:50:09.77 ID:pwt5T56h]
今だってピクセルシェーダー使えば同じこと出来るだろ

908 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 23:13:59.87 ID:hXbSVptG]
そんな高度なテクニックは使いこなせねえよ

909 名前:名前は開発中のものです。 mailto:sage [2012/05/23(水) 23:18:06.90 ID:0ldDGJ6S]
白抜きしたいキャラクタをまずブレンドモードInvで反転で描くだろ?
その上にもっぺん同じキャラクタをこんどはAddで加算描画するだろ?
そうすると抜き色以外255で埋まるって寸法よ

910 名前:名前は開発中のものです。 mailto:sage [2012/05/24(木) 00:14:49.78 ID:OTDx3X8F]
別に白画像作ればいいじゃん

911 名前:名前は開発中のものです。 mailto:sage [2012/05/24(木) 00:37:40.90 ID:YnP/Ncq+]
アルファブレンドのON,OFFの切り替えが頻繁に起きるぐらいなら
全部アルファブレンドONで描画したほうがいいんだな。
マップタイルだけOFFとか。

912 名前:名前は開発中のものです。 mailto:sage [2012/05/25(金) 00:25:55.82 ID:rg8OJbTJ]
>>909
頭やわらかいねきみ

913 名前:名前は開発中のものです。 mailto:sage [2012/05/25(金) 20:12:45.46 ID:9VSOgWxy]
Allegroには、グラフィックの背景色以外の部分を指定の色一色にして描画する関数があって、
ビットマップでフォントを用意してそれを指定の色で描いたり、
そのシューティングゲームでダメージを受けて一瞬#fffだか#f00だかのシルエットになるときとか使い道があった

914 名前:名前は開発中のものです。 mailto:sage [2012/05/27(日) 08:25:16.10 ID:/36TiFsh]
でも白画像でいいよね

915 名前:名前は開発中のものです。 mailto:sage [2012/05/27(日) 11:50:59.78 ID:6LUkVEJp]
作るの面倒くさい。少なくとも自動生成じゃないと。

916 名前:名前は開発中のものです。 mailto:sage [2012/05/27(日) 16:01:26.83 ID:jTp1UMkC]
俺はゲーム内で自動派だけど、
ゲーム外でツールで生成する派とかもいるかもしれんな
要はゲームで実現できればいいし



917 名前:名前は開発中のものです。 [2012/05/28(月) 03:51:16.27 ID:xvuBoj/+]
ゲームではかなりよくある表現だから関数があってもいいかもな

918 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 05:01:17.17 ID:fvu7wQ0B]
関数作ったよー><
// r, g, bの色を透過色とみなした白マスクを下に繋げて作成。alphacheckを1にするアルファ値0も透過する。
// AllNum以降はLoadDivGraph系と同じ(ただし複製後の画像を想定して指定すべし)。
int LoadDivGraphWhiteMaskDup(const wchar *infile, int r, int g, int b, int alphacheck,
int AllNum, int XNum, int YNum, int SizeX, int SizeY, int *HandleBuf) {
int inhandle = LoadSoftImage(infile);
int w, h;
GetSoftImageSize(inhandle, &w, &h);
int outhandle = MakeARGB8ColorSoftImage(w, h*2);
BltSoftImage(0, 0, w, h, inhandle, 0, 0, outhandle);

for (int y = 0; y < h; y++) {
for (int x = 0; x < w; x++) {
int tr, tg, tb, ta;
GetPixelSoftImage(inhandle, x, y, &tr, &tg, &tb, &ta);
if ((tr == r && tg == g && tb == b) || (alphacheck && ta == 0))
DrawPixelSoftImage(outhandle, x, y+h, 0, 0, 0, 0);
else
DrawPixelSoftImage(outhandle, x, y+h, 255, 255, 255, 255);
}
}

int outgraph = CreateDivGraphFromSoftImage(outhandle, AllNum, XNum, YNum, SizeX, SizeY, HandleBuf);
DeleteSoftImage(inhandle);
DeleteSoftImage(outhandle);
return outgraph;
}

919 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 06:51:35.69 ID:mvM7MJU+]
マリオみたいな感じのゲームを作ろうと思ったけどジャンプができない。

色々サイトとか回ってみたけど中々分からない。
誰か教えてくれると幸いです。

920 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 08:13:51.39 ID:fvu7wQ0B]
重力と地面に立つことを作ればあとは飛ぶだけ

921 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 08:21:05.78 ID:IVkwT0S2]
>>919
v=gt
速度の上限を定める
落下しすぎたら戻す

ジャンプで難しいのは着地だけ

どうしてもダメなら最初は加速させずに等速ジャンプでいいと思うよ
押してる間だけ上昇、離したら下降とかね


922 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 08:40:00.71 ID:c9K0Nu9s]
アクションゲームの最初の壁はジャンプ
次の壁は坂道

923 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 08:52:55.29 ID:6YRysOIW]
最初の壁は床だろう……。

924 名前:名前は開発中のものです。 [2012/05/28(月) 10:20:42.61 ID:rvNFgryv]
どこから作りかで変るだろ
マップチップ並べた床作らなくても地面にする座標決めればキャラの動きは作れる

>>919
てかDXライブラリの公式ページにサンプルあるじゃん
homepage2.nifty.com/natupaji/DxLib/dxprogram.html
2.ジャンプ処理


925 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 10:21:04.96 ID:90lU+KxT]
床てY軸の位置こていしとくだけじゃないか

926 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 10:32:44.25 ID:6YRysOIW]
それを言うなら、ジャンプだって下方向へ加速させるだけだ。
さらに言うなら、昔のゲームみたいに(等加速度でなくて)等速直線運動だとしてもジャンプはジャンプだ。



927 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 11:25:52.97 ID:uXHACx8T]
yが毎フレーム5マイナスされる時
厚さ1の床をどうやって判定するんだ

928 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 11:28:20.73 ID:9WGXBrjP]
5以内に地面があれば5-距離だけ移動してジャンプ終了、でよくね?

929 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 11:53:09.06 ID:aojI3MeF]
for(i=0; i<5; i++)
{
  y++;
  if(isAtari())
  {
    y--;
  }
}

930 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 11:59:48.69 ID:b7wzF1nG]
ちょっと横から失礼

>>902
これで真っ白な画像を得られました。ありがとうございます。
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int) {
ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK);
int x = 0;
int Handle = LoadGraph("char.png");
while (ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0) {
SetDrawBright(255, 255, 255);
SetDrawBlendMode(DX_BLENDMODE_INVSRC, 255);
DrawGraph( x, 100, Handle, TRUE );
SetDrawBlendMode(DX_BLENDMODE_ADD, 255);
DrawGraph( x, 100, Handle, TRUE );
SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 ) ;
x = x + 1;
}
DxLib_End();
return 0;
}
ブレンドモード切替の負荷の重さにはびっくりしたので
ゲームの最初にこれで白い画像を作って表示することにしました。

931 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 13:04:49.57 ID:b7wzF1nG]
>>918
ちょっとだけ直して動きました。
ttp://www1.axfc.net/uploader/Sc/so/349786
使えそうです。ありがとうございます。

932 名前:名前は開発中のものです。 [2012/05/28(月) 14:53:28.29 ID:WnycGPJc]
DXについて勉強するのにオススメの書籍とかありますか?

横スクロールのアクションゲームを作ってみたいんですが

933 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 15:02:03.10 ID:jUTN7lVO]
14才からはじめるわくわく〜
みたいなやつ

934 名前:名前は開発中のものです。 [2012/05/28(月) 20:02:07.96 ID:GTiho4az]
>>932
俺の結論として本は要らない
Dxライブラリは覚えること余りないから必要なのはサンプルでしょ
ネットで他言語でもなんでも見たらいいと思う

935 名前:名前は開発中のものです。 mailto:sage [2012/05/28(月) 21:06:10.30 ID:51O+Wupn]
公式にあるサンプル全部やって、全部ちょこっとずつ改造してみれば、
次に何を勉強すればいいか道が見えてくるかもね

936 名前:名前は開発中のものです。 mailto:sage [2012/05/29(火) 01:46:18.53 ID:L7O/xZHN]
>>927
そんな半端な場所に床を設置すんな



937 名前:名前は開発中のものです。 mailto:sage [2012/05/29(火) 01:50:59.85 ID:BLevQqxO]
うお、仮とはいえPMXに対応してきたのか
すげーな

938 名前:名前は開発中のものです。 mailto:sage [2012/05/29(火) 02:00:46.52 ID:ajD2ZMcH]
>>933
あれ買うなら東方もどきのサイトの方が1000倍マシ

939 名前:名前は開発中のものです。 mailto:sage [2012/05/29(火) 16:38:49.14 ID:0ZCTZE5+]
>>932
DXってのはDXライブラリのことを指してるのかな?

DXライブラリ自体は画像の描画や音楽の再生、キー操作の取得なんかを簡単にできるものだと思えばいい。
リファレンスを読めばわかるから、書籍など全く必要ない。

問題は各ゲーム(シューティング、横スクロールアクション、落ち物、パズル、etc...)の構造なんだけど、
この辺は当然ながら言語もDXライブラリも全く関係ないから、ひたすらググればいいと思う。

もちろんシューティングに特化した書籍なんかも売ってるとは思うから、
どうしても本がいいならそういうのを買えばいいと思うよ。

940 名前:名前は開発中のものです。 mailto:sage [2012/05/30(水) 23:01:39.68 ID:sRt+VGOO]
【ゲームバグ集】私達の知ってるゲームとは違う【吹いたら負け】
www.youtube.com/watch?v=kN29n-Gnv6A&feature=related

これ見るとゲームのバグのほとんどが地形かキャラ同士の変な判定でめり込むことによって起きてるんだね
横アクションを作るとき注意ですね

941 名前:名前は開発中のものです。 mailto:sage [2012/05/30(水) 23:29:00.29 ID:RKMJ5hGw]
勢い良くぶつかったら吹っ飛んだとか、
しゃがみジャンプで天井ぶつかったら吹っ飛んだとか、
ブロックとブロックの間に挟まって吹っ飛んだとか、

よくある光景ですよね

942 名前:名前は開発中のものです。 mailto:sage [2012/05/30(水) 23:38:12.13 ID:0DxYP3XJ]
敵とブロックに挟まれたと思ったらキャラが消えたとか

943 名前:名前は開発中のものです。 mailto:sage [2012/05/31(木) 00:16:28.28 ID:X2kmab9H]
それは大統領

944 名前:名前は開発中のものです。 mailto:sage [2012/05/31(木) 05:19:34.98 ID:LR2h9MNT]
いつのまにか3.08aが出ていたのね

945 名前:名前は開発中のものです。 mailto:sage [2012/05/31(木) 07:52:32.75 ID:AnVA06dY]
前回からの違いは主に3D関係か

946 名前:名前は開発中のものです。 mailto:sage [2012/05/31(木) 08:24:03.27 ID:xNmKjSKJ]
SetBlendGraphParamが便利そう



947 名前:名前は開発中のものです。 mailto:sage [2012/05/31(木) 12:26:15.74 ID:vux5Qb/R]
まだリファレンスに反映してない?

948 名前:名前は開発中のものです。 [2012/05/31(木) 14:24:38.29 ID:LR2h9MNT]
3.08a で x64 のプログラムをビルド出来た
Release だと駄目みたいだけど

949 名前:名前は開発中のものです。 mailto:sage [2012/05/31(木) 14:59:29.76 ID:AjXSR+Ss]
x64のメリットはなに?
スピードは同じでメモリがいっぱいとれるとかかな?

950 名前:名前は開発中のものです。 mailto:sage [2012/05/31(木) 15:35:46.17 ID:WauJ0XKH]
X

951 名前:名前は開発中のものです。 mailto:sage [2012/05/31(木) 18:52:53.60 ID:M5YppKNB]
VirtualAllocでも使わないとメモリーはいっぱい取れないな

952 名前:名前は開発中のものです。 mailto:sage [2012/05/31(木) 20:19:50.42 ID:qSE9w4FD]
プレイヤーの最低動作環境がメモリ4GBを超える場合だろ。
超広大なシムシティでも作るのか?

953 名前:名前は開発中のものです。 mailto:sage [2012/05/31(木) 23:26:55.30 ID:aJXCPyxU]
x64の環境なら、x64で動かしたいと考えるのは自然かもしれない

954 名前:名前は開発中のものです。 mailto:sage [2012/06/01(金) 00:54:10.39 ID:2QrPWAJY]
周辺機器とかソフトとか全部x64対応してないとダメなんだっけ

955 名前:名前は開発中のものです。 mailto:sage [2012/06/01(金) 12:25:56.05 ID:MdBdhEQE]
>>952
マインクラフトみたいなマップで
1ブロック4byte 256*256*256*4で65M
1Gで16マップ分4Gで64マップ分

使おうと思ったらすぐじゃね?

956 名前:名前は開発中のものです。 mailto:sage [2012/06/01(金) 13:02:28.40 ID:xFvEu29T]
マイクラならプレイヤーの周辺だけマップが読み込めてれば良いんだし、
その64マップ分をメモリに展開しておく理由がないだろう



957 名前:名前は開発中のものです。 mailto:sage [2012/06/01(金) 14:29:24.03 ID:t4LYu1LP]
多くのSLGは遅延ロードで済むようにゲーム側の仕様を工夫しているな。
リアルタイムに全タイルを更新するとしたらCPUもハイスペック、
マルチスレッドで効率を落とさないゲーム仕様に工夫する必要がある。

958 名前:名前は開発中のものです。 mailto:sage [2012/06/03(日) 19:27:01.91 ID:ErglFbvU]
64bitOS使ってるとデバッグ実行の起動時と終了時がx64の方がスムーズ
俺はそれだけの為にx64lib使ってる
んで配布するときはx86libでビルド

959 名前:名前は開発中のものです。 mailto:sage [2012/06/05(火) 08:00:34.11 ID:5hghPcJi]
DXライブラリはいいけど本体のC++の方で詰んでワロタ

960 名前:名前は開発中のものです。 mailto:sage [2012/06/05(火) 08:03:10.54 ID:pHV+t2m+]
C++なんて関数の途中で変数宣言できるCとして使ってりゃいいんだよ

961 名前:名前は開発中のものです。 mailto:sage [2012/06/05(火) 12:59:37.44 ID:s+a7RtxR]
いわゆるbetter Cか。
C99未対応でも、//のコメントアウトやら関数途中での変数宣言が出来るコンパイラは多いけどね・

962 名前:名前は開発中のものです。 mailto:sage [2012/06/05(火) 17:33:28.60 ID:NAR8NRh/]
DrawStringって変数使えないんだね
使えるのはFormatの方だけか

963 名前:名前は開発中のものです。 mailto:sage [2012/06/05(火) 21:43:16.29 ID:rfga7AAZ]
えっと思ってソース検索してみたが、変数使えてるお
std::stringの変数に代入して、c_str()メソッドで使ってる

964 名前:名前は開発中のものです。 mailto:sage [2012/06/05(火) 22:32:10.63 ID:rQvv9pU4]
マジかー
でも分かりやすいし俺はFormatだけでいいや…

965 名前:名前は開発中のものです。 mailto:sage [2012/06/07(木) 06:57:25.54 ID:/OyZ/OLF]
文字を3Dモデルにして表示してくれる関数があれば絵が描けないのをごまかせるのに

966 名前:名前は開発中のものです。 mailto:sage [2012/06/07(木) 07:51:26.78 ID:Jv6ss4Bc]
要望送ればいいんじゃね?



967 名前:名前は開発中のものです。 mailto:sage [2012/06/07(木) 10:48:51.49 ID:BJcvBZeM]
Direct3Dにあるやつなら簡単に追加できそうだけどな。

968 名前:名前は開発中のものです。 mailto:sage [2012/06/07(木) 21:30:58.85 ID:Kz7+CKZO]
そういう外部ツール作って画像にしちゃうほうが加工とかもできていい気がする

969 名前:名前は開発中のものです。 mailto:sage [2012/06/07(木) 21:34:42.53 ID:Krec27v1]
DXライブラリで攻撃する時の剣のエフェクト作りたいんだけど、
三日月作って表示するだけでいいのかな?外側にいくほど透明度を高くしたい
事前加工とか必要だろうか

970 名前:名前は開発中のものです。 mailto:sage [2012/06/07(木) 21:47:47.85 ID:+N/ekzeb]
DXライブラリ使うならDirectXのSDKは入れなくていいんですか?

971 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 03:14:22.43 ID:9m0hwklY]
>>970
DirectX SDKはいらない。


972 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 07:58:58.18 ID:q3HoT9+Z]
>>969
透明にするのは内側じゃね?

973 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 12:17:16.75 ID:DZv8KWRM]
内側だと東方の穴あき弾みたいになるだろ

974 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 13:04:25.61 ID:c9EZhUJi]
どうでもええがなw 本人の好きにさせれば。

975 名前:972 mailto:sage [2012/06/08(金) 14:04:03.64 ID:q3HoT9+Z]
東方は分からんのだ、申し訳ない。
どういうエフェクトを想定しているかで、三日月の内側と外側のどちらを透明にするか決まるのかもしれない。
gmdev.xrea.jp/st/up/775.jpg

そういえばそろそろ次スレか。

976 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 14:48:43.82 ID:j/2x2bX+]
アルファチャンネル付きの画像を用意するか、諦めて手抜き



977 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 16:39:50.77 ID:SmPCWrti]
俺ならエフェクトを何重かに重ねるかな。

978 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 17:13:50.81 ID:T8O66D4g]
透明度50%の画像を10%ずつ小さくして5枚重ねるとそれっぽいよね
あとはレベル補正でなんとかなるかな?

979 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 17:28:02.08 ID:vKWIOWMy]
フォトショ

980 名前:名前は開発中のものです。 mailto:sage [2012/06/08(金) 21:34:17.48 ID:zMZgxXcw]
>>975
そういう内側なのか
ドーナツ状にする方かと思ってた

981 名前:名前は開発中のものです。 [2012/06/09(土) 02:23:31.12 ID:PDT8+LE/]
DXライブラリって物理エンジンも積んでないんでしょ。
しょっぼー。しょぼしょぼりんwwww


982 名前:名前は開発中のものです。 mailto:sage [2012/06/09(土) 08:23:21.97 ID:vgner5vs]
でっけー釣り針だなおいwwww

983 名前:名前は開発中のものです。 mailto:sage [2012/06/09(土) 12:51:13.15 ID:dFKH+tB5]
物理エンジンを使わないゲームすら作れないので問題ない

984 名前:名前は開発中のものです。 mailto:sage [2012/06/09(土) 12:53:12.28 ID:0k6AwNTO]
むしろDxLib側のBulletは使わず自前ビルドしたもの使ってる

985 名前:名前は開発中のものです。 mailto:sage [2012/06/09(土) 14:41:45.94 ID:x2dTOO+E]
自分はBox2D積んでるなー。C++用じゃないけど日本語資料多くて助かる。

986 名前:名前は開発中のものです。 mailto:sage [2012/06/09(土) 17:08:19.76 ID:6h//v8O2]
マルチメディアとそれ以外(圧縮ファイルとか物理エンジン)は
別ライブラリで分けても良さそうだけどね。



987 名前:名前は開発中のものです。 mailto:sage [2012/06/10(日) 12:46:20.13 ID:ER7Sq7YO]
マップエディターを作ってたんですけどできたマップが1280*480で
SaveDrawScreenを使って640*480の2枚の画像にしてるのですが
この画像を1枚にあわせて保存するにはどうすればいいでしょうか

毎回ペイント開いて合わせるのもなんか気持ちよくないので

988 名前:名前は開発中のものです。 mailto:sage [2012/06/10(日) 12:50:20.86 ID:2yVVzMFu]
できたマップが1280*480ならいいじゃん

989 名前:名前は開発中のものです。 mailto:sage [2012/06/10(日) 13:18:42.73 ID:lZ191AJm]
そのマップエディタが、マップチップ並べる方法のものなら、
二次元配列にそれぞれのマップチップの情報を記録すれば済みそうな物だけど
(1マップチップのサイズが40*40なら、640*480が[16][12]の、1280*480が[32][24]の配列になる)、
画像ファイルで保存する方がやりやすい方法にしてるの?

990 名前:名前は開発中のものです。 mailto:sage [2012/06/10(日) 13:52:35.29 ID:ER7Sq7YO]
>>989
マップチップを並べる方法です
チームで製作しているのですがお互いまだ慣れておらず絵の担当さんから頂いた画像が細かい座標調整が必要でした
そのためマップエディターで良い感じの位置に調整してスクリーンショットを取る方法にしようと思い至りました

991 名前:名前は開発中のものです。 mailto:sage [2012/06/10(日) 15:10:48.73 ID:ER7Sq7YO]
探し回っていたら同じような質問を発見して無事解決できました
ありがとうございました
ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=past&no=471

992 名前:名前は開発中のものです。 mailto:sage [2012/06/10(日) 21:09:31.17 ID:2yVVzMFu]
パッドでキー入力を一回だけ判定させる方法ってみんなどうやってる?
1F前のキーをとっておいて判定する方法にしようかと思ってるんだが

993 名前:名前は開発中のものです。 mailto:sage [2012/06/10(日) 21:18:35.76 ID:SZ2/XFTS]
それでいいと思う。
ついでに押してる長さとかも一緒に数回分の入力履歴をとっておくようにしたら
今は役に立たなくても、今後使えるようになるかもしれない。
(格闘ゲームのコマンド入力みたいに)

994 名前:名前は開発中のものです。 mailto:sage [2012/06/10(日) 22:08:56.34 ID:/6oGWGHY]
俺はパッドデータ保存・判定クラスを作った。

まず、用途をはっきりさせて、次に、それに合うデータ保存形式を決めた。
あとは、毎フレームで、保存メソッドを呼び出し、データを保存。
判定したい場所で、判定メソッドを呼び出し、保存データを元に判定。

俺の場合はキーリピート的なものが欲しかったので、
ボタンごとに、押しっぱなしになってから何フレ経過しているかをデータで保存するようにした。
保存メソッドでそれを保存。
判定メソッドでは保存したデータを元に、リピート発生の有無などを算出。

流用とか変更がしやすいから楽だったな。

995 名前:名前は開発中のものです。 mailto:sage [2012/06/10(日) 22:12:04.25 ID:1lLcj/tG]
elのキー入力を参考にしてる
getkeystate?をDxLibのものに変えて
ttp://ponk.jp/cpp/el/

996 名前:名前は開発中のものです。 mailto:sage [2012/06/10(日) 23:59:50.33 ID:lj7hTC+Q]
自分も>994に似た感じだなー。むしろ俺いつの間に書きこんだんだ?くらい。
ところで次スレ立てないとやばい。が、俺は弾かれたので、テンプレだけ貼っとく。誰か頼む。

----
Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

【公式】
homepage2.nifty.com/natupaji/DxLib/

【前スレ】
DXライブラリ 総合スレッド その12
toro.2ch.net/test/read.cgi/gamedev/1330000532/

【過去スレ】
01 pc11.2ch.net/test/read.cgi/gamedev/1197468399/
02 pc11.2ch.net/test/read.cgi/gamedev/1224923873/
03 pc11.2ch.net/test/read.cgi/gamedev/1238429676/
04 pc11.2ch.net/test/read.cgi/gamedev/1249822550/
05 pc11.2ch.net/test/read.cgi/gamedev/1259912953/
06 hibari.2ch.net/test/read.cgi/gamedev/1267108154/
07 hibari.2ch.net/test/read.cgi/gamedev/1286180687/
08 hibari.2ch.net/test/read.cgi/gamedev/1301818631/
09 hibari.2ch.net/test/read.cgi/gamedev/1310904069/
10 hibari.2ch.net/test/read.cgi/gamedev/1313655495/
11 toro.2ch.net/test/read.cgi/gamedev/1322844235/

【関連スレ】
C/C++ゲーム製作総合スレッド Part1
toro.2ch.net/test/read.cgi/gamedev/1337516528/



997 名前:名前は開発中のものです。 mailto:sage [2012/06/11(月) 00:13:05.05 ID:vfjk5rjT]
押したキーと押したフレーム数だと
同時押しとか対応できなくない?
AとBを押して2秒、とか

998 名前:名前は開発中のものです。 mailto:sage [2012/06/11(月) 01:25:16.17 ID:t2KXIcta]
そんな特殊な入力判定必要になったことないからわかんない。

999 名前:名前は開発中のものです。 mailto:sage [2012/06/11(月) 01:36:44.56 ID:KU83wIZ2]
ソース書いてみなよ。ここに

1000 名前:名前は開発中のものです。 [2012/06/11(月) 02:09:46.59 ID:t30FF6fH]
   、ゞヾ'""''ソ;μ,
  ヾ (●) (●)彡
  ミ   " □ "  ミ  クワッ!
  彡        ミ
  /ソ,, , ,; ,;;:、ヾ`
     "'"'"


1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<240KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef