Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
【公式】
http://homepage2.nifty.com/natupaji/DxLib/
【関連スレ】
C/C++ゲーム製作総合スレッド Part7 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/gamedev/1420939171/
ゲームプログラムなら俺に聞け32(c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1441693570/
●DXライブラリではなくDirectXの質問ならこっちへ
【C++】 DirectX初心者質問スレ Part39 【C】 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1418438785/
DXライブラリ 総合スレッド その19 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/01/05(火) 23:44:29.77ID:fkNSYSkc
126名前は開発中のものです。
2016/10/31(月) 19:10:44.78ID:8dsRDt6U 2D
127名前は開発中のものです。
2016/11/01(火) 22:09:07.08ID:kJ7Uoghc 3Dは海外のゲームエンジンが無料化されてしまったので、
3Dゲーム制作者はそっちへ行ってしまった気がする
2Dだとどれもあんまり変わらない気がするが
3Dゲーム制作者はそっちへ行ってしまった気がする
2Dだとどれもあんまり変わらない気がするが
128名前は開発中のものです。
2016/11/01(火) 22:26:25.51ID:+8ot24fl 2Dも描画しかないDXライブラリよりもオブジェクト管理出来たりするエンジンに流れている気がする
129名前は開発中のものです。
2016/11/02(水) 07:20:39.55ID:/aW+4m+D 全部コードに直書きする形でならなんとか自分の思う通りに作れるようになったとは思うんだけど
さすがに会話イベント一個追加したり、マップに壺一個追加しただけで再コンパイルする必要がある状況って
なんというか我ながらアホだよね
この状況を卒業するには何を勉強したらいいのかアドバイスください
作ってるのは2DRPGで、主にNPCのイベント内容をコードの外に出すにはどうやればいいかで躓いてます
とりあえず思いついてるやり方は
セリフ表示とか効果音を鳴らすとかのイベント処理を担っている関数に番号振って引数の数を紐付けしておいて
イベントの内容を全部、関数の番号、引数の数、引数の数値…って数字だけのデータにして
そのデータを読み込んで、どの関数を呼び出し引数にはどんな数値を入れるかを判断して実行する関数を作り
イベントの内容を全部数値に置き換える方法なんですけど
さすがに会話イベント一個追加したり、マップに壺一個追加しただけで再コンパイルする必要がある状況って
なんというか我ながらアホだよね
この状況を卒業するには何を勉強したらいいのかアドバイスください
作ってるのは2DRPGで、主にNPCのイベント内容をコードの外に出すにはどうやればいいかで躓いてます
とりあえず思いついてるやり方は
セリフ表示とか効果音を鳴らすとかのイベント処理を担っている関数に番号振って引数の数を紐付けしておいて
イベントの内容を全部、関数の番号、引数の数、引数の数値…って数字だけのデータにして
そのデータを読み込んで、どの関数を呼び出し引数にはどんな数値を入れるかを判断して実行する関数を作り
イベントの内容を全部数値に置き換える方法なんですけど
130名前は開発中のものです。
2016/11/02(水) 08:13:58.60ID:8LrVjVrS >>129
自分でも気付いてる通り、基本原則はコードとリソースを分離すること。
テキストファイルの読み込みと解析が出来るなら
単純なシナリオファイル(会話+αくらい)のローダくらいなら比較的簡単。
まあそれ以上に複雑なことをやるなら、素直に
既存のスクリプト言語の組み込み用ライブラリを頼ったほうが良いと思うけどね。
次点としては、ソースファイルの構成を見直して、最低限のビルドでも済むようにすること。
各クラスの書き方、各ファイルの依存関係なんかを整頓することで、
ちょっと修正したくらいなら、長時間のビルドを要さなくなる。
自分でも気付いてる通り、基本原則はコードとリソースを分離すること。
テキストファイルの読み込みと解析が出来るなら
単純なシナリオファイル(会話+αくらい)のローダくらいなら比較的簡単。
まあそれ以上に複雑なことをやるなら、素直に
既存のスクリプト言語の組み込み用ライブラリを頼ったほうが良いと思うけどね。
次点としては、ソースファイルの構成を見直して、最低限のビルドでも済むようにすること。
各クラスの書き方、各ファイルの依存関係なんかを整頓することで、
ちょっと修正したくらいなら、長時間のビルドを要さなくなる。
131名前は開発中のものです。
2016/11/02(水) 13:45:37.24ID:/aW+4m+D 大体の方向性はこんな感じでいいんだということであれば進めていきたいんですが
躊躇している理由が2つあります
基本的に作り始める時に
クラスとかポインタとかよくわかんないけどとりあえずやってみるべ!と始めたので
配列と構造体だけで設計されてて、実は今でもクラスのことはよくわかっていません
だけどキー入力を把握すことと、変数の操作と、画像と音を自分の望む形で望むタイミングに表示再生出来るなら
自分の作りたいゲームは作ることが出来るはずだ!という考えの下で強引に作り続け
変数の値に合わせて画像や音の状態を制御する関数を作って、それを毎フレームScreenFlipの前に呼び出している
なんていう作りになってしまってます
キャラクターに歩行アニメーションや特殊なポーズをとらせたりするのも
BGMを変更するのも効果音を鳴らすのも、HPMPの増減やアイテムの入手なども
picture[ kyaraDATA[kyaraid].pictureID ].pattern=8;
SEplayflag[seID]=1; BGMID=BattleBGMID; とか
kyaraHP[kyaraid]+=1000;
itemstorage[itemid]++; とか
ほとんどこういう形でイベントを組み立ててるんですよね……
ちなみにこの変数全部グローバル変数です
この単純な変数操作を外に出のに、変数全部に番号振ってやる以外に方法が思いつかず
その数が数だけにちょっと躊躇っているのです
それに
if(itemstorage[itemid]<99){
itemstorage[itemid]++;
takarabakoOpenFlag[takaraID]=1;
}else{
JISAKU_serihu(1,"これ以上持てない",0);//最初の引数がしゃべるキャラ、最後のは吹き出しの形のタイプ指定
}
みたいに作ってるイベントの条件分岐の部分の外部への出力方法が思いつかないっていう問題点もあります
なんかこう、こんな低レベルな人間にもできる上手いやり方ありませんかね?
躊躇している理由が2つあります
基本的に作り始める時に
クラスとかポインタとかよくわかんないけどとりあえずやってみるべ!と始めたので
配列と構造体だけで設計されてて、実は今でもクラスのことはよくわかっていません
だけどキー入力を把握すことと、変数の操作と、画像と音を自分の望む形で望むタイミングに表示再生出来るなら
自分の作りたいゲームは作ることが出来るはずだ!という考えの下で強引に作り続け
変数の値に合わせて画像や音の状態を制御する関数を作って、それを毎フレームScreenFlipの前に呼び出している
なんていう作りになってしまってます
キャラクターに歩行アニメーションや特殊なポーズをとらせたりするのも
BGMを変更するのも効果音を鳴らすのも、HPMPの増減やアイテムの入手なども
picture[ kyaraDATA[kyaraid].pictureID ].pattern=8;
SEplayflag[seID]=1; BGMID=BattleBGMID; とか
kyaraHP[kyaraid]+=1000;
itemstorage[itemid]++; とか
ほとんどこういう形でイベントを組み立ててるんですよね……
ちなみにこの変数全部グローバル変数です
この単純な変数操作を外に出のに、変数全部に番号振ってやる以外に方法が思いつかず
その数が数だけにちょっと躊躇っているのです
それに
if(itemstorage[itemid]<99){
itemstorage[itemid]++;
takarabakoOpenFlag[takaraID]=1;
}else{
JISAKU_serihu(1,"これ以上持てない",0);//最初の引数がしゃべるキャラ、最後のは吹き出しの形のタイプ指定
}
みたいに作ってるイベントの条件分岐の部分の外部への出力方法が思いつかないっていう問題点もあります
なんかこう、こんな低レベルな人間にもできる上手いやり方ありませんかね?
132名前は開発中のものです。
2016/11/02(水) 15:10:54.49ID:C/+BZRXz 2chは行頭の半角スペースやタブは無視する
133名前は開発中のものです。
2016/11/02(水) 15:11:48.53ID:C/+BZRXz 途中で書き込んでしまったけど、そういうわけでコード書くときは全角スペース使って見やすく書いて
134名前は開発中のものです。
2016/11/02(水) 15:50:25.87ID:/aW+4m+D if(itemstorage[itemid]<99){
itemstorage[itemid]++;
takarabakoOpenFlag[takaraID]=1;
}else{
JISAKU_serihu(1,"これ以上持てない",0);//最初の引数がしゃべるキャラ、最後のは吹き出しの形のタイプ指定
}
複数行にまたがってる部分はここだけです
後は本当に変数に代入してるだけというか…
itemstorage[itemid]++;
takarabakoOpenFlag[takaraID]=1;
}else{
JISAKU_serihu(1,"これ以上持てない",0);//最初の引数がしゃべるキャラ、最後のは吹き出しの形のタイプ指定
}
複数行にまたがってる部分はここだけです
後は本当に変数に代入してるだけというか…
135名前は開発中のものです。
2016/11/02(水) 15:53:23.25ID:22j5AZ4g >>131
データにしやすいパターンやお約束のイベントだけをデータベース化して
特殊処理はそのままハードコートでいいんじゃねぇの
「これをデータ化したら本当に効率化されるのだろうか」と考えて
非効率になりそうだったらハードコートのまま
そんなことよりもっとプレイヤーから見て喜んでもらえることに意識を集中したほうがいい
データにしやすいパターンやお約束のイベントだけをデータベース化して
特殊処理はそのままハードコートでいいんじゃねぇの
「これをデータ化したら本当に効率化されるのだろうか」と考えて
非効率になりそうだったらハードコートのまま
そんなことよりもっとプレイヤーから見て喜んでもらえることに意識を集中したほうがいい
136名前は開発中のものです。
2016/11/02(水) 17:31:46.86ID:mreiywNQ  あ
この板Unicode参照出来なかった?
この板Unicode参照出来なかった?
137名前は開発中のものです。
2016/11/02(水) 17:32:02.03ID:mreiywNQ 無理か
VIPなら出来るのに
VIPなら出来るのに
138名前は開発中のものです。
2016/11/09(水) 13:59:08.62ID:DtsDG8yY 3Dゲームでマウスをクリックした位置にある3Dモデルをできるだけ高速に取得したいのですが、
何かいい方法はありますか?
コリジョン(衝突判定)関数がありますが、当たり判定用のメッシュを用意しないといけないようなので
ちょっと手間がかかりすぎるのでできればもっと手軽な別の方法がいいですが
何かいい方法はありますか?
コリジョン(衝突判定)関数がありますが、当たり判定用のメッシュを用意しないといけないようなので
ちょっと手間がかかりすぎるのでできればもっと手軽な別の方法がいいですが
139名前は開発中のものです。
2016/11/10(木) 02:38:50.44ID:woNsYOXh 他に方法無いやろ
140名前は開発中のものです。
2016/11/22(火) 19:00:44.40ID:4Lu6ZO/B ちょっとウンコしてくる
141名前は開発中のものです。
2016/11/22(火) 19:35:51.98ID:amdDwmR+ Convert Mouse Location To World Spaceでライントレースしか分からない
142名前は開発中のものです。
2016/11/22(火) 19:38:26.07ID:amdDwmR+ >>141
ue4スレと間違った
ue4スレと間違った
143名前は開発中のものです。
2016/12/10(土) 02:51:28.41ID:H338C5QI しまった!お尻ふいてなかった
144名前は開発中のものです。
2016/12/10(土) 21:12:58.27ID:ijDtE922 >>138
画面描画には直接利用しないテクスチャに取得対象モデルをレンダリングしておいて判定するとか
画面描画には直接利用しないテクスチャに取得対象モデルをレンダリングしておいて判定するとか
145名前は開発中のものです。
2016/12/10(土) 21:14:24.90ID:ijDtE922 とおもったら1月前かよ
146名前は開発中のものです。
2016/12/18(日) 01:11:06.45ID:w4mjhhpa 初歩的なことですが、
画像を描画する際の関数の仕様について迷っています
例えば、描画系の関数をできるだけ少なくして、内部変数によってDXライブラリの描画関数を呼び分けるのがいいのか、
あるいは、描画系の関数を目的別に用意して、画面側で使い分けるのがいいか
フェードインの機能の場合、
前者なら「setModeFadeInの後、drawする」
後者なら、「drawとfadeInをそもそも別関数にする」
個人的には前者が正解のような気がしているのですが、
そもそも発想自体が間違っているのでしょうか?
御存知の方いれば、ご教授頂けると嬉しいです
画像を描画する際の関数の仕様について迷っています
例えば、描画系の関数をできるだけ少なくして、内部変数によってDXライブラリの描画関数を呼び分けるのがいいのか、
あるいは、描画系の関数を目的別に用意して、画面側で使い分けるのがいいか
フェードインの機能の場合、
前者なら「setModeFadeInの後、drawする」
後者なら、「drawとfadeInをそもそも別関数にする」
個人的には前者が正解のような気がしているのですが、
そもそも発想自体が間違っているのでしょうか?
御存知の方いれば、ご教授頂けると嬉しいです
147名前は開発中のものです。
2016/12/18(日) 17:01:06.63ID:g4K5bJ5s 関数の仕様と言うよりは、抽象度とか設計とかの話なのかな?
なんとなくは分かるけど誤解してるかもしれないんで
数行程度のサンプルソースを書いてくれると嬉しい
なんとなくは分かるけど誤解してるかもしれないんで
数行程度のサンプルソースを書いてくれると嬉しい
148名前は開発中のものです。
2016/12/18(日) 17:12:32.47ID:GrYJvN1j 個人的には後者の方が好き
状態が多いとバグの原因になる
状態が多いとバグの原因になる
149名前は開発中のものです。
2016/12/18(日) 18:47:26.76ID:w4mjhhpa >> 147
たしかに、「抽象度とか設計」の質問と言った方が適切かもしれません。失礼しました
具体的にいえば、以下のイメージです
■パターン1
if (ボタンが押されたら) {
画像A.setFadeIn(引数に透過速度などの更新情報);
}
画像A.draw();(透明度の加減処理。 また透過度が100以外なら、DXライブラリのSetDrawBlendModeを使うかを判定。フェードインが終わったら、内部変数のフラグを立てる)
if (画像A.IsFadeInComplete()) {
// フェードイン終わった!
}
たしかに、「抽象度とか設計」の質問と言った方が適切かもしれません。失礼しました
具体的にいえば、以下のイメージです
■パターン1
if (ボタンが押されたら) {
画像A.setFadeIn(引数に透過速度などの更新情報);
}
画像A.draw();(透明度の加減処理。 また透過度が100以外なら、DXライブラリのSetDrawBlendModeを使うかを判定。フェードインが終わったら、内部変数のフラグを立てる)
if (画像A.IsFadeInComplete()) {
// フェードイン終わった!
}
150名前は開発中のものです。
2016/12/18(日) 18:48:30.96ID:w4mjhhpa ■パターン2
if (ボタンが押されたら) {
グローバル変数B = true;
}
if (グローバル変数B) {
画像A.drawFadeIn(引数に透過速度などの更新情報。毎フレーム同じ情報を渡すのが違和感);
if (画像A.IsFadeInComplete()) {
// フェードイン終わった!
}
} else {
画像A.draw();
}
最初はパターン2でやっていたのですが、これだと例えば「回転とフェードインとかが同時にできない?」と思って、パターン1に変えました
すると、今後はフェードインの更新情報を画像Aに持たせたためか、あるいは、draw関数内の条件分岐が増えたせいか、処理が重くなってしまいました
この程度で重くなるのかも疑問ですが、そもそも両パターンともNGなのではと思い始めた次第です
ゲーム系プログラミングのお約束が分かってないのが、一番の原因ですが……
>>148
ご教授ありがとうございます。
何がバグの原因になるとか全然分からないので、大変参考になりました
if (ボタンが押されたら) {
グローバル変数B = true;
}
if (グローバル変数B) {
画像A.drawFadeIn(引数に透過速度などの更新情報。毎フレーム同じ情報を渡すのが違和感);
if (画像A.IsFadeInComplete()) {
// フェードイン終わった!
}
} else {
画像A.draw();
}
最初はパターン2でやっていたのですが、これだと例えば「回転とフェードインとかが同時にできない?」と思って、パターン1に変えました
すると、今後はフェードインの更新情報を画像Aに持たせたためか、あるいは、draw関数内の条件分岐が増えたせいか、処理が重くなってしまいました
この程度で重くなるのかも疑問ですが、そもそも両パターンともNGなのではと思い始めた次第です
ゲーム系プログラミングのお約束が分かってないのが、一番の原因ですが……
>>148
ご教授ありがとうございます。
何がバグの原因になるとか全然分からないので、大変参考になりました
151名前は開発中のものです。
2016/12/18(日) 18:53:42.88ID:w4mjhhpa 132 133 の書き込みを読むべきでした すみません……
■パターン2
if (ボタンが押されたら) {
グローバル変数B = true;
}
if (グローバル変数B) {
画像A.drawFadeIn(引数に透過速度などの更新情報。毎フレーム同じ情報を渡すのが違和感);
if (画像A.IsFadeInComplete()) {
// フェードイン終わった!
}
} else {
画像A.draw();
}
■パターン2
if (ボタンが押されたら) {
グローバル変数B = true;
}
if (グローバル変数B) {
画像A.drawFadeIn(引数に透過速度などの更新情報。毎フレーム同じ情報を渡すのが違和感);
if (画像A.IsFadeInComplete()) {
// フェードイン終わった!
}
} else {
画像A.draw();
}
152名前は開発中のものです。
2016/12/18(日) 19:39:00.88ID:g4K5bJ5s グローバル変数を使うかどうかとか
複数の状態を同時に実行できない問題をどうするかとかは別として
自分なら2の方向かなあ
複数の状態を同時に実行できない問題をどうするかとかは別として
自分なら2の方向かなあ
153名前は開発中のものです。
2016/12/18(日) 20:00:49.02ID:oO1EoBtD >>146,>>149-151
細かい点ですが、「フェードイン」とは、画像Aが透明な状態から徐々に濃く(明るく)なっていく処理をさしているのですか?
ボタンを押さないとフェードイン処理が始まらないみたいなんですが、
そもそもボタンを押してないと、画像A.draw()で何を描画してるんですか?
また画像A.IsFadeInComplete()が真になると、何が起こるんですか?
この部分は問題を説明する上で、さんぷるにふくめるひつようがあるのですか?
またなぜ151のパターン2で、わざわざグローバル変数Bをサンプルに含めているのがよくわかりません
サンプルとしては、
if (ボタンが押されたら) {
画像A.drawFadeIn(引数に透過速度などの更新情報。毎フレーム同じ情報を渡すのが違和感);
:
でいいんじゃないですか
仕様がいまいちイメージできません
細かい点ですが、「フェードイン」とは、画像Aが透明な状態から徐々に濃く(明るく)なっていく処理をさしているのですか?
ボタンを押さないとフェードイン処理が始まらないみたいなんですが、
そもそもボタンを押してないと、画像A.draw()で何を描画してるんですか?
また画像A.IsFadeInComplete()が真になると、何が起こるんですか?
この部分は問題を説明する上で、さんぷるにふくめるひつようがあるのですか?
またなぜ151のパターン2で、わざわざグローバル変数Bをサンプルに含めているのがよくわかりません
サンプルとしては、
if (ボタンが押されたら) {
画像A.drawFadeIn(引数に透過速度などの更新情報。毎フレーム同じ情報を渡すのが違和感);
:
でいいんじゃないですか
仕様がいまいちイメージできません
154名前は開発中のものです。
2016/12/18(日) 20:04:49.88ID:GrYJvN1j あーでもグローバルじゃなくてブラシクラス作ればいいかも
155名前は開発中のものです。
2016/12/18(日) 20:08:44.65ID:oO1EoBtD 質問の意図は
■パターン1
画像A.draw(ボタンが押されたか、引数に透過速度などの更新情報);//毎フレーム同じ情報を渡すのが違和感
■パターン2
f (ボタンが押されたら) {
画像A.drawFadeIn(引数に透過速度などの更新情報);
} else {
画像A.draw();
}
でどっち?
みたいな話かと思ったけど、ちがうのか・・・
■パターン1
画像A.draw(ボタンが押されたか、引数に透過速度などの更新情報);//毎フレーム同じ情報を渡すのが違和感
■パターン2
f (ボタンが押されたら) {
画像A.drawFadeIn(引数に透過速度などの更新情報);
} else {
画像A.draw();
}
でどっち?
みたいな話かと思ったけど、ちがうのか・・・
156名前は開発中のものです。
2016/12/18(日) 20:41:41.19ID:w4mjhhpa157名前は開発中のものです。
2016/12/18(日) 21:01:52.62ID:w4mjhhpa158名前は開発中のものです。
2016/12/18(日) 21:08:52.00ID:oO1EoBtD 流れがつかめませんが、解決したんですか
ちなみに>>155でいうと、自分はパターン2派。可読性が良くなると思うから。
画像A.のdrawFadeIn()とdraw()で重複するブロックが肥大化してきたら、その重複部分をinline関数に切り出してる
しかし・・・
確かに可読性が悪いとストレスの原因になるが、
可読性を確保する労力が新たなストレスと生むというジレンマ・・・
ちなみに>>155でいうと、自分はパターン2派。可読性が良くなると思うから。
画像A.のdrawFadeIn()とdraw()で重複するブロックが肥大化してきたら、その重複部分をinline関数に切り出してる
しかし・・・
確かに可読性が悪いとストレスの原因になるが、
可読性を確保する労力が新たなストレスと生むというジレンマ・・・
159名前は開発中のものです。
2016/12/18(日) 22:50:19.71ID:w4mjhhpa >>158
混乱させてしまったようで、申し訳ないです
155の意図をやっと把握しました(訂正に訂正を重ねてホンマ……)
パターン1は、どこかでフェードインの命令要求を登録した後、draw関数を呼び出します
draw関数内では、透過度の変更要求の確認、透過度の更新、および、DXライブラリ「SetDrawBlendMode」の呼び出しを行います
透過度の変更要求がない場合は、SetDrawBlendModeを使いません
なので、通常描画もフェードイン描画も一律draw関数を呼びだすことになります
パターン2は drawFadeIn とdraw を別関数にします
フェードインするときは、drawFadeInを呼び出して、引数として透過度の更新情報を渡します
結論としては、皆さん「パターン2がマシ」と仰っているので、その路線で進めようと思います
描画処理専門のブラシクラスも含めて、検討してみます
可読性に関しては、最近、可読性を確保するためのストレスに負け始めてます
重要なのは重々承知ですが、やはり面倒……
趣味なはずなのに、仕事と同様のストレスを感じる
混乱させてしまったようで、申し訳ないです
155の意図をやっと把握しました(訂正に訂正を重ねてホンマ……)
パターン1は、どこかでフェードインの命令要求を登録した後、draw関数を呼び出します
draw関数内では、透過度の変更要求の確認、透過度の更新、および、DXライブラリ「SetDrawBlendMode」の呼び出しを行います
透過度の変更要求がない場合は、SetDrawBlendModeを使いません
なので、通常描画もフェードイン描画も一律draw関数を呼びだすことになります
パターン2は drawFadeIn とdraw を別関数にします
フェードインするときは、drawFadeInを呼び出して、引数として透過度の更新情報を渡します
結論としては、皆さん「パターン2がマシ」と仰っているので、その路線で進めようと思います
描画処理専門のブラシクラスも含めて、検討してみます
可読性に関しては、最近、可読性を確保するためのストレスに負け始めてます
重要なのは重々承知ですが、やはり面倒……
趣味なはずなのに、仕事と同様のストレスを感じる
160名前は開発中のものです。
2016/12/18(日) 23:01:17.32ID:oO1EoBtD >>159
フェードアウトとフェードインの区別が困難になるほど、なにやら複雑な夢(野望、殺意)を秘めているみたいですね
お手柔らかにお願いします(笑)
ロベールさんのサイトによると、
inline関数は必ずしもinline展開されないみたいだけど、
誰か環境ごとに厳密に検証した人いるのかな?
自分はVC++の判断を信じてる!
フェードアウトとフェードインの区別が困難になるほど、なにやら複雑な夢(野望、殺意)を秘めているみたいですね
お手柔らかにお願いします(笑)
ロベールさんのサイトによると、
inline関数は必ずしもinline展開されないみたいだけど、
誰か環境ごとに厳密に検証した人いるのかな?
自分はVC++の判断を信じてる!
161名前は開発中のものです。
2016/12/19(月) 00:31:54.60ID:HwJJ4Rji 例えば「マリオが死ぬと画面がフェードアウトして画面が切り替わる」
…という処理があるとして
■パターン1
マリオの死亡処理のところに
具体的な切替演出の設定(この場合はフェードアウト)を書くことになる。
■パターン2
マリオ死亡時にやることは
画面切替フラグを立てるだけで、死亡処理に集中することが出来る。
画面切替の演出には、画面がどんどん暗くなる「フェードアウト」だけでなく、
真っ白になったり(ホワイトアウト)、ワイプしたり色んな演出パターンが考えられる。
実際にやるかどうかは別としてね。
そうなると、画面切替処理は独立させておいたほうが取り回しが良くなるのではないか?
というのがオイラの考える2のメリットかな。
…という処理があるとして
■パターン1
マリオの死亡処理のところに
具体的な切替演出の設定(この場合はフェードアウト)を書くことになる。
■パターン2
マリオ死亡時にやることは
画面切替フラグを立てるだけで、死亡処理に集中することが出来る。
画面切替の演出には、画面がどんどん暗くなる「フェードアウト」だけでなく、
真っ白になったり(ホワイトアウト)、ワイプしたり色んな演出パターンが考えられる。
実際にやるかどうかは別としてね。
そうなると、画面切替処理は独立させておいたほうが取り回しが良くなるのではないか?
というのがオイラの考える2のメリットかな。
162名前は開発中のものです。
2016/12/19(月) 16:22:26.13ID:9RjupL+U 状態に対して××モードと名前をつけて
上手くハマるならそれを使えばいいよ
上手くハマるならそれを使えばいいよ
163名前は開発中のものです。
2016/12/19(月) 23:36:24.22ID:ABRexmh1164名前は開発中のものです。
2017/01/08(日) 23:39:08.63ID:3fqQn8Jq 久しぶりにDXライブラリ使ってたんだけど、文字入力して変換しようとするとIMEの変換候補がゲームウィンドウの左下に表示される。
ちなみにGoogleIMEでは左下でMicrosoftIMEは右下。
昔触ったときは文字の入力した文字のすぐそばに表示されてた気がするんだけどWin10(Win8?)から仕様が変わったんだろうか。
ぐぐったらWin8でIMEウィンドウ自体が出ない不具合があってそれは解消されたようなんだが。
ちなみにGoogleIMEでは左下でMicrosoftIMEは右下。
昔触ったときは文字の入力した文字のすぐそばに表示されてた気がするんだけどWin10(Win8?)から仕様が変わったんだろうか。
ぐぐったらWin8でIMEウィンドウ自体が出ない不具合があってそれは解消されたようなんだが。
165名前は開発中のものです。
2017/01/13(金) 09:20:03.69ID:JxeCTkK7 文字入力といえば自作のアクションゲームで名前入力辞めマスタ
よーく考えるとユーザー自身しかしないだろうし
よーく考えるとユーザー自身しかしないだろうし
166名前は開発中のものです。
2017/01/13(金) 09:22:32.67ID:JxeCTkK7 キーのログをとってmovieみたいに再現できる機能も省略
今なら動画をとろうと思えばキャプチャソフトを使えばよいし
楽になった分、今度こそ完成に近づくと良いけど
今なら動画をとろうと思えばキャプチャソフトを使えばよいし
楽になった分、今度こそ完成に近づくと良いけど
167106
2017/01/17(火) 15:54:13.99ID:aj0DNk7d スレに残しておきたいと感じた情報を書いておきます
>>106で沸いた疑問を縦800ピクセルの画像で比較検証したところですが
DrawRectGraphで一列ずつ描画するのと
SetDrawAreaで描画できる範囲を一列ずつ変更しながら描画するのでは
比べるのがおこがましいくらい
DrawRectGraphで一列ずつ描画する方が
軽かったという検証結果が出ました
12倍くらいの差がありましたので、10倍以上違うのは確実だと思います
ここまで違うのならどんな環境でもDrawRectGraphの方が良いのは確実なんじゃないかと思います
ラスタースクロールをシェーダ使わずに実装するならDrawRectGraphが良いです
以上、報告終わり
>>106で沸いた疑問を縦800ピクセルの画像で比較検証したところですが
DrawRectGraphで一列ずつ描画するのと
SetDrawAreaで描画できる範囲を一列ずつ変更しながら描画するのでは
比べるのがおこがましいくらい
DrawRectGraphで一列ずつ描画する方が
軽かったという検証結果が出ました
12倍くらいの差がありましたので、10倍以上違うのは確実だと思います
ここまで違うのならどんな環境でもDrawRectGraphの方が良いのは確実なんじゃないかと思います
ラスタースクロールをシェーダ使わずに実装するならDrawRectGraphが良いです
以上、報告終わり
168名前は開発中のものです。
2017/01/29(日) 19:37:06.79ID:rdbqqXVO >>167
SetDrawAreaを使うと連続描画が途切れるからね
SetDrawAreaを使うと連続描画が途切れるからね
169名前は開発中のものです。
2017/01/30(月) 18:28:11.60ID:2zIjyMmQ Delayフレーム後にSoundHandleを指定の音量パン周波数で再生する
SoundEffect(int SoundHandle,int VolumePal,int PanPal,int FrequencyPal,int Delay)
こんな関数を作りたいんだけど実装方法が思いつかない
SetSoundCurrentTimeでマイナスの値を設定出来たら簡単なのに
SoundEffect(int SoundHandle,int VolumePal,int PanPal,int FrequencyPal,int Delay)
こんな関数を作りたいんだけど実装方法が思いつかない
SetSoundCurrentTimeでマイナスの値を設定出来たら簡単なのに
170名前は開発中のものです。
2017/02/16(木) 01:43:45.04ID:vIVM03On マイクから入力される音声のdBを
監視するアプリって作れますか?
監視するアプリって作れますか?
171名前は開発中のものです。
2017/02/26(日) 02:54:28.23ID:NkbyLrdK DX11対応の環境でサンプルプログラムをコンパイルし実行したらDX11で動いていましたが
この.exeをDX11非対応の環境で実行するとDX9などで動くんですか?
手元にDX11非対応の環境が無くて試せないんですが2Dゲーを作る分には特に気にしなくても大丈夫なんでしょうか
この.exeをDX11非対応の環境で実行するとDX9などで動くんですか?
手元にDX11非対応の環境が無くて試せないんですが2Dゲーを作る分には特に気にしなくても大丈夫なんでしょうか
172名前は開発中のものです。
2017/02/26(日) 02:56:31.45ID:NkbyLrdK sage忘れ失礼しました
173名前は開発中のものです。
2017/02/26(日) 04:39:50.74ID:cv+wlHl/ オリジナルシェーダ使ってなければ問題ないはず
174名前は開発中のものです。
2017/02/26(日) 11:18:23.14ID:SbF7UdV7 Android対応のDXライブラリが公開されたようだね
Unityやcocos2dと比べるとメリットがあまりないのがアレだけど
(DX11対応みたいに中途半端になりそうなところがまたね……)
Unityやcocos2dと比べるとメリットがあまりないのがアレだけど
(DX11対応みたいに中途半端になりそうなところがまたね……)
175名前は開発中のものです。
2017/02/26(日) 11:24:07.56ID:SbF7UdV7176名前は開発中のものです。
2017/02/26(日) 18:26:14.24ID:w1YArNR6 android対応dxライブラリマジやがw
ちょっとスマホゲー作りたくなってきた・・・
ちょっとスマホゲー作りたくなってきた・・・
177名前は開発中のものです。
2017/02/26(日) 23:50:04.99ID:UgWHSXy5 ゲームエンジンで実機デバックしてたから
VS2015の実機デバックがそのまま使える
DXライブラリのプログラムも実機でみれて楽しい
VS2015の実機デバックがそのまま使える
DXライブラリのプログラムも実機でみれて楽しい
178名前は開発中のものです。
2017/02/27(月) 17:14:55.41ID:HzyfcOK5 Android対応まじだったw
前に誰かがcocos2dでやってたの使ってみたんだけど
まともに動かんかったから公式で対応してくれるのはでかい
帰ったら自作ゲームを移植してみよう
前に誰かがcocos2dでやってたの使ってみたんだけど
まともに動かんかったから公式で対応してくれるのはでかい
帰ったら自作ゲームを移植してみよう
179名前は開発中のものです。
2017/02/27(月) 19:38:03.31ID:yzmBThPX 個人開発なのにそんなに手広くやって大丈夫なんだろか。
良い人である以上に人が良すぎてサポートで死にますよ。
良い人である以上に人が良すぎてサポートで死にますよ。
180名前は開発中のものです。
2017/02/27(月) 19:49:51.98ID:LeUk6F53 OSSだしgithubで開発すれば良いのに
181名前は開発中のものです。
2017/02/27(月) 19:50:11.47ID:hCixZHbE dxライブラリのあり方としての謎が深まる
182名前は開発中のものです。
2017/02/28(火) 00:19:17.26ID:VdUT2lLZ つかVS2015がandroid対応していたことに驚き
183名前は開発中のものです。
2017/02/28(火) 01:06:31.48ID:kAgsABkj 今MSはマルチプラットフォームに必死だからね
Win10でBash使えるようにしたりLinuxにVisual Studioのコードエディタを公開したりと
1番驚いたのはThe Linux FoundationにMSが入った事だな
Win10でBash使えるようにしたりLinuxにVisual Studioのコードエディタを公開したりと
1番驚いたのはThe Linux FoundationにMSが入った事だな
184名前は開発中のものです。
2017/02/28(火) 01:07:15.70ID:kAgsABkj ごめんスペースだと思ってコピペしたのが文字化けしてる
The Linux Foundationね
The Linux Foundationね
185名前は開発中のものです。
2017/02/28(火) 01:27:32.13ID:VdUT2lLZ 試しにやってみたけど最後の実行が出来なかったorz
もう寝る
もう寝る
186名前は開発中のものです。
2017/02/28(火) 14:20:17.58ID:9MuOvNLS Android版をタブレットのC4droidでやってみたけどライブラリの中でエラー吐くみたいだ
大量のエラー吐くからさっぱり分かんないや
"ANative_Activity_onCreate"が" android_native_app_glue.h "と衝突して多重宣言しているとかなんとかから始まってBulletやOgg周りで参照エラーが出てる
大量のエラー吐くからさっぱり分かんないや
"ANative_Activity_onCreate"が" android_native_app_glue.h "と衝突して多重宣言しているとかなんとかから始まってBulletやOgg周りで参照エラーが出てる
187名前は開発中のものです。
2017/03/05(日) 18:50:00.02ID:WYpdMPcL DrawLine関数の挙動がPCごとに違う?なんかサブのノーパソで動かすと下に1ドットずれる
両方Directxのバージョン11以降だからそこ辛味じゃないと思うんだけど…
両方Directxのバージョン11以降だからそこ辛味じゃないと思うんだけど…
188名前は開発中のものです。
2017/03/11(土) 14:58:07.56ID:4brvAqUP もう何年も前に、
ハードウェア描画は1ドットずれたりする場合があるだの
3Dのものを画面に映す(2Dに変換する)際に誤差が生じるだの
聞いたことあるけど、流石にそれは関係ないかしらね…
ハードウェア描画は1ドットずれたりする場合があるだの
3Dのものを画面に映す(2Dに変換する)際に誤差が生じるだの
聞いたことあるけど、流石にそれは関係ないかしらね…
189名前は開発中のものです。
2017/03/16(木) 07:40:17.58ID:06c/uHW3 座標の扱いはビデオカードごとに違うからね
古いオンボードだと0.5pxずれたりする
古いオンボードだと0.5pxずれたりする
190名前は開発中のものです。
2017/03/19(日) 15:23:34.43ID:85gVo7Ly 2dで影作るときってどうすればいいんだ
アルファ乗算の値下げながらDrawLineをずらして何本も描画していくのを思いついたけど絶対糞重くなるでしょ
アルファ乗算の値下げながらDrawLineをずらして何本も描画していくのを思いついたけど絶対糞重くなるでしょ
191名前は開発中のものです。
2017/03/19(日) 17:46:24.06ID:McAdhrov 影の形にこだわらなければいいんでないかい
192名前は開発中のものです。
2017/03/19(日) 17:59:49.08ID:iXKgNie2 影ってどういう影なのか分からんけど
例えばスプライトのキャラに影つけるならキャラの形の白黒画像用意してDrawModiGraphで乗算合成とかじゃね
例えばスプライトのキャラに影つけるならキャラの形の白黒画像用意してDrawModiGraphで乗算合成とかじゃね
193名前は開発中のものです。
2017/03/20(月) 14:37:04.24ID:PJ3OOU/G スプライト底辺に黒い楕円置くだけやろ
それでアクションやマップ作成に支障が出るなら
潔く影なんて捨てる
それでアクションやマップ作成に支障が出るなら
潔く影なんて捨てる
194名前は開発中のものです。
2017/04/09(日) 22:25:04.02ID:Fu+0leN1 マウスの入力についての質問です
マウスのサイドボタンの検出はDXライブラリではできないのでしょうか?
調べてみても、サイドボタンがXButton1とかXButton2と呼ばれていることしか得られませんでした
こう記述すればできるとか、DXライブラリ以外の実装方法があるとかあれば教えてください
よろしくお願いします
マウスのサイドボタンの検出はDXライブラリではできないのでしょうか?
調べてみても、サイドボタンがXButton1とかXButton2と呼ばれていることしか得られませんでした
こう記述すればできるとか、DXライブラリ以外の実装方法があるとかあれば教えてください
よろしくお願いします
195名前は開発中のものです。
2017/04/09(日) 22:43:19.29ID:A8iwvjAh GetMouseInput()じゃダメなの?
196名前は開発中のものです。
2017/04/09(日) 22:53:28.69ID:Fu+0leN1 >>195
公式リファレンスを見ながらGetMouseInput()の引数を全部試しましたが、どれを使っても検出されませんでした
ブラウザでサイドボタンを使って戻る進むができてるので、自分のサイドボタンが壊れている可能性はないです
公式リファレンスを見ながらGetMouseInput()の引数を全部試しましたが、どれを使っても検出されませんでした
ブラウザでサイドボタンを使って戻る進むができてるので、自分のサイドボタンが壊れている可能性はないです
197名前は開発中のものです。
2017/04/09(日) 23:58:01.43ID:gIO/ILx4 >>196
ttp://dxlib.o.oo7.jp/function/dxfunc_input.html#R5N8
ここ見る限り、GetMouseInputで値取れないってことは
逆にマウスのサイドボタンがキーボードのフックで対処してるタイプかもしれない。
例えば、キーボードのBackSpaceで「戻る」、Shift+BackSpaceで「進む」を表現してるとか。
ttp://dxlib.o.oo7.jp/cgi/patiobbs/patio.cgi?mode=past&no=2247
後は関数自体の使い方に問題があるかもしれないので
ここで管理人さんが掲示してる最初のソースコードを試してみるとか。
情報が古いので今も使えるかわからないけど。
ttp://dxlib.o.oo7.jp/function/dxfunc_input.html#R5N8
ここ見る限り、GetMouseInputで値取れないってことは
逆にマウスのサイドボタンがキーボードのフックで対処してるタイプかもしれない。
例えば、キーボードのBackSpaceで「戻る」、Shift+BackSpaceで「進む」を表現してるとか。
ttp://dxlib.o.oo7.jp/cgi/patiobbs/patio.cgi?mode=past&no=2247
後は関数自体の使い方に問題があるかもしれないので
ここで管理人さんが掲示してる最初のソースコードを試してみるとか。
情報が古いので今も使えるかわからないけど。
198194です
2017/04/10(月) 00:31:27.44ID:Yp/MHnmL199194です
2017/04/11(火) 01:56:20.31ID:upA/YOkc サイドボタンの検出の件ですが、無事解決しました
自分と同じようなことで悩んでいる/いた方のために書き残しておきます
簡単に言うと、サイドボタンの検出をするにはDXライブラリをバージョンアップする必要があるようです
以下のやり取りを見ていただければ、詳しいことが得られると思います
ttp://dxlib.o.oo7.jp/cgi/patiobbs/patio.cgi?mode=view&no=4080
今回の質問に関わってくださった皆様、改めてありがとうございました
自分と同じようなことで悩んでいる/いた方のために書き残しておきます
簡単に言うと、サイドボタンの検出をするにはDXライブラリをバージョンアップする必要があるようです
以下のやり取りを見ていただければ、詳しいことが得られると思います
ttp://dxlib.o.oo7.jp/cgi/patiobbs/patio.cgi?mode=view&no=4080
今回の質問に関わってくださった皆様、改めてありがとうございました
200名前は開発中のものです。
2017/04/12(水) 01:50:35.12ID:TuryebQE 白地に(アンチエイリアスかかった)黒のアイコンを表示してるんですが
これの白地を別の色にすると白地前提のアンチエイリアスが汚くなってしまいます。
白地に黒アイコンのものにアルファブレンドをかけると今度は黒が薄く見えなくなってしまう。。
Dxライブラリの知識ではないかもしれませんが、これを解決する手法のヒントなどありますでしょうか?
これの白地を別の色にすると白地前提のアンチエイリアスが汚くなってしまいます。
白地に黒アイコンのものにアルファブレンドをかけると今度は黒が薄く見えなくなってしまう。。
Dxライブラリの知識ではないかもしれませんが、これを解決する手法のヒントなどありますでしょうか?
201名前は開発中のものです。
2017/04/12(水) 02:02:34.21ID:TuryebQE ごめんなさい書いた直後に自己解決してしまった
やっぱりよく調べて書くべきですね・・・
やっぱりよく調べて書くべきですね・・・
202名前は開発中のものです。
2017/04/14(金) 21:46:05.15ID:bZxpbzr7 DXライブラリに関連してるかどうかわかりませんが
わからないことを質問してみます。
ファイナルファンタジー14(以下、FF14と略)などのプロが開発したゲームを拝見するとロード時間が短いように感じます
例えばDXライブラリを使って約14,000KBぐらいのMP3ファイルをロードしてメモリに読み込むようにコードを書くと
MP3ファイルのロードが完了するまでにコンマ数秒のロード時間が発生します
ですが、FF14のタイトル画面でしばらく放置するとプロローグムービーが開始されるわけですが、
内容を見る限り明らかに容量の多いムービーファイルをロードして再生してるように見えるのですが、
実際、FF14のゲームを起動してタイトル画面に移行するまでの時間は僅かです
私からの質問は、大容量のファイルをロードする場合に
ロード時間を短く済ませるための技術です
DXライブラリでゲーム開発をしてるのでDXライブラリを使用してのお知恵を拝借したい
わからないことを質問してみます。
ファイナルファンタジー14(以下、FF14と略)などのプロが開発したゲームを拝見するとロード時間が短いように感じます
例えばDXライブラリを使って約14,000KBぐらいのMP3ファイルをロードしてメモリに読み込むようにコードを書くと
MP3ファイルのロードが完了するまでにコンマ数秒のロード時間が発生します
ですが、FF14のタイトル画面でしばらく放置するとプロローグムービーが開始されるわけですが、
内容を見る限り明らかに容量の多いムービーファイルをロードして再生してるように見えるのですが、
実際、FF14のゲームを起動してタイトル画面に移行するまでの時間は僅かです
私からの質問は、大容量のファイルをロードする場合に
ロード時間を短く済ませるための技術です
DXライブラリでゲーム開発をしてるのでDXライブラリを使用してのお知恵を拝借したい
203名前は開発中のものです。
2017/04/14(金) 22:21:37.18ID:7sRUbSV9 効果音ではなく曲を全部メモリにロードするのは間違ってる
ファイルサイズの大きい曲や動画は読み込みながら再生するのが基本
そうじゃないと100GBの動画とかメモリに入りきらないようなものは再生できない
ファイルサイズの大きい曲や動画は読み込みながら再生するのが基本
そうじゃないと100GBの動画とかメモリに入りきらないようなものは再生できない
204名前は開発中のものです。
2017/04/14(金) 22:38:34.80ID:bZxpbzr7 なるほど、必ずしもメモリにロードしてから再生しなくてもいいという考え方なのか
直接HDDからファイルをメモリーにロードしながら再生(ストリーミング再生)するわけか、
俺は大容量のファイルを分割でメモリに読み込んで
1ループのロード時間を短くする方向で考えていた
直接HDDからファイルをメモリーにロードしながら再生(ストリーミング再生)するわけか、
俺は大容量のファイルを分割でメモリに読み込んで
1ループのロード時間を短くする方向で考えていた
205名前は開発中のものです。
2017/04/14(金) 23:52:44.66ID:7sRUbSV9 分かりやすく例えると、oggとかmp4なんかはzipで圧縮したような形式だから
再生するために元のwavに解凍すると10倍〜100倍になる
メモリにロードするってことは、この巨大化したのを入れるってことだから
効果音のような小さなものでない限りは避けるべき
再生するために元のwavに解凍すると10倍〜100倍になる
メモリにロードするってことは、この巨大化したのを入れるってことだから
効果音のような小さなものでない限りは避けるべき
206名前は開発中のものです。
2017/04/15(土) 01:19:09.73ID:RtlOPePd ありがとう
おかげで疑問が解消されました
おかげで疑問が解消されました
207名前は開発中のものです。
2017/04/15(土) 03:44:15.65ID:3FEYykSP あとはシングルスレッドの場合はどうしてもロード時に固まってしまうだろうから、マルチスレッドでロードを行うようにするのはどうだろうか?
208名前は開発中のものです。
2017/04/15(土) 04:40:43.98ID:RtlOPePd マルチスレッドということはC++11を扱うということですね
Core i7を乗せてるのでCore UPUに対応したゲーム開発も興味はあるが
技術的に敷居が少し高いので今はまだいいかな
最新のC++コンパイラも必要になるし
ゲームのプレイヤーがCore i7 や Core i5のCPUを乗せてないと威力は発揮されない
Core i7を乗せてるのでCore UPUに対応したゲーム開発も興味はあるが
技術的に敷居が少し高いので今はまだいいかな
最新のC++コンパイラも必要になるし
ゲームのプレイヤーがCore i7 や Core i5のCPUを乗せてないと威力は発揮されない
209名前は開発中のものです。
2017/04/15(土) 09:19:30.20ID:+pklgBp/ 短い場合(メモリー上にwave展開しない)
SetCreateSoundDataType( DX_SOUNDDATATYPE_MEMPRESS );
長い場合(ストリーミング再生)
SetCreateSoundDataType( DX_SOUNDDATATYPE_FILE );
どちらか書く
SetCreateSoundDataType( DX_SOUNDDATATYPE_MEMPRESS );
長い場合(ストリーミング再生)
SetCreateSoundDataType( DX_SOUNDDATATYPE_FILE );
どちらか書く
210名前は開発中のものです。
2017/04/15(土) 09:44:18.23ID:+pklgBp/ http://jgame.blog.fc2.com/
あんたこのブログの人やろ頑張りや
あんたこのブログの人やろ頑張りや
211名前は開発中のものです。
2017/04/15(土) 09:52:16.21ID:PBMOYWDr ちなみに画像や音声のマルチスレッド読み込みはDXライブラリ標準機能で
SetUseAsyncLoadFlag(TRUE)使えば簡単よ
SetUseAsyncLoadFlag(TRUE)使えば簡単よ
212名前は開発中のものです。
2017/04/15(土) 11:40:04.16ID:3FEYykSP C++11とか使ってませんが、ロード画面作るときにマルチスレッドを使いました。
あくまでロード時に凍るのを防ぐために使用するのでCPUがどうとかは無いですよ。
process.hをインクルードしてResumeThreadさせるだけで実装できます。
あくまでロード時に凍るのを防ぐために使用するのでCPUがどうとかは無いですよ。
process.hをインクルードしてResumeThreadさせるだけで実装できます。
213名前は開発中のものです。
2017/04/15(土) 13:07:47.39ID:poy2AG7G 何故だろう、急に挙動が変わった。
sizeが0を返すからファイルが見付からない訳じゃないと思うのだけど。
void* readbin( char *filename)
{
int size ,rsize ,h;
char *ptr;
if ( size = FileRead_size( filename ) == -1 ) errmsg( NOTREAD ,filename );
ptr = (char*)malloc(size+1);
if ( h = FileRead_open( filename ) == 0 ) errmsg( NOTOPEN ,filename );
rsize=FileRead_read(ptr ,size ,h);
printfDx( "%s : %d/%d\n" ,filename ,size ,rsize );
FileRead_close( h);
return ptr;
}
sizeが0を返すからファイルが見付からない訳じゃないと思うのだけど。
void* readbin( char *filename)
{
int size ,rsize ,h;
char *ptr;
if ( size = FileRead_size( filename ) == -1 ) errmsg( NOTREAD ,filename );
ptr = (char*)malloc(size+1);
if ( h = FileRead_open( filename ) == 0 ) errmsg( NOTOPEN ,filename );
rsize=FileRead_read(ptr ,size ,h);
printfDx( "%s : %d/%d\n" ,filename ,size ,rsize );
FileRead_close( h);
return ptr;
}
214名前は開発中のものです。
2017/04/15(土) 13:25:19.21ID:JeCVIRaX > ptr = (char*)malloc(size+1);
この+1はなに?
本題とは関係ないけど
この+1はなに?
本題とは関係ないけど
215名前は開発中のものです。
2017/04/15(土) 14:44:24.56ID:qT8WsIhy216213
2017/04/15(土) 15:14:07.66ID:YQ+vHcvV +1は苦し紛れにあーだこーだいじる過程でダメ元で付加してみたのでした。
末端に不定の1バイトが付加されるので無駄な容量食いではありますが、危険という認識はありませんでした。
早急に削除します。
そして、自己解決しました。if文の連結順序を誤解していました。何故今まで動いていたんだ・・・。
if ( size = FileRead_size( filename ) == -1 ) errmsg( NOTREAD ,filename );
if ( h = FileRead_open( filename ) == 0 ) errmsg( NOTOPEN ,filename );
↑これは↓こうですね。
if ( (size = FileRead_size( filename )) == -1 ) errmsg( NOTREAD ,filename );
if ( (h = FileRead_open( filename )) == 0 ) errmsg( NOTOPEN ,filename );
お騒がせしました。
末端に不定の1バイトが付加されるので無駄な容量食いではありますが、危険という認識はありませんでした。
早急に削除します。
そして、自己解決しました。if文の連結順序を誤解していました。何故今まで動いていたんだ・・・。
if ( size = FileRead_size( filename ) == -1 ) errmsg( NOTREAD ,filename );
if ( h = FileRead_open( filename ) == 0 ) errmsg( NOTOPEN ,filename );
↑これは↓こうですね。
if ( (size = FileRead_size( filename )) == -1 ) errmsg( NOTREAD ,filename );
if ( (h = FileRead_open( filename )) == 0 ) errmsg( NOTOPEN ,filename );
お騒がせしました。
217名前は開発中のものです。
2017/04/18(火) 20:45:54.94ID:bJnkmQcY ホラーだ
218名前は開発中のものです。
2017/04/29(土) 01:27:41.32ID:/YvMYhCO DXライブラリはgifアニメーションを再生できないのでしょうか?
DXライブラリ以外ならgifアニメ再生できたりするのでしょうか?
「こう記述すればできる」など教えてください
DXライブラリ以外ならgifアニメ再生できたりするのでしょうか?
「こう記述すればできる」など教えてください
219名前は開発中のものです。
2017/04/29(土) 06:09:30.20ID:SAAy66wJ gifをそのまま読み込んで表示はできなかったはず
連番画像に変換するか、もしくは動画にするかだな
連番画像に変換するか、もしくは動画にするかだな
220名前は開発中のものです。
2017/04/29(土) 16:48:35.10ID:/YvMYhCO221名前は開発中のものです。
2017/04/29(土) 17:59:31.45ID:xrI1QiYS LoadDivGraph使えば連番画像が配列に入るから簡単やで
っていうか簡単なエフェクトなら回転拡大縮小やブレンドパラメータの変更で表現できるんじゃない?
っていうか簡単なエフェクトなら回転拡大縮小やブレンドパラメータの変更で表現できるんじゃない?
222名前は開発中のものです。
2017/04/29(土) 18:40:06.93ID:EkJNcx6r223名前は開発中のものです。
2017/05/05(金) 10:05:26.44ID:NXBeyHLp なるほど初期化とかのタイミングで一旦展開するのがエンジン的には普通なのか
224名前は開発中のものです。
2017/05/05(金) 15:40:34.37ID:yUv3bLae 最初から専用形式化アニメGifくらいにしか出力できないツールとかでもない限り、
手間は大して変わらんだろうしな
手間は大して変わらんだろうしな
225名前は開発中のものです。
2017/05/07(日) 15:21:12.75ID:If6RMgU7 結局誰かが何処かで一所懸命動かしてるわけだしな
226名前は開発中のものです。
2017/05/09(火) 08:34:24.56ID:K1FQSBk+ アニメーション用の画像を一枚にまとめた後ってLoadDivGraphでもDrawRectGraphでもアニメーションにできるけど
どっちの方が軽いとかってあるのかな
どっちの方が軽いとかってあるのかな
■ このスレッドは過去ログ倉庫に格納されています
