DXライブラリ 総合スレッド その12
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名前は開発中のものです。
2012/02/23(木) 21:35:32.53ID:Si08WDH/ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
【公式】
http://homepage2.nifty.com/natupaji/DxLib/
【過去スレ】
DXライブラリ 総合スレッド
http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
http://pc11.2ch.net/test/read.cgi/gamedev/1224923873/
DXライブラリ 総合スレッド その3
http://pc11.2ch.net/test/read.cgi/gamedev/1238429676/
DXライブラリ 総合スレッド その4
http://pc11.2ch.net/test/read.cgi/gamedev/1249822550/
DXライブラリ 総合スレッド その5
http://pc11.2ch.net/test/read.cgi/gamedev/1259912953/
DXライブラリ 総合スレッド その6
http://hibari.2ch.net/test/read.cgi/gamedev/1267108154/
DXライブラリ 総合スレッド その7
http://hibari.2ch.net/test/read.cgi/gamedev/1286180687/
DXライブラリ 総合スレッド その8
http://hibari.2ch.net/test/read.cgi/gamedev/1301818631/
DXライブラリ 総合スレッド その9
http://hibari.2ch.net/test/read.cgi/gamedev/1310904069/
DXライブラリ 総合スレッド その10
http://hibari.2ch.net/test/read.cgi/gamedev/1313655495/
DXライブラリ 総合スレッド その11
http://toro.2ch.net/test/read.cgi/gamedev/1322844235/
0836名前は開発中のものです。
2012/05/19(土) 18:29:25.01ID:FNz7dsVi0837名前は開発中のものです。
2012/05/19(土) 18:50:09.12ID:aIMhivPJこれでエラー回避出来なくなった人って少なくないんだろうな(合掌)
>>834
GCが動き出すぐらいにメモリーをいじってれば、
いずれはフラグメンテーションの餌食になるだろうな。
そうなったら、メモリー管理の方法を根本から見直した方が良いな。
0838名前は開発中のものです。
2012/05/19(土) 18:56:35.62ID:aIMhivPJ立てるか?それとも俺が立てる?
0839名前は開発中のものです。
2012/05/19(土) 19:20:40.08ID:+n/uAHmA10MBじゃなくて1MB
0840名前は開発中のものです。
2012/05/19(土) 19:59:32.27ID:oQPWMkDdあったほうがいいかも。
軽く雑談できるくらいのスレは確かに欲しい。
ム板はstlやら何やらで分かれまくっててメンドイ。
0841名前は開発中のものです。
2012/05/19(土) 21:40:01.48ID:aIMhivPJ題名:C/C++総合スレッド Part1
ゲーム製作におけるC/C++全般に関するスレです。
元スレ
DXライブラリ 総合スレッド その12
http://toro.2ch.net/test/read.cgi/gamedev/1330000532/
0842名前は開発中のものです。
2012/05/19(土) 21:51:45.49ID:VD4oJ3BE知ってる人がいたらテンプレに入れてみては?
俺は不勉強ゆえDXライブラリしか知らないけど…
0843名前は開発中のものです。
2012/05/19(土) 22:19:17.33ID:oQPWMkDdboostとかsdlとかwtlとか
0844名前は開発中のものです。
2012/05/20(日) 02:25:40.47ID:b4J8kKZD誰かメインループ中でラウンド管理クラス(キャラクター数、オブジェクト数などのゲーム本体を管理するクラス)
を作りたいんだけど!
全然わからん。綺麗にできない。
ラウンド管理クラスを、例えばゲームのロード画面時にパッとnewして
キャラクターをその分だけパッとメンバの配列を動的に宣言して
リザルト画面に戻ったらパッとdeleteしたい
0845名前は開発中のものです。
2012/05/20(日) 02:28:54.36ID:rvG7rk610846名前は開発中のものです。
2012/05/20(日) 02:43:46.36ID:m1rxCUFY0847名前は開発中のものです。
2012/05/20(日) 03:09:05.33ID:b4J8kKZDキャラクターのクラスをラウンドクラスで配列で持って管理するっていう方法を想定して作ったんだよ
ラウンドクラスをコンストラクタの引数で指定されたファイルでマップやキャラクターや武器を初期化して
このラウンドクラスはその名の通りラウンド中は保持してラウンドが切り替われば新しく作る。
というのがしたいんだ。
だから
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がリザルト画面
みたいな
0848名前は開発中のものです。
2012/05/20(日) 03:12:36.92ID:b4J8kKZDstaticにすれば、ひょっとしたら言語特性でできるかもしれないし
でもそうするとdeleteしても消えないかもしれないし
0849名前は開発中のものです。
2012/05/20(日) 03:26:03.65ID:m1rxCUFYそのソースごと真似すればいいんじゃないかな
スコープはC/C++では割と基礎的なところなんで、そこの理解がまだ足りないうちに
そこまで高度・大規模なことを「そらで」やろうとしても挫折してしまうと思う
手本があるなら手本を理解するまでやったほうがいい、その意味で、手本の真似が足りない
0850名前は開発中のものです。
2012/05/20(日) 04:19:36.26ID:rvG7rk61>ストラテジーパターンのポインタを使うべきだ。
switchをやめろ。
0851名前は開発中のものです。
2012/05/20(日) 04:32:17.32ID:ETYUDOJj0852名前は開発中のものです。
2012/05/20(日) 05:20:07.65ID:J67XAZ6b0853名前は開発中のものです。
2012/05/20(日) 06:11:28.75ID:rvG7rk61>>847 のプログラミングからは駄々漏れ臭いがぷんぷんする。
_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
ゴリ押しおまじないプログラミングは危険だぜ。
0854名前は開発中のものです。
2012/05/20(日) 08:54:21.16ID:jxpb7tAX無理すんな。普通にやれw
0855名前は開発中のものです。
2012/05/20(日) 09:17:03.32ID:GdVgJDsL0856名前は開発中のものです。
2012/05/20(日) 09:24:37.57ID:rvG7rk61http://mint.ninja-web.net/dpp/index.html
0857名前は開発中のものです。
2012/05/20(日) 09:33:19.40ID:QwDamEGAメンバ変数にでも保持しておかないと、
スコープ抜けたらローカル変数は保持できないので、結果的にメモリリークする
まあ、>>849がFAだと思うが
0858名前は開発中のものです。
2012/05/20(日) 09:47:55.18ID:b4J8kKZD確かにswitchはオススメしないって言われた
お手本のコードは無いです。
メインループのこの部分(タイトル画面やメインゲームやオプション画面の変異)って
どのようにした方がいいですか?
他の方法がわからない
今思いついたのは
NowState=&Start();
while(~~~){
NowState=NowState();//次に実行するべき関数のアドレスを返す
}
0859名前は開発中のものです。
2012/05/20(日) 09:49:23.86ID:b4J8kKZD0860名前は開発中のものです。
2012/05/20(日) 09:50:46.90ID:GdVgJDsL0861名前は開発中のものです。
2012/05/20(日) 10:17:37.19ID:K5FhX9FA0862名前は開発中のものです。
2012/05/20(日) 10:21:43.19ID:b4J8kKZDクラスは自分が管理クラス(今回の場合はラウンドクラス)から渡されたデータを使って処理を行う。
例えば一連の流れをいうと
キャラクターが攻撃を行ったら判定クラスのメソッドが呼ばれ
判定クラスのメンバ変数ポインタからキャラクターの情報を貰って
判定結果が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*);
}
以上のことを踏まえて誰か中央部の設計お願いします。もう設計の最初からやり直しするのは嫌ですヽ(;▽;)ノ
0863名前は開発中のものです。
2012/05/20(日) 10:39:42.64ID:b4J8kKZDhttp://d.hatena.ne.jp/selvaggio/touch/20060821/1156148509
関数ポインタ?をスタックしまくるんですか
でもタイトルシーン→ゲームシーン→リザルトシーン
という流れがあった場合リザルトシーンを予めタイトルシーン時にリザルトをpushしなきゃならないってことですよね
0864名前は開発中のものです。
2012/05/20(日) 10:48:07.65ID:rvG7rk61C++だと相互参照するのに嫌な制限あるから難しいよね。
>>856のサンプルに入ってるソースではデータと振る舞いを分けちゃってますが、
クラスを名前だけ前方宣言してダブルディスパッチするほうが一般的なのかなぁ。
0865名前は開発中のものです。
2012/05/20(日) 11:49:53.71ID:rvG7rk61こうか?
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);
______}
____}
__}
};
0866名前は開発中のものです。
2012/05/20(日) 11:56:57.34ID:rvG7rk610867名前は開発中のものです。
2012/05/20(日) 14:50:25.73ID:b4J8kKZDそれぞれの返り値がないから
例えば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);
}
}
}
}
0868名前は開発中のものです。
2012/05/20(日) 14:50:56.96ID:b4J8kKZD0869名前は開発中のものです。
2012/05/20(日) 14:54:58.64ID:d1pNr8pV{
TITLE,
MAIN,
ENDING,
};
int state = TITLE;
int main(void)
{
while()
{
func[state]();
}
}
0870名前は開発中のものです。
2012/05/20(日) 15:33:37.24ID:GdVgJDsLゲームオーバー処理の時にゲームシーンをpopして、そのままゲームオーバーをpushすればいいんじゃないの?
0871名前は開発中のものです。
2012/05/20(日) 16:09:24.24ID:b4J8kKZD逆だと思ってました(popしたものが実行されると思ってた)
そういうことですか
>>869
func[MAIN]関数内で保持したい変数ってどうすればいいんですか?
func[MAIN]以外が呼び出されたら消えて欲しいです。
あと今更ですが質問厨でウザいですし基本設計の質問はDxlibスレでスレチだった・・・
0872名前は開発中のものです。
2012/05/20(日) 18:03:42.86ID:B+9uILOG0873名前は開発中のものです。
2012/05/20(日) 18:16:08.20ID:eBiE/F9zCharacter*30 // Characterという変数と30の乗算(演算子オーバーロードがされていない場合)
Character*=10 // Characterという変数に30を乗算し代入(演算子オーバーロードがされていない場合)
/*Character*/ // コメントの終端
どれでもお好きな物をどうぞ
C++のスレがないってのは
ここで質問して良いって言う理由にはならないからな?
0874名前は開発中のものです。
2012/05/20(日) 18:30:54.34ID:rvG7rk610875名前は開発中のものです。
2012/05/20(日) 18:44:31.78ID:iNm25OoA0876名前は開発中のものです。
2012/05/20(日) 18:44:39.45ID:B+9uILOGCharacter* x; // Characterのポインタ型を表す型名 ですよね
しかし↓このように書くのはどうなんだろう?
Charactor *target
0877名前は開発中のものです。
2012/05/20(日) 18:56:48.04ID:m1rxCUFY個人でゲーム作ってるなら、どっちか好きなほうを選べばいい
ttp://www.henshi.net/k/hiki.cgi?GoogleCppStyleGuide#l99
ttp://ockeysprogramming.blog42.fc2.com/blog-entry-607.html
0878名前は開発中のものです。
2012/05/20(日) 19:16:26.37ID:/AOQLV8Qスレタイに「ゲーム製作」入れて、
C/C++ゲーム製作総合スレッド Part1
でいいんじゃない?
0879名前は開発中のものです。
2012/05/20(日) 19:19:04.91ID:B+9uILOGC++の本には載ってない文法なので疑問でしたが
人それぞれの考え方なんですね
0880名前は開発中のものです。
2012/05/20(日) 21:23:14.14ID:iNm25OoAC/C++ゲーム製作総合スレッド Part1
http://toro.2ch.net/test/read.cgi/gamedev/1337516528/l50
0881名前は開発中のものです。
2012/05/20(日) 21:29:41.56ID:m1rxCUFY0882名前は開発中のものです。
2012/05/21(月) 01:56:01.80ID:ZnI/WkSfおつ
0883名前は開発中のものです。
2012/05/21(月) 16:15:45.24ID:L5xx/kw7手元の入門書(2種類)だと載ってるけどな
0884名前は開発中のものです。
2012/05/21(月) 18:26:14.29ID:ffV6Y48y0885名前は開発中のものです。
2012/05/21(月) 18:30:28.40ID:I9dpNaEz明るさを0にして色反転ってできなかったっけ?
0886名前は開発中のものです。
2012/05/21(月) 18:51:02.98ID:ffV6Y48yフィルタか、サンキュー
0887名前は開発中のものです。
2012/05/21(月) 18:58:22.65ID:ffV6Y48y0888名前は開発中のものです。
2012/05/21(月) 22:19:42.57ID:47wV3n9Q一時的に他の色っぽく表示っていうのがこのスレか前のスレかにあったね
参考にさせてもらったわ
0889名前は開発中のものです。
2012/05/21(月) 23:13:34.24ID:yadbYRsO0890名前は開発中のものです。
2012/05/22(火) 00:28:56.82ID:fGZyqonm四角く作ったミニマップがダサいです!
0891名前は開発中のものです。
2012/05/22(火) 15:12:29.46ID:mXIdZtP10892名前は開発中のものです。
2012/05/22(火) 20:41:55.22ID:KEARhB46すまんが、その質問からだとどういうふうに描きたいのか分からない。
「○○っていうゲームの△△みたいに」っていう例えでも良いんで
もう少し詳しくやりたいことを説明してはくれまいか。
0893名前は開発中のものです。
2012/05/22(火) 23:11:59.34ID:fGZyqonmEXVSの画面右上のミニマップの両方お願いします。
0894名前は開発中のものです。
2012/05/22(火) 23:33:05.27ID:GwTouD/j0895名前は開発中のものです。
2012/05/23(水) 10:34:59.14ID:b4o10B2oクラスのメンバ構造体のポインタを渡そうとしても「CClass::TStructからTStructへ変換できません」と言われる。
わけわからん。お助けくだせえ
0896名前は開発中のものです。
2012/05/23(水) 10:36:23.94ID:b4o10B2o0897名前は開発中のものです。
2012/05/23(水) 12:41:41.58ID:0bw1KTX7以前他のライブラリで試そうとしたんだけどどうやっても白いくり抜いたような画像は得られませんでした。
やっぱり出来ないんですよね?
たとえば赤い色の敵がいるとすると青と緑の要素がないからキレイに白くならなかったような
そのときの結論は、手作業で白い敵の絵も作ってダメージのとき
そちらを表示するしかないということでした
0898名前は開発中のものです。
2012/05/23(水) 13:39:40.92ID:fw4B82cQ0899名前は開発中のものです。
2012/05/23(水) 13:59:04.47ID:EJDtoHbkDXライブラリのメモリイメージAPIから作り出すことができる。
ただしDirect3Dは、同じテクスチャを同じ描画モードで
連続して描画すると効率が良いので、
一枚の敵画像の中に白く塗り潰した敵の絵も一緒に入れてしまったほうが
描画するときの効率はいい。
0900名前は開発中のものです。
2012/05/23(水) 14:07:34.09ID:EJDtoHbkあるいはHLSL書いてピクセルシェーダ使うのも描画モードが切り替わるので、
Direct3Dの一括描画を止めてしまう。
手作業で白い敵の絵も作って、アルファブレンドで二枚塗りして
フェードさせるのが最も望ましいんじゃないかな。
0901名前は開発中のものです。
2012/05/23(水) 17:25:41.49ID:0bw1KTX7わかりません・・・Directx7レベルPGなのでw
>>899 >>900
よくわかりました。ありがとうございます。
おかげでこないだ詰まってた問題も原因がわかりました。
スプライト処理クラスを作って一枚表示ごとに描画モードを
SetRenderStateで変えていたのですが、去年買ったi5パソコンで数百程度の
小さい画像表示で処理落ちし始めてビビリました。
このスレで「描画モードを変えると処理が重くならないか?」という話題があったのを
うっすら記憶していて、SetRenderStateをまとめてやるようにしたら改善されました。
いま「SetRenderState 重い」で検索したらたしかに重たいと警告を発してる開発者さんがいました。
0902名前は開発中のものです。
2012/05/23(水) 21:39:28.35ID:oEFLuczzttp://dixq.net/forum/viewtopic.php?t=9714&p=78319
0903名前は開発中のものです。
2012/05/23(水) 21:52:32.24ID:fw4B82cQ0904名前は開発中のものです。
2012/05/23(水) 22:29:47.19ID:hXbSVptG0905名前は開発中のものです。
2012/05/23(水) 22:42:46.64ID:kOpBPT9Lいちいち色違いのキャラを用意しないといけないとか、面倒だわ。
俺もこの白点滅のやり方について公式とかで質問した人間だから、同類。
0906名前は開発中のものです。
2012/05/23(水) 22:49:16.12ID:EJDtoHbkいくつかポイントがあって、合成する元の画像がそれを意識して作られる必要あり。
テクスチャは2の累乗であるwidth, height の正方形である。
だから長方形とかだと裏で大きめの正方形を確保してしまうから、
合成後の画像が正方形のスペースを有意義に使うこと。
カラーパレットが空いている必要がある。
つまり256色を白以外で使いつくされてるとだめ。
0907名前は開発中のものです。
2012/05/23(水) 22:50:09.77ID:pwt5T56h0908名前は開発中のものです。
2012/05/23(水) 23:13:59.87ID:hXbSVptG0909名前は開発中のものです。
2012/05/23(水) 23:18:06.90ID:0ldDGJ6Sその上にもっぺん同じキャラクタをこんどはAddで加算描画するだろ?
そうすると抜き色以外255で埋まるって寸法よ
0910名前は開発中のものです。
2012/05/24(木) 00:14:49.78ID:OTDx3X8F0911名前は開発中のものです。
2012/05/24(木) 00:37:40.90ID:YnP/Ncq+全部アルファブレンドONで描画したほうがいいんだな。
マップタイルだけOFFとか。
0912名前は開発中のものです。
2012/05/25(金) 00:25:55.82ID:rg8OJbTJ頭やわらかいねきみ
0913名前は開発中のものです。
2012/05/25(金) 20:12:45.46ID:9VSOgWxyビットマップでフォントを用意してそれを指定の色で描いたり、
そのシューティングゲームでダメージを受けて一瞬#fffだか#f00だかのシルエットになるときとか使い道があった
0914名前は開発中のものです。
2012/05/27(日) 08:25:16.10ID:/36TiFsh0915名前は開発中のものです。
2012/05/27(日) 11:50:59.78ID:6LUkVEJp0916名前は開発中のものです。
2012/05/27(日) 16:01:26.83ID:jTp1UMkCゲーム外でツールで生成する派とかもいるかもしれんな
要はゲームで実現できればいいし
0917名前は開発中のものです。
2012/05/28(月) 03:51:16.27ID:xvuBoj/+0918名前は開発中のものです。
2012/05/28(月) 05:01:17.17ID: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;
}
0919名前は開発中のものです。
2012/05/28(月) 06:51:35.69ID:mvM7MJU+色々サイトとか回ってみたけど中々分からない。
誰か教えてくれると幸いです。
0920名前は開発中のものです。
2012/05/28(月) 08:13:51.39ID:fvu7wQ0B0921名前は開発中のものです。
2012/05/28(月) 08:21:05.78ID:IVkwT0S2v=gt
速度の上限を定める
落下しすぎたら戻す
ジャンプで難しいのは着地だけ
どうしてもダメなら最初は加速させずに等速ジャンプでいいと思うよ
押してる間だけ上昇、離したら下降とかね
0922名前は開発中のものです。
2012/05/28(月) 08:40:00.71ID:c9K0Nu9s次の壁は坂道
0923名前は開発中のものです。
2012/05/28(月) 08:52:55.29ID:6YRysOIW0924名前は開発中のものです。
2012/05/28(月) 10:20:42.61ID:rvNFgryvマップチップ並べた床作らなくても地面にする座標決めればキャラの動きは作れる
>>919
てかDXライブラリの公式ページにサンプルあるじゃん
http://homepage2.nifty.com/natupaji/DxLib/dxprogram.html
2.ジャンプ処理
0925名前は開発中のものです。
2012/05/28(月) 10:21:04.96ID:90lU+KxT0926名前は開発中のものです。
2012/05/28(月) 10:32:44.25ID:6YRysOIWさらに言うなら、昔のゲームみたいに(等加速度でなくて)等速直線運動だとしてもジャンプはジャンプだ。
0927名前は開発中のものです。
2012/05/28(月) 11:25:52.97ID:uXHACx8T厚さ1の床をどうやって判定するんだ
0928名前は開発中のものです。
2012/05/28(月) 11:28:20.73ID:9WGXBrjP0929名前は開発中のものです。
2012/05/28(月) 11:53:09.06ID:aojI3MeF{
y++;
if(isAtari())
{
y--;
}
}
0930名前は開発中のものです。
2012/05/28(月) 11:59:48.69ID: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;
}
ブレンドモード切替の負荷の重さにはびっくりしたので
ゲームの最初にこれで白い画像を作って表示することにしました。
0931名前は開発中のものです。
2012/05/28(月) 13:04:49.57ID:b7wzF1nGちょっとだけ直して動きました。
ttp://www1.axfc.net/uploader/Sc/so/349786
使えそうです。ありがとうございます。
0932名前は開発中のものです。
2012/05/28(月) 14:53:28.29ID:WnycGPJc横スクロールのアクションゲームを作ってみたいんですが
0933名前は開発中のものです。
2012/05/28(月) 15:02:03.10ID:jUTN7lVOみたいなやつ
0934名前は開発中のものです。
2012/05/28(月) 20:02:07.96ID:GTiho4az俺の結論として本は要らない
Dxライブラリは覚えること余りないから必要なのはサンプルでしょ
ネットで他言語でもなんでも見たらいいと思う
0935名前は開発中のものです。
2012/05/28(月) 21:06:10.30ID:51O+Wupn次に何を勉強すればいいか道が見えてくるかもね
0936名前は開発中のものです。
2012/05/29(火) 01:46:18.53ID:L7O/xZHNそんな半端な場所に床を設置すんな
レス数が900を超えています。1000を超えると表示できなくなるよ。