10/01/07 23:25:56 eYJAziPK
>>515
別に静的変数を使わなくても実装できるよ。
せっかくC++使ってるんだしクラス化してみたら?
↓みたいな感じで。
// ジョイパッド管理クラス
class Joypad
{
private:
enum
{
MAX_BUTTON = 28 // DXライブラリは最大28個のボタンに対応している
};
int PressedCounts[MAX_BUTTON]; // 各ボタンの押されたフレーム数を保存しておく
public:
void Update(); // ジョイパッドの入力状態を更新する
int GetPressedCount(int InputType, int Button); // ボタンが押されたフレーム数を取得する
};
// 使用例:-------------------------------
// ジョイパッドの入力状態を毎フレーム1回だけ更新する
joybad->Update();
// パッド1のBボタンが押された
if(joybad->GetPressedCount(DX_INPUT_KEY_PAD1, PAD_INPUT_B) == 1)
{
// 何らかの処理
}
517:名前は開発中のものです。
10/01/08 02:41:50 8yWASrLd
態々クラス化する程のことか
少なくとも手間は普通にコーディングした方が全然掛からないが
518:名前は開発中のものです。
10/01/08 09:30:18 TquDKlBD
ならその方法で良いんじゃない?
クラス化はあくまで一例でしょ
君のいう普通がどんななのかは知らないけど
519:名前は開発中のものです。
10/01/08 21:55:23 G0v30nLn
スクリーンのある位置のpixelが、
何色を表示しているかわかる方法ってありますか?
520:名前は開発中のものです。
10/01/08 21:59:21 UpbwAmjx
ある
521:名前は開発中のものです。
10/01/08 22:04:52 3zMDBTld
ある。
522:名前は開発中のものです。
10/01/08 22:08:20 G0v30nLn
GetPixelですか?
523:名前は開発中のものです。
10/01/08 22:11:52 3zMDBTld
なんでそれを聞く必要があるの?リファレンスにも書いてあるし自分で試すことも出来るのに
524:名前は開発中のものです。
10/01/08 22:16:19 5mIUw3Vj
>>523
言いたいことは分かるけど、おまいさんに突っ込む資格は無いだろうw
525:名前は開発中のものです。
10/01/08 22:23:08 G0v30nLn
>>520,521,523,524
なんとか出来そうになりました
ありがとうございます
526:名前は開発中のものです。
10/01/08 23:05:49 qPTthljo
ワロタ
527:名前は開発中のものです。
10/01/08 23:08:41 hMOVMPlC
できそうってまだできてないのw
528:名前は開発中のものです。
10/01/09 10:14:37 D2rGgWHr
ストライクウィ○チーズ保管庫画像取得
URLリンク(maniax.dlsite.com)
結構使える
529:名前は開発中のものです。
10/01/09 10:31:31 KNCSUVMR
>>528
wgetでおk
530:名前は開発中のものです。
10/01/10 04:28:31 PNNRGsjZ
ゲームプログラマになる前に覚えておきたい技術を買ったんだけど
難しすぎるだろこれ
DXライブラリのサイトのほうがどれだけわかりやすいか
これは勉強する本じゃなくて、もう理解してる人が確認する
ためのもんか?
531:名前は開発中のものです。
10/01/10 04:43:49 ePiCCxYA
少なくとも入門書レベルなら、他人に教えてあげられるくらいの実力は要ると思う。
それでもプロとしてみるなら初心者だろうね。
532:名前は開発中のものです。
10/01/10 04:58:47 PNNRGsjZ
何をやってるかはわかるんだけど、自分の力だけではコード書けない
結局サンプル見ながらそれを打ち込むだけ
こんなんじゃ意味ないでしょ?
買うのまだはやかったなー
533:名前は開発中のものです。
10/01/10 05:01:50 ePiCCxYA
とりあえず一番最初の倉庫番チャレンジしてみたらどう?
自分は昼から始めて夕方までかかった orz
534:名前は開発中のものです。
10/01/10 07:32:15 JParRIfb
>>532
最初は意味わかんなくて、できる人のソースをコピペ。
次に少しずつソースを読解できるようになり改造していく。
そしてやっと自力ですべて書けるようになる…のが
普通の流れだと思うよ。
ひらしょー本は、初心者に構造的に説明しようと誠実に書いて
くれている結果、冗長で読みにくくなった部分はあるとは思うけど
必要なことは抑えてある本だと思うので、まずは本に書いて
ある事が分かるように勉強していけばいいんじゃないかな。
何が分からないかにもよるし、教え方の手腕の問題もある
だろうけど、すぐに理解できちゃうような内容しか書いて
いない本だとお金出して買う価値もないと思うし、
ゲーム関連技術がもし簡単に書けちゃう内容だと、こんなに
解説本も出ないと思う。
535:名前は開発中のものです。
10/01/10 11:04:17 Rc1hlYFq
将来使うはずだと無理矢理クラスを使って書いてるけど
今のところ決定的にcに比べて便利だと思うところはないなぁ
確かに変数と関数を一塊にできるのは気持ちがいいのだが・・・
536:名前は開発中のものです。
10/01/10 11:07:58 2OywdL5M
listとか両方で実装してみると大分ちがわね?
537:名前は開発中のものです。
10/01/10 11:20:33 dmK/QlFI
>>532
Chapter13(I部 2次元のゲーム)までは頑張れ。
>>535
継承、カプセル化、ポリモーフィズム、演算子のオーバーロード、STLあたりを理解できるとメリットを感じられるようになるよ。
538:名前は開発中のものです。
10/01/10 11:44:54 QNWx2gsU
最初はコピペ、それを改造、ってのはごく普通の流れだろうな。
俺も昔は雑誌に載ってたプログラムをぽちぽち打ち込んでたもんよ。
539:名前は開発中のものです。
10/01/10 11:46:10 wtJzH8/F
俺も昔はラジオを録音してたもんよ
540:名前は開発中のものです。
10/01/10 13:31:00 pKLMp+mv
今は3Dゲーならudkとかunityとか、2D紙芝居なら吉里吉里とかnスクとかがあるから、
趣味でゲーム作る程度ならプログラムまで手を出す必要はないよ。
541:名前は開発中のものです。
10/01/10 15:45:18 sQQs0/m1
俺の場合は最初はソース呼んで理解するところから入ったがな
コピペがあまり意味あるとは思えん
そっから自己流のアレンジで打っていったがな
まあある程度コピペっちゃあコピペだけどな
まあコピペは動作確認には必要かも知れんがな
あとポリリズムとかは使ってったけどカプセル化は結局面倒になって公開しちゃえーて戻ったけどな
結局グローバル変数使いまくりに戻ったし、まあ使いまくりって程でもないが
カプセル化やろうと思えばできるけどだってアクセサ通すと速度落ちそうな気すんだもん、それが気になってな
小規模の個人レベルであまりカプセル化のメリット感じられんのだが
ポリポリなんちゃらは俺もlistで重宝してるな
まあポリポリ使うより天麩羅使う方がすっきり書ける場合もあるしなあ
542:名前は開発中のものです。
10/01/10 17:31:32 /Tzv4S+1
そりゃあ、ポリリズムなんて使ってたらな。
543:名前は開発中のものです。
10/01/10 17:36:55 ohvCsHNW
Javaなんかと違ってC++はクラス作るのが面倒なんだよな
場合によってはかえってミスしやすくなったり保守性が下がったりする
544:名前は開発中のものです。
10/01/10 17:45:33 RHOGN5ub
質問なんですが、画像でいうLoadGraphのように文字列を先にhoge[数字]読み込んでおいて、
DrawString(x,y,hoge[数字],Cr) ;のように呼び出して使う…ような感じになる方法ってありませんか?
あと、文中に改行も含めたいのですが・・・。
できれば1行ずつ表示されると嬉しいです。
545:名前は開発中のものです。
10/01/10 18:00:03 wtJzH8/F
外部ファイルを読み込みたいのか?
それなら龍神録にサンプルが載ってる。csv用だけどtxtにも転用できるはず
546:名前は開発中のものです。
10/01/10 18:38:42 VQ1HZqsF
やりたい事がはっきりしてるんだから、自分で作ればいいだけでは。
547:名前は開発中のものです。
10/01/10 18:52:06 RHOGN5ub
内部の別のクラスでTEXTの内容を変数に格納しておいて、
それをDrawString(x,y,hoge[数字],Cr) ;で呼び出したいんです…
char hoge[1]="AAA";
DrawString(x,y,hoge[1],Cr) ;
みたいな形です。
548:名前は開発中のものです。
10/01/10 18:58:51 2OywdL5M
普通に読み込んで、文字列の位置を計算をして出力
549:名前は開発中のものです。
10/01/10 19:01:30 TNXhxGf1
何を言っているのかわからないし
何をしたいのかもわからない
550:名前は開発中のものです。
10/01/10 19:16:21 RHOGN5ub
画面に複数行の文字を表示したいんです。
通常はDrawString( 250 , 240 - 32 , "Hello C World!" , Cr );って書くと
Hello C World!
と表示されると思うんですけど、このHello C World!の部分を、
改行を含む、変数を入れたいんです。
551:名前は開発中のものです。
10/01/10 19:20:29 3/rctmpl
#include <string>
using namespace std;
string str[10];
str[0] = "AAA";
DrawString(x,y,str[0].c_str(),Cr);
文中に改行を含めたいってのはたぶん\nとか文中に入れたいんだと思うから
C++ splitとかでググってなんかフォントの縦幅とかなんたらやればいいんじゃないかな…
552:名前は開発中のものです。
10/01/10 19:42:52 TNXhxGf1
何言ってるのこいつ?
553:名前は開発中のものです。
10/01/10 19:43:31 z71TR0/5
sprintf(str, "Hello C world!\n");
DrawString(x, y, str, Cr);
554:名前は開発中のものです。
10/01/10 19:59:40 2OywdL5M
for(i = 0; i < numof_lines; ++i) DrawString(x, y + i * font_size, str[i], color);
555:名前は開発中のものです。
10/01/10 21:11:56 dmK/QlFI
>>544
そういう関数は用意されてないので自作するしかないよ。
改行文字を検索して文字列を一行ずつに分割、forループでY座標をずらして描画すればいいんじゃない?
556:名前は開発中のものです。
10/01/10 21:40:30 MFEe7NV6
DrawFormatStringの関数の
デフォルトのフォントの大きさってどれくらいなの?
書いてないから分かんないよ
557:名前は開発中のものです。
10/01/10 21:57:23 /Tzv4S+1
作者が悪いみたいな言い方で気に入らねえなあ。
コードみりゃ書いてあんだろ、16だ。
558:名前は開発中のものです。
10/01/10 23:42:22 ePiCCxYA
話の流れとは全然関係ないんだが、画面サイズを2パターン用意したら、なんかすげぇ面倒なことに(笑)
「なんとなく」ってだけで実装するもんじゃねーなあ。
単純に拡縮するだけなら簡単なんだろうけども。
559:名前は開発中のものです。
10/01/10 23:46:51 2OywdL5M
ルートレイヤ(固定サイズ)に描画→スクリーンに拡大描画でいいじゃん
560:名前は開発中のものです。
10/01/10 23:52:21 PVCd/Cxa
16 : 9 って今後は用意すべき?
561:558
10/01/11 01:11:32 HJnYHrsQ
>>559
それは>>558の3行目で否定してる「単なる拡縮」だw
もともと800x600でゲームを作ってたんだけどさ、
とある理由により、小さいウィンドウのバージョンを作らなきゃならなくなったんだ。
でもそのまま縮小すると、特にドット絵なんかは見てられなくなるし、
元が800x600用(あくまで縮小版はオマケ)なので、縮小版を基準にして800x600用に拡大するのも納得いかず。
そんなわけで、それぞれの画像の大きさを変えずに、ゲームの中身を変えようと思ったのが色々と失敗だった(笑)
>>560
主流が16:9になるか16:10になるかは別として、今後は4:3のモニタは減っていくだろうからなあ。
とはいえ現状ではモニタ側で4:3に対応(レターボックスや引き延ばし)してくれたりするし、作りやすい方でいいんじゃない?
562:名前は開発中のものです。
10/01/11 01:27:26 1pzIf3AP
今すぐ用意すべき
563:名前は開発中のものです。
10/01/11 01:44:29 Rz8RXzhw
ドット絵が汚くなるってのは補完してるからじゃなくて?ニアレストネイバーでやれば綺麗に縮小されないかな
564:名前は開発中のものです。
10/01/11 02:18:06 HJnYHrsQ
>>563
ドット絵は無理じゃない?
あとクリティカルな部分はともかく、1つの画像ファイルでなんとかしたいよね。
565:名前は開発中のものです。
10/01/11 02:25:08 b9O3GovE
ペイントでキャラの画像を作る。保存をするとふちの部分の色が変わるのは何でだろう(´・ω・`)
566:名前は開発中のものです。
10/01/11 03:05:07 Rz8RXzhw
ペイントの拡大縮小は補完処理が働くから確実にドット絵が汚くなるよね
567:名前は開発中のものです。
10/01/11 03:06:28 /BVVeYOc
565は拡大縮小してるとは言ってないけどね。
568:名前は開発中のものです。
10/01/11 08:45:34 50WrHthA
>>565
色が劣化する形式で保存してるんじゃないの?
569:名前は開発中のものです。
10/01/11 09:45:29 MF6sCU3I
文字の回転ってどうやってやるんですか?
△の記号を90度回転させたものがほしいんだけど・・・・
570:名前は開発中のものです。
10/01/11 09:52:18 bJEynoIQ
>>565
画像をRGBにすれば解決する サイズは大きくなるがな
571:名前は開発中のものです。
10/01/11 10:18:00 32xuNCiI
文字入れられるだろ
それ回転すればいいだけ
572:名前は開発中のものです。
10/01/11 10:18:14 8N572MW3
>>569
画像にでも描いて回転描画させろ
573:名前は開発中のものです。
10/01/11 10:22:10 bJEynoIQ
>>569
DrawVString
574:名前は開発中のものです。
10/01/11 10:27:58 MF6sCU3I
>>572
それはやれると思ってたけど
変だったんで。
結局、文字を回転させる方法はないのか?
よくゲームである
△(90度回転)6 △(90度回転)な感じにしたい。
575:名前は開発中のものです。
10/01/11 10:32:32 dSgt7dTb
>>574
方法はいくらでもある。
そして、いくらでもやってる人がいる。
以上
576:名前は開発中のものです。
10/01/11 11:01:12 MF6sCU3I
>>575
でもやり方は知らないんでしょ?
知ってる人お願いしますね。
577:名前は開発中のものです。
10/01/11 11:40:02 yFPTqlzr
>>561
そうか、ワイドもあったか
ゲームやるならドットバイドットでやりたいよね
578:名前は開発中のものです。
10/01/11 11:40:28 bJEynoIQ
で、>>573は試したのかね
579:名前は開発中のものです。
10/01/11 11:43:03 JhPE/M8b
>>569
興味があったから探してみた。初心者なんで見当違いだったらスマソ
URLリンク(bbs.wankuma.com)
URLリンク(msdn.microsoft.com)
580:565
10/01/11 12:24:49 b9O3GovE
色々試したらできました
ありがとうでした。
581:名前は開発中のものです。
10/01/11 15:35:07 C8nZ8yZZ
|> <| こういうことだろ?
582:名前は開発中のものです。
10/01/11 15:43:43 32xuNCiI
<| |> だと思ってた
583:名前は開発中のものです。
10/01/11 16:11:51 i9YgsXIH
(゚д゚ )
<| y |>
584:名前は開発中のものです。
10/01/11 16:25:44 MF6sCU3I
>>582
が正解
585:名前は開発中のものです。
10/01/12 00:34:41 Lz7AOqT1
>>581と>>582の違いはなんだ?
abをbaと書く程度の差じゃないか
586:名前は開発中のものです。
10/01/12 19:18:12 fpWsGGI2
オブジェクトのy座標が-0.2のときそれを描画ルーチンにわたすと
0の位置に描かれそうな気がするんですけど
(つまり-0.9~0.9が同じ位置に表示されそう)
DXLibにそのままわたすとどうなりますか?
あと固定小数点のたとえば int y100;の1/100が1ドットとするとき
int y_for_draw;
if (y100 < 0)
{
y_for_draw = (y-99) / 100;
}
else
{
y_for_draw = y / 100;
}
でfloorになる?これは一般的にどう書かれる?
587:名前は開発中のものです。
10/01/12 19:32:24 UxS4I4g/
言っている意味がよく分からない。もっと要点絞ってくれ
588:名前は開発中のものです。
10/01/12 19:52:43 vZoY7Utz
>>586
>オブジェクトのy座標が-0.2のときそれを描画ルーチンにわたすと
>0の位置に描かれそうな気がするんですけど
>(つまり-0.9~0.9が同じ位置に表示されそう)
>DXLibにそのままわたすとどうなりますか?
C言語では小数から整数への変換は小数切捨てになる。
「型キャスト」で調べてみて。
>でfloorになる?これは一般的にどう書かれる?
ならない。もっと言えばコンパイルすら通らない。
「y_for_draw = (y-99) / 100;」は小数点以下を切り上げしていないので。
一般的かどうかは分からないけど、固定小数点数を浮動小数点数にしてmath.hのfloor関数を使った方が簡単だと思う。
589:名前は開発中のものです。
10/01/12 19:57:29 fpWsGGI2
>>587
質問は2つです
1つめはDXLibでたとえば描画ルーチンのXY座標に(-0.3, -0.9)をわたしたときと(0.1, 0.9)をわたした時が同じ場所になってしまうのでは?
2つめは
たとえば、キャラクターの座標の内部的な整数の変数(たとえばint x_naibu, y_naibu;(前質問ではint y100;))が
100移動すると「1ドット」動いたことになるとすると、
描画ルーチンには基本 (x_naibu / 100) を x座標としてわたすことになりますが、
もし x_naibu が -99 でも 99 でも (x_naibu / 100)はゼロになってしまいます。
これを解決する一般的なやりかたが知りたいという話です。
書き込みに間違いが
y_for_draw = (y-99) / 100; は y_for_draw = (y100-99) / 100;
下は y_for_draw = y100 / 100;
590:名前は開発中のものです。
10/01/12 19:57:59 MSorSp1h
>>535
最初はそんな感じやね
C++実用レベルは理解しなきゃいけないこと多くて投げ出しがち
でも使い続けることをおすすめする
何よりまず慣れることが大事、慣れれば勝手にクラスありきになる
次第に理解が深まってゲーム製作には大いに役立つ
591:名前は開発中のものです。
10/01/12 20:04:11 VTukhXVT
C++はタブーとイディオムがある程度わかってくればいいんだがそこまでがしんどい
592:名前は開発中のものです。
10/01/12 20:11:01 fpWsGGI2
>C言語では小数から整数への変換は小数切捨てになる。
ありがとう
>「型キャスト」で調べてみて。
型のサイズの順位とか知らないことがたくさんありました。
>>でfloorになる?これは一般的にどう書かれる?
>ならない。もっと言えばコンパイルすら通らない。
ちょっと間違えました。
>>589のようにしてコンパイルはとおってますが、何か穴があるかもと心配でした。
ちなみにdoubleを使ってたらたとえば加算する数値をきっちり1.0にすることができないことによる不具合を味わったことがあり、
固定小数点なら100を加えるときっちり1ドットだけ動くのが確定している利点があると思うんです。
593:名前は開発中のものです。
10/01/12 20:36:56 vZoY7Utz
>>592
誤:y_for_draw = (y100-99) / 100;
正:y_for_draw = (y100+99) / 100;
やりたいのはこういうことじゃない?
固定小数点数にもデメリットはあるし、個人的には浮動小数点数を使った方が良いと思うんだけどなあ・・・
・表現として分かりづらい(ソースコードが見づらい)
・扱える数値の範囲が狭い
・浮動小数点数を扱う標準関数やその他のライブラリが使用できない
594:名前は開発中のものです。
10/01/12 20:50:28 efhBp1Rb
ふと思ったんだけど -0.5 の小数点以下を切り捨てってのは
普通は 0 になると考えるのか -1 と考えるのか。
595:名前は開発中のものです。
10/01/12 21:01:29 fpWsGGI2
>>593
>誤:y_for_draw = (y100-99) / 100;
>正:y_for_draw = (y100+99) / 100;
いえ、修正後を再掲すると
if (y100 < 0)
{
y_for_draw = (y100-99) / 100;
}
else
{
y_for_draw = y100 / 100;
}
で、"y100"が 0~99 のときは描画ルーチンはゼロの座標をわたしたくて、
y100が -100~-1 のときは「-1」の座標、-101のときは「-2」にしたいので
それにはこれで合ってると思います。
ちなみに固定小数点は今回だけのミニゲームで試しにやってみようって感じです。
次からはまた浮動小数点使うようになりそうです。
>・表現として分かりづらい(ソースコードが見づらい)
「y100」って感じの変数名で意外と解決されそうだったり^^;
596:名前は開発中のものです。
10/01/12 23:19:04 q3clJG+f
俺も全く同じことしてたわw
変数名の付け方も
マイナスは考慮してなかったけど
y100は表現的にある程度解決できてもそれ以外、それに関わる他の変数とか範囲とかがややこしくなってくるんだよねえ
>・浮動小数点数を扱う標準関数やその他のライブラリが使用できない
キャストすればいいんじゃないの?
597:名前は開発中のものです。
10/01/13 00:33:55 c62gE9Ki
>>595
ごめん、勘違いしてたみたい。
floor関数の動作なら>>595で大丈夫そう。
>>596
>キャストすればいいんじゃないの?
誤差を無くすために固定小数点数を使っているのでそれをやると駄目だと思うんだけど・・・
「y100」という変数名が分かり易いというのはかなり疑問を感じるな。
最初に見たとき「y+100」か「y-100」の書き間違いかと思ったし。
あと小数第2位までしか扱えないのはかなり精度が低いと思う。
アクション性の高いゲームだと誤差の影響が出そう。
598:名前は開発中のものです。
10/01/13 00:47:43 ikjcXzx3
そもそも固定小数点使ってるのは誤差を無くす為だったのか
まあ y100 というのは苦肉の策でそのまま yを使うよりはまだ分かり易いだろうということと、
そら他人からみたらあれっとは思っても自分で使う分には若干間違い減らす可能性が上がるかなといった程度だろ
あくまで少数第2位までを使うのは表示上の問題だけじゃないの?
表示する場合は整数しか扱えないが内部的には小数で記憶しておきたいという
そもそも別に少数第2位までしか扱えないわけではないと思うがなあ
ただ座標の値を少数第2位まで持ちたいってだけで
計算まで少数第2位までしか使えないってわけじゃないでしょ
599:名前は開発中のものです。
10/01/13 11:01:12 5DwaMjit
log.txtを勝手に生成されるんですけど
生成しないようにするには可能?
600:名前は開発中のものです。
10/01/13 11:13:13 c62gE9Ki
>>599
SetOutApplicationLogValidFlag(FALSE);
601:名前は開発中のものです。
10/01/13 11:54:25 e0BJb6Ws
2.25bなんだが、
vista で CheckHitKey( KEY_INPUT_RSHIFT );
がうまく動作しない。
XPだと動く。RSHIFTだけ動かないんだよな。
なんでだろう?
602:名前は開発中のものです。
10/01/13 12:44:41 c62gE9Ki
>>601
URLリンク(hpcgi2.nifty.com)
603:名前は開発中のものです。
10/01/13 13:01:04 b/PQw5gR
質問です。
画像などをロードするとっきって、パスをいつもちまちま指定しないといけないのでしょうか?
例えば、画像をロードする場合、
Load("Data\\img\\hoge.png");
みたいな感じではなく、単に
Load("hoge.png");
のようにロードできたら楽なのになぁと思った次第です。
ファイルが増えるに従って、管理がしやすくするためにパスも長くなっていきますし……。
もちろん自分でパスをセットしてくれる関数を組むのもアリなのですが、
VC#みたいに、リソース追加&ファイル名指定でさっくり使えたら楽だなと思ったので……。
リソースからの読み込みができる関数はみつけたのですが、
IDでの指定なので、どのファイルがどのIDなのか覚えるのが面倒となってしまい使いにくいorz
604:名前は開発中のものです。
10/01/13 13:22:01 qeehEc52
>>603
自動的にDataフォルダを検索してhoge.pngを探してロードするってこと?
win32APIの関数使えば出来なくも無いと思うけど多分労力に見合うほどのメリットはないと思うよ
何回もロードするもんでもないし
605:名前は開発中のものです。
10/01/13 13:26:47 HfkhU9/3
>>601-602
俺は601じゃないけど、2.25bをまだ使ってる。
で、601の様な現象知らなかったわけだが、602の解決してる時点で9月だよな。
俺が持ってる2.25bはタイムスタンプが5月だし、公式でDLできる2.25bも5月のものだ。
602の示してるレスで公開されてるtestバージョンはバージョンアップされるたびに上書きされてるから、
(今落として確認したが)つい先日のものになってるな。
2.25bバージョンの最新って管理人さん持ってるかなぁ……。
606:名前は開発中のものです。
10/01/13 13:35:20 c62gE9Ki
>>603
>IDでの指定なので、どのファイルがどのIDなのか覚えるのが面倒となってしまい使いにくいorz
IDをファイル名と同じにするとか分かり易い名前に変えてしまえばいいだけでは?
607:名前は開発中のものです。
10/01/13 13:46:41 H0QsxNXz
最近バージョンだと何か問題でもあるのか?
608:名前は開発中のものです。
10/01/13 15:49:43 Yyh3OrXE
DXライブラリが最新バージョンだと動画をLoadGraphで読んでPlayMovietoGraph使って表示したとき透明色が適用されない
(といっても透明色にするにはエンコード方式は古いMicrosoft Video 1くらいしか使えない諸刃の剣)
609:名前は開発中のものです。
10/01/13 16:07:06 HfkhU9/3
俺が過去に作ったゲームを最新のDXライブラリでリコンパイルすると透過色が無視されるてるなー。
610:名前は開発中のものです。
10/01/13 16:39:46 fVXUl//w
孔明の罠
611:名前は開発中のものです。
10/01/13 17:47:10 b/PQw5gR
>>604
その通りです。
ロードする際に使った文字列を、ハンドル代わりにつかっているので、
メリットとしては、指定をいちいちしなくてすむので楽になります。
たとえば、
Draw("hoge.png");
とかで、色々操作できるような設計にしています。
Win32APIの関数でできるのですか。
直接MSDNから探し出すスキルがない残念スキルですが、調べてみようと思います。
>>606
おおなるほど、これは盲点でした……。
612:名前は開発中のものです。
10/01/13 19:35:30 KRarygD9
>>611
良い方法じゃないかもしれないけど、マクロと
stringかsprintf系の関数使って文字列つなげば
一応Load()には、ファイル名渡すだけでもすむよ。
//--------------------------------------
#define HOGE_PATH "..\\iData\\img\\"
void Hoge::LoadData(const char* data_name)
{
char path[255];
sprintf(path, HOGE_PATH "%s.png", data_name);
Load(path);
}
//--------------------------------------
みたいな感じで(エラー処理とかは省略)。
ちなみにHogeのコンストラクタ内とかで、APIのFindFirstFile()
とか使って、フォルダ内の任意の形式のデータ名を列挙して
読み込むようにすれば、Hogeの生成時にpngの形式だけ自動で
読み込むとかも可能。
ただスクリーンショット取れるゲームとかでない限り、画像
データの名前や数は変わらないはずだから、ハードコーティング
するよりパス含んだデータ名を列挙したテキストとかを作って
おくのがいい気もする(もちろんこれも手動では作らない)。
そうしておけば、画像の数とかに変更あってもプログラムの方は
何もいじる必要ないし。
613:名前は開発中のものです。
10/01/13 20:53:47 fVXUl//w
なんというレベル・・・
614:名前は開発中のものです。
10/01/13 22:45:52 K/6CPc2l
俺はstd::mapを使ってるな。値を画像ハンドルにしてる。
キーを文字列にすれば分かりやすいし。
615:名前は開発中のものです。
10/01/14 02:11:03 842AZX10
同じファイル名が来ることはないのか
616:名前は開発中のものです。
10/01/14 02:36:14 Y9GNPZz3
画像ファイル名一覧(分割するなら分割数なども)を
外部のテキストファイルに置いて、それを読み込む手法は便利ちゃ便利だし美しいな。
ツクール系や画像ビューワなどのアプリを作りたいというなら別にしても、
結局、その画像を使うにはプログラムの修正が必要だったりするわけで、
そこまで外部化するメリットが無い気がする。
それならファイル名をプログラム側で固定してしまうというのも十分アリじゃないかな。
「趣味で!」「勉強のため」というなら好きにやるべきだし、そういうこだわりは重要だと思うけれど。
>>615
拡張子無しとか、拡張子を固定するとか、
あとは最初はbmpで次はjpg…みたいに読み込む優先度を決めておくとか。
617:616
10/01/14 02:42:40 Y9GNPZz3
送信してから思った。
最近は個人レベルのゲームプログラミングでも、
ゲームの内容を外部のスクリプトファイルで定義するスタイルが増えてきてるみたい。
全部をスクリプト化しろとは言わないけど、
例えばメニュー画面の挙動とか、何らかのキャラクターのアニメーションの仕方とか、
そういう部分的にでも外部に出しちゃう作りにすれば活かせるかもね。
まあ、非常に手間ですが。
618:名前は開発中のものです。
10/01/14 10:10:33 DPt8d+Sq
外部ファイルにパスや必要な情報書いて読み込み、
それをクラスに格納して処理、コンテナに追加して保持、分割も自動でやってる
ハンドルはアドレスをクラスに用意したポインタのメンバ変数に格納して
再ロードしても画像ハンドルへのアクセス先は変わらないようにしてる
SetRestoreGraphCallbackに↑で書いたコンテナから再ロードする関数登録
ハンドルの情報が消えてしまうときって、それまでに画像読み込んで取得したハンドル全て消えるよね?
何が消えるかよくわからなかったから
描画関係全て再設定させてるんだけど、皆さんは再ロード処理どのようにしてますか?
619:名前は開発中のものです。
10/01/14 11:35:51 f9B4N6q6
>>618
何を言っているのかわからない
620:名前は開発中のものです。
10/01/14 11:42:32 Wuk1wnH6
>>618
>ハンドルの情報が消えてしまうときって、それまでに画像読み込んで取得したハンドル全て消えるよね?
まずこれがよく分からない・・・
リファレンスに全部書いてあると思うけど。
621:名前は開発中のものです。
10/01/14 12:57:05 GEhjs3wb
ドラクエとかマップとかキャラ動かすプログラムは1個つくったら
流用が基本だよな あとはちょくちょく改造
現にSFCのドラクエ3ってSFCドラクエ6の流(ry
622:618
10/01/14 12:59:53 DPt8d+Sq
ごめん、書き方悪かった
何が消えるってか何が初期化されるのか、
ハンドル以外にもあったようなのでそれもききたかった
(DXライブラリのスレだったかな?カメラがどうとか)
ってハンドルは全て消えるよね・・・
で、リファレンスに全部書いてあるのか
見落としてたっぽい、すまねえ見てくる
623:名前は開発中のものです。
10/01/14 13:11:27 GEhjs3wb
ffshowの取り込み機能使うと紙芝居のような連番のjpgが作れる
(例:0.jpg~1000.jpg (画像の形式:jpgにフレーム番号の桁数は0に設定))
(画像の形式はpngやbmpとかできるけどファイル容量が馬鹿でかくなる)
プログラムテストで使う大量の連番JPG1個ずつくるのめんどせーって人はおすすめ
624:名前は開発中のものです。
10/01/14 13:53:55 842AZX10
俺も各クラスの画像にはハンドルのポインタ渡して
ウィンドウ⇔フルスクリーンにするときとか再ロードする場合は一括でやれるようにしてる
625:名前は開発中のものです。
10/01/14 14:22:58 f9B4N6q6
めんどくせーのでエスパーすると
ハンドル情報が無効になった場合の対処でよろしいアルか?
626:618
10/01/14 21:00:02 DPt8d+Sq
いやもう、まじでわかりづらくてすまん
>>624と同じやり方だし、これはこれでいいかな
カメラもライトもモーション状態も全部復元できた
つーわけでスルーしてくだされ
627:名前は開発中のものです。
10/01/15 12:18:57 MEm+h6H+
更新通知はオブザーバーパターンかな
628:名前は開発中のものです。
10/01/15 23:03:18 GfBht2fI
WinSockを使ってオンラインのゲームを作りたいと思っています。
非同期通信にした後、
ウィンドウメッセージをどうやって受け取ればいいのでしょうか
629:名前は開発中のものです。
10/01/15 23:16:16 mIIIz4fa
通信とウィンドウズメッセージ処理は別スレッドで
630:名前は開発中のものです。
10/01/15 23:20:44 MEm+h6H+
bccとvc++以外のコンパイラで使いたい場合はDLL化するしかないかな?
631:名前は開発中のものです。
10/01/16 14:25:40 q2B4ABrd
C#用のDLLが使える
普通のCインターフェイスだから
632:628
10/01/16 16:27:15 rUwaGg5H
開発環境はVisual Studio 2008 Express Editionです。
>通信とウィンドウズメッセージ処理は別スレッドで
これは、マルチスレッドにする、ということでしょうか?
あと、ウィンドウメッセージを受け取るにはPeekMessage関数を使うのでしょうか?
633:名前は開発中のものです。
10/01/16 16:40:06 jHRnZJbI
まだ、はやい
634:名前は開発中のものです。
10/01/18 15:10:04 NiKHIjeB
どうにかgifアニメを表示できないでしょうか?
635:名前は開発中のものです。
10/01/18 15:50:40 ocST5QSJ
ばらして一つ一つ表示すれば
636:名前は開発中のものです。
10/01/18 16:17:33 1VuUUtA0
コマごとに読み込んでハンドルを配列に入れて回しながら表示してみろ
637:名前は開発中のものです。
10/01/18 16:19:59 Y1kYbBl9
みんなアニメーションの抽象化ってどうやってんの?
638:名前は開発中のものです。
10/01/18 16:36:31 ZRf7R4pO
>>637
デザ・・・と言いたいところだが、キチガイ扱いされるので言わない^^b
639:名前は開発中のものです。
10/01/18 16:36:50 AJVbiEYR
アニメーションの抽象化ってなに。
640:名前は開発中のものです。
10/01/18 16:37:28 ocST5QSJ
14歳に乗ってたな
641:名前は開発中のものです。
10/01/18 17:21:08 NiKHIjeB
ありがとうございます!
gif自体がDXライブラリで表示できないみたいなので
ばらしてbmpに変換して表示させます。
642:名前は開発中のものです。
10/01/18 18:17:21 /YEQVsc4
ソフトによってはgifアニメを書き出す要領でアニメーション用にずらっと並べた形で排出してくれるものもあるから要チェック
643:名前は開発中のものです。
10/01/18 18:40:53 NiKHIjeB
Giamっていうツールで分解してみます。
gifが表示できたらなあ・・・
644:名前は開発中のものです。
10/01/18 19:23:22 p6A/ppr3
gifの表示だけは諦めた方がいい
と思ったけど何年か前にライセンス切れたとかだったっけ?
645:名前は開発中のものです。
10/01/18 19:34:01 YzUndEty
gifアニメ、
PlayMovie()で出来たはず。
646:名前は開発中のものです。
10/01/18 19:40:04 NiKHIjeB
>>645
うおおおおおおおおおおおおおおおおおおおおおお
できたあああああああああああああああああああああああああ
ありがとおおおおおおおおおおおおおおおおおおおお
647:名前は開発中のものです。
10/01/18 19:44:19 /YEQVsc4
playmovieが使えるのか、初めて知った
648:名前は開発中のものです。
10/01/18 19:44:24 aB6jW3dA
でもgifアニメ表示する利点というか利用価値が思いつかない
649:名前は開発中のものです。
10/01/18 19:46:09 YzUndEty
これは作者も知らないと思う、osの機能だから。
650:名前は開発中のものです。
10/01/18 19:57:40 NiKHIjeB
本当にありがとうございました。
ただのビューワを作ろうかと・・・
できないと諦めかけてたので>>645さんありがとう!
651:名前は開発中のものです。
10/01/18 21:14:28 ZRf7R4pO
>>645
APIの旅からの帰還
お待ちしておりました
全員敬礼!
652:名前は開発中のものです。
10/01/20 21:26:19 ZmWqqE9G
#define MAX_MOVIE_NUM (100) // 同時に持てるムービーハンドルの最大数
と、DxLib.hの中に書いてあったのですが、
この(100)の値を変えても100以上読むことができません
変更を適応する方法とかありますでしょうか・・・
653:名前は開発中のものです。
10/01/20 21:37:33 ZmWqqE9G
ライブラリの改造で事足りました
スレ汚しすまそ
以下スルーお願いします
654:名前は開発中のものです。
10/01/20 21:42:45 SKKsOccv
俺は言われるとスルーできねえ太刀なんだよ
どうしてくれんんだてめえ
655:名前は開発中のものです。
10/01/20 22:09:33 q0DDgX3G
キレやすそうだな。
656:名前は開発中のものです。
10/01/20 23:52:50 cMpODo4B
真面目なかたなのね
657:名前は開発中のものです。
10/01/20 23:59:20 zuhGGFh3
太刀だけにキレやすいってか
うまいこと言うじゃねーか
658:名前は開発中のものです。
10/01/21 06:53:57 zKTatolx
だれうま
659:名前は開発中のものです。
10/01/21 17:26:19 VSiukrvi
おれうま
660:名前は開発中のものです。
10/01/21 17:42:38 ASaFDbPd
きみのためならうま
661:名前は開発中のものです。
10/01/21 18:34:21 f/5KsMY8
かゆ・・・うま・・・
662:名前は開発中のものです。
10/01/21 21:15:18 3z0s89gO
昨日、この屋しきから逃げ出そうとした研究いんが一人、射さつされた、て はなしだ。
夜、からだ中 あついかゆい。
胸のはれ物 かきむしたら 肉がくさり落ちやがた。
いったいおれ どうな て
May 19, 1998
やと ねつ ひいた も とてもかゆい
今日 はらへったの、いぬ のエサ くう
May 21, 1998
かゆい かゆい スコットーきた
ひどいかおなんで ころし
うまかっ です。
4
かゆい
うま
663:名前は開発中のものです。
10/01/24 17:17:54 t3rqV2es
MV1GetFramePositionでフレームの座標取れた人いる?
664:名前は開発中のものです。
10/01/24 17:45:49 eNyArIdy
>>663
何かそれと関連するような書き込みみた
MV1Frame系の根本辺りにバグでてるのかもよ
試してないから憶測な
665:名前は開発中のものです。
10/01/24 18:30:40 t3rqV2es
>>664
そうなのか・・・
666:名前は開発中のものです。
10/01/24 18:53:34 mtzPnJPW
SetWindowStyleModeのあと
ドラッグ&ドロップが効かなくなるのは仕様ですか
667:名前は開発中のものです。
10/01/24 19:30:56 mtzPnJPW
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){
char Key[MAX_PATH];
char File[MAX_PATH];
int open;
bool flag=false;
SetAlwaysRunFlag(TRUE);//アクテイブでも動作
if(ChangeWindowMode(TRUE)!=DX_CHANGESCREEN_OK || DxLib_Init()==-1) return-1;
SetDrawScreen(DX_SCREEN_BACK);
SetDragFileValidFlag(TRUE);//ドラッグ&ドロップ許可
while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll(Key)){
open=GetDragFilePath(File);
if(open!=-1){
clsDx();
printfDx("%s",File);
}
DragFileInfoClear();
if(Key[KEY_INPUT_Z]==1){//zキーでスタイル変更
if(flag==false){
flag=true;
SetWindowStyleMode(2);
SetDragFileValidFlag(TRUE);//ドラッグ&ドロップ許可
}
else{
flag=false;
SetWindowStyleMode(0);
SetDragFileValidFlag(TRUE);//ドラッグ&ドロップ許可
}
}
if(Key[KEY_INPUT_ESCAPE]==1)break;
ScreenFlip();
}
668:名前は開発中のものです。
10/01/24 19:33:03 mtzPnJPW
DxLib_End();
return 0;
}
//ソースここまで
スタイル変更のあとはどんなことやっても無駄でした。
なにか解決方とかありますでしょうか・・・
669:名前は開発中のものです。
10/01/25 13:30:00 KA8nsg8v
SetWindowStyleMode(2);
SetDragFileValidFlag(FALSE);
SetDragFileValidFlag(TRUE);//ドラッグ&ドロップ許可
SetWindowStyleMode(0);
SetDragFileValidFlag(FALSE);
SetDragFileValidFlag(TRUE);//ドラッグ&ドロップ許可
ほい
670:名前は開発中のものです。
10/01/25 14:54:28 RTDsX0xD
同じプログラムでもBCCとVCでコンパイルすると微妙に絵画スピード違う?
BCCの方が重いんだが
671:名前は開発中のものです。
10/01/25 17:04:41 okvPpsG4
絵画? 描画?
まあ、別のアルゴリズムでビルドされている以上、違いがあってもおかしくはないな。
もしかすると最適化の設定とかもあるかもしれない。
672:名前は開発中のものです。
10/01/25 17:30:21 0o6Nm1jn
描画の速度は同じだと思われるが最適化の性能はコンパイラによって大分違う
っつっても今は両方同じくらいだと思うが
古いのは効率悪い
673:名前は開発中のものです。
10/01/25 17:32:24 LL1ffQYA
CPU メモリ グラフィックカード MMX 他のソフトが動作してないか
などなど
条件を一致させるのは至難の技
674:名前は開発中のものです。
10/01/25 19:00:44 6DMAN8Oi
>>669
ありがとうございます!
無事ドラッグ&ドロップがスタイル変更後も効くようになりました
なんだかくやしいです
675:名前は開発中のものです。
10/01/26 01:58:18 tj2S0wJn
隠し関数一覧とかないの?
リファレンスに機能の半分くらい乗ってなくね?
676:名前は開発中のものです。
10/01/26 02:34:26 PVZ337CH
そんなあなたにおすすめ、DxLib.h
677:名前は開発中のものです。
10/01/26 02:43:45 tj2S0wJn
既に見ながら発掘してるけど、使い方分からんのが沢山あるし。
678:名前は開発中のものです。
10/01/26 03:09:22 p39VC7Ub
LoadSoundMem("ファイル名");
SetSoundCurrentTime(時間,サウンドハンドル);
PlaySoundMem(サウンドハンドル,DX_PLAYTYPE_LOOP,*2 BGMを最初から再生するかというフラグ);
*2 TRUEで最初から再生(デフォルト) FALSEで途中から再生できる
int bgm;
bgm=LoadSoundMem("a.wav");
SetSoundCurrentTime(5000,bgm);
PlaySoundMem(bgm,DX_PLAYTYPE_LOOP,FALSE);
a.wavの5秒後から再生する(BGMファイルの曲の長さ仮に5秒以内のファイルなら最初からになる ・・・と思う)
679:名前は開発中のものです。
10/01/26 13:26:42 PVZ337CH
>>677
内部用の関数だったり、試験的に実装した関数なんかが多いから、
公式リファレンスが無いのは仕方ない。
仮に第三者がリファレンスを作ったとしても、
内部用関数である以上、いつ仕様が変更されてもおかしくないわけだし。
…以前、DXライブラリのWikiを作ろうとした人がいたけれど、あれどうなったのかなあ。
DxLib.hにはしっかり丁寧にコメントが書かれてるし、実用レベルでそんなに困ることはないと思うけどな。
コメントを読んでも意味がわからない関数は、たぶん今の自分には関係ない関数だと思っていい。
680:名前は開発中のものです。
10/01/27 02:10:49 +9fTCg9n
まあ PlayBeep()なんて
誰得な関数もあるしな
681:名前は開発中のものです。
10/01/27 02:46:02 wVIH00tk
それってBeep音鳴らすの?
だとしたらエラーの警告音とかに使えそうじゃない?
682:名前は開発中のものです。
10/01/27 12:43:56 bk5n/QgN
エラーが発生したなら、素直にOSへ投げた方が良さそうだしなあ。
Beep音に限らずね。
逆に、ゲーム内で「エラー」の演出をしたいというなら、
それ専用のサウンドファイルを用意するべきだろう。
683:名前は開発中のものです。
10/01/27 13:28:51 VlaGcRFB
SetDrawBlendMode( DX_BLENDMODE_ALPHA, 128);
LoadGraphScreen( 30, 10, "a.bmp", TRUE);
SetDrawBlendMode( DX_BLENDMODE_NOBLEND, 0);
をやると一気にfpsが小さくなるんだけど、それを避ける方法ある?
丁寧に教えてください。断片じゃ分からないんで。
684:名前は開発中のものです。
10/01/27 13:34:10 eUrMXCBM
ハハッ
公式見てこいよ 根本から間違ってる
685:名前は開発中のものです。
10/01/27 13:43:01 D7qew4lJ
ハハッワロス
686:名前は開発中のものです。
10/01/27 14:40:35 eQLJYwgf
宣言 int LoadGraphScreen( int x , int y , char *GraphName , int TransFlag ) ;
概略 画像ファイルを読みこんで画面に表示する
要するに、ハードディスクから画像を”読み込んで”表示するわけだ。
毎フレーム、データ読み込んでたら重くなるの当たり前。
687:名前は開発中のものです。
10/01/27 15:40:40 VlaGcRFB
>>686
URLリンク(dixq.net)
ここの人の見てαブレンド処理したんだけどそんな変なの?
できれば、αブレンド処理の速いやり方教えてほしい。
688:名前は開発中のものです。
10/01/27 15:44:59 eQLJYwgf
違う!
αブレンドのやり方はそれでいい!
一つ訊きたいが、fpsがどうとか言ってるって事は、ある程度形は出来てるんだよな?
アクションかシューティングか、何作ってるのか知らないけど。
てことは、キャラなりなんなりを毎フレームに表示させてるんだよな?
そのキャラを表示する時に LoadGraphScreen を使って表示してるのか!?
689:名前は開発中のものです。
10/01/27 15:50:10 eQLJYwgf
君はさ、学校に通う時、
朝、本屋へ行って教科書買って、学校行って勉強して、終わったら教科書捨てて、
次の朝、また本屋で教科書買って、学校行って勉強して、終わったら教科書捨てて、
また次の朝、本屋で教科書買って、学校行って勉強して、終わったら教科書捨てて……
ってやるか? やらないだろ?
毎フレーム LoadGraphScreen を使うってのは毎日教科書買ってるようなもんなんだよ。
690:名前は開発中のものです。
10/01/27 15:52:15 VlaGcRFB
>>688
キャラはDrawGraphで表示してる。
オプション画面に切り替えた時、点数などを表すボードみたいものに
LoadGraphScreenを使ってる。だから、ゲームには影響ないんだけど。
オプション画面に切り替えた時fpsが一気に下がって気になって今回
聞きました。
691:名前は開発中のものです。
10/01/27 15:59:36 eUrMXCBM
>>690
オプション画面に切り替えたら画面停止でもすんの?
プログラムのフロー分かってる?
692:名前は開発中のものです。
10/01/27 16:00:00 gFzXyqzf
最初に表示するとき一回ロードしておいて、それを毎フレーム描画するようにすればいいだろう
693:名前は開発中のものです。
10/01/27 16:07:18 D7qew4lJ
私のために争うのはやめて!
694:名前は開発中のものです。
10/01/27 16:08:24 VlaGcRFB
>>691
それはしない。一気にfpsが落ちる。ブレンド処理で。
単にⅠフレームごとに作画してScreenFlip()で表示してます。
>>692
詳しくおねがいします。
695:名前は開発中のものです。
10/01/27 16:09:48 D7qew4lJ
全部DrawGraphですればいいんじゃないかなぁ? アハハハハハハハ!
696:名前は開発中のものです。
10/01/27 16:11:58 VlaGcRFB
>>695
ブレンド処理したいんですけDrawGraphでも可能なんですか?
697:名前は開発中のものです。
10/01/27 16:14:13 D7qew4lJ
>>696
てめーなに中だよコラ
リファレンスに目を通してから質問しろカス
698:名前は開発中のものです。
10/01/27 16:16:13 eQLJYwgf
あのさ↓の意味ちゃんと解って使ってる?
SetDrawBlendMode( DX_BLENDMODE_ALPHA, 128);
LoadGraphScreen( 30, 10, "a.bmp", TRUE);
SetDrawBlendMode( DX_BLENDMODE_NOBLEND, 0);
1行目で「これから描画するものはアルファブレンドモードにしますよ」
2行目で「a.bmpを読み込んで描画しますよ」
3行目で「これから描画するものはブレンドなしにしますよ」
ってだけだよ?
699:名前は開発中のものです。
10/01/27 16:16:22 VlaGcRFB
DrawGraphでもブレンド処理可能みたいですね・・・。
ありがとうございます。
700:名前は開発中のものです。
10/01/27 16:18:42 VlaGcRFB
>>697
ヤンデレの人ありがとうございました。
701:名前は開発中のものです。
10/01/27 16:23:54 eUrMXCBM
まあ常識的に考えてブレンド処理なんて頻繁に使われるものがDrawGraphで使えないわけないわな
702:名前は開発中のものです。
10/01/27 17:37:50 SU7TxAxC
int zeikin[1000000];
int amakudari;
for(amakudari=0;amakudari<1000000;amakudari++){
zeikin[amakudari]=LoadGraph("官僚.bmp");
}
703:名前は開発中のものです。
10/01/27 18:42:02 4CYQjQL/
だいたい4MBくらいか。たいしたことないな。
704:名前は開発中のものです。
10/01/29 14:26:55 DRAuGFCj
小手先のテクとかはそれなりに分かってきたと思うんだけどゲームの作り方が分からん
うーんバイトでも探して勉強させてもらおうかな。でも使えないバイトとか来たら迷惑かな
705:名前は開発中のものです。
10/01/29 15:45:51 yml/58A3
>>704
そもそも採用してもらえないと思うけど・・・
どこまで作れるのか知らないけど解説サイトも本もいっぱいあるし、いくらでも勉強できると思うんだけどなあ。
706:名前は開発中のものです。
10/01/29 16:04:31 X4/enaKn
むしろ小手先にテクニックの方が理解は難しいと思うが。
いったいどんなゲームを目指してるんだ。
707:名前は開発中のものです。
10/01/29 17:52:34 DRAuGFCj
シューティングで勉強してるけど思うようにいかない
とりあえず自機も敵機も○で表現して
直進する玉を打ったり衝突判定したりとかなら一応できたんだけど
なんか死ぬほど処理が重いし(処理落ちしまくり)、拡張しにくそうだし
機体のパラメータデータとかステージデータの扱い方とかもわからないし
今はちょっとハードルを下げてインベーダーに変えようかなと思ってる
708:名前は開発中のものです。
10/01/29 17:55:43 jCVSqiZx
龍神録は見たか?
709:名前は開発中のものです。
10/01/29 18:24:47 kJL+rTdA
>>707
どこの部分で処理食ってるか調べるんだ。
「衝突判定」が怪しいから、衝突判定を飛ばしてみて
処理落ちするかどうか確認するとか。
710:名前は開発中のものです。
10/01/29 18:38:06 DRAuGFCj
>>708
まだなので、ちょっと読んできますね
>>709
というかボトルネックは衝突判定と玉の生成破棄ぐらいしか思いつかない
モートン順序とかネットで読んだりしたけどなかなか理解と実装までいけないですわ・・・
711:名前は開発中のものです。
10/01/29 18:38:15 jCVSqiZx
dxlib使ってる環境で衝突判定による処理落ちはあまり考えられないんじゃないかなあ
俺はloadgraphとか自発的なSleepを疑う
712:名前は開発中のものです。
10/01/29 19:21:22 bXBGYPJV
重いのは上司と女のケツ
713:名前は開発中のものです。
10/01/29 19:23:42 Pa0ASUM2
足りないのは知識じゃなくて情熱
714:名前は開発中のものです。
10/01/29 20:40:58 /bsOILuR
PCのスペックも分からんし、
「死ぬほど重い」がどれくらいなのかも分からない(FPS60で重いと言う人だっている)、
ゲームの内容もさっぱりだしなあ。
それでもプレイ出来ないほど重くなるとは考えにくいんだが。
715:名前は開発中のものです。
10/01/29 20:57:24 QBlyvB6i
LoadGraphScreenをしてる、とか?
知り合いがなんか思いって言ってたからソース見たら、毎フレームスクリーンショットを取るという謎な動作してたりした。
ぶっちゃけ、重いってのはなんか変な事してるんだと思うよ。
716:名前は開発中のものです。
10/01/29 21:35:34 VeYpTI6t
何が変なことかわかる経験をお持ちでないから仕方が無いことよ
717:名前は開発中のものです。
10/01/29 21:37:02 Pa0ASUM2
俺も低スペックPCだと重くなる。
それもFPSがなぜか半分になる。
ウィンドウがノンアクティブでも動作する設定にしてノンアクティブにしたときの動作と似ている。
DXlib特有の何かがあるんだと思う。
718:名前は開発中のものです。
10/01/29 21:38:36 QBlyvB6i
ソースっていうかプロジェクトうpったらアドバイス貰えるかもね
ソース晒すの抵抗あるだろうし、個人的にVC++かVSじゃないと困るけど
719:名前は開発中のものです。
10/01/30 00:36:37 zzrUYLD6
画像Aの(x, y)に画像Bの(x1, y1, x2, y2)を転送ってできます?
720:名前は開発中のものです。
10/01/30 00:38:24 cifYwtzO
うん
721:名前は開発中のものです。
10/01/30 06:43:38 P5qgz5J8
>>710
思いつく思いつかないじゃなくて
各セクションごとの消費時間調べて
どこがボトルネックなのか調べるぐらいはすべき
722:名前は開発中のものです。
10/01/30 09:38:05 BdSu0ysP
PCのスペックも分からんし、
「死ぬほど重い」がどれくらいなのかも分からない
ゲームの内容もさっぱりだしなあ。
723:名前は開発中のものです。
10/01/30 09:48:06 EF522hf9
昔、STGの敵を一体だけ出してテストしてたときに
妙に動きが重いなーと思ったら
300体の敵がピタリ重なって表示されていた
724:名前は開発中のものです。
10/01/30 11:23:55 BdSu0ysP
俺もあったなw
725:名前は開発中のものです。
10/01/30 11:50:08 mWel1DHT
あるあるw
726:名前は開発中のものです。
10/01/30 12:31:38 zzrUYLD6
>>720
すいませんそれは一体どうやればいいんでしょう?
SetDrawScreen(handle);
Draw~~
とやってもバグってウィンドウの外に描画されてしまいます
727:名前は開発中のものです。
10/01/30 12:46:37 cifYwtzO
>>726
BltSoftImage
728:名前は開発中のものです。
10/01/30 12:49:56 zzrUYLD6
SoftImageって遅くないですか?
729:名前は開発中のものです。
10/01/30 12:51:56 cifYwtzO
使い方による
730:名前は開発中のものです。
10/01/30 15:02:29 zvCh6Jzw
そもそも早さを気にするような関数なのか?
731:名前は開発中のものです。
10/01/30 16:16:41 zzrUYLD6
ソフトイメージ使ってみました
これは便利なものですね
しかしCreateGraphFromSoftImageで変換しないとアルファブレンドができないのが難点ですね
732:名前は開発中のものです。
10/01/30 16:23:02 cifYwtzO
そもそも変換して使うもん
しないと君の言うとおり非常に表示が遅くなるよ
733:名前は開発中のものです。
10/01/30 17:03:39 zzrUYLD6
おや、FillSoftImageがバグってますねこれ
734:名前は開発中のものです。
10/01/30 17:04:55 TNYZudKh
ID:zzrUYLD6
(#^ω^)ビキビキ
735:名前は開発中のものです。
10/01/30 17:07:37 zzrUYLD6
>>734
なにか?
736:名前は開発中のものです。
10/01/30 17:21:39 GX4pyXso
愚痴ならチラシの裏にでも書いとけよ
737:名前は開発中のものです。
10/01/30 18:18:02 QgRnLSPg
馬鹿な発言からして*SoftImageの解説を読んで無いな
738:名前は開発中のものです。
10/01/30 19:10:19 BdSu0ysP
>>735
関係者なんだろ
739:名前は開発中のものです。
10/01/30 20:21:19 UcIFEpC1
ID:zzrUYLD6
(#^ω^)ビキビキ
740:名前は開発中のものです。
10/01/30 20:29:33 zzrUYLD6
>>739
言いたいことが有るならハッキリ言ったらどうです
コピーアンドペーストしかできないというわけではないんでしょう?
741:名前は開発中のものです。
10/01/30 21:04:41 wCFnb5ju
>>733バグがあるって言うなら、ちゃんと症状を書いて欲しい
ちゃんと検証をしないでバグがあるって言うのは荒らしと同じだよ
742:名前は開発中のものです。
10/01/30 21:10:38 cifYwtzO
どう考えてもこいつの仕様把握ミスか使い方間違ってるかだけどな
743:名前は開発中のものです。
10/01/30 21:47:57 zzrUYLD6
URLリンク(codepad.org)
URLリンク(www1.axfc.net)
バグだろ
744:名前は開発中のものです。
10/01/30 22:05:12 BIjXD56Q
会話で否定から入るタイプ
礼を言わない自分のことばかり
745:名前は開発中のものです。
10/01/30 22:16:56 nicWHVwK
こういう奴はなぜか自分が嫌われてることに気づかないんだよなw
746:名前は開発中のものです。
10/01/30 22:22:34 dQt5iAcR
もうそのへんにしとこうぜ。
747:名前は開発中のものです。
10/01/30 22:46:17 zzrUYLD6
>>743に問題が有るとして、それを指摘できるレベルの人間はここにはいないと言うことでよろしいでしょうか?
もし問題がないのなら、私に対していわれのない批判を向けた人たちは謝罪するべきです
私はそれが社会人としての最低限のマナーだと考えます
748:名前は開発中のものです。
10/01/30 22:55:31 cifYwtzO
何かモノを教えてもらった際にはお礼を言いましょう
私はそれが社会人としての最低限のマナーだと考えます
749:名前は開発中のものです。
10/01/30 22:58:58 ZFqeJ0u6
そもそも何がしたいのかわからん
750:名前は開発中のものです。
10/01/30 23:02:09 dQt5iAcR
>>747
>もし問題がないのなら、私に対していわれのない批判を向けた人たちは謝罪するべきです
俺は静観してただけだから無関係だが、
説明しなければ批判受けてもしょうがなかろう。
751:名前は開発中のものです。
10/01/30 23:11:56 m0apTEno
DXライブラリをビルドできる環境が無いのでなんとも言えないが
Ver 3.01 での NS_FillBaseImage関数 (DxBaseImage.cpp の5124行目あたり) で
DWORD の Color が WORD にキャストされているので、ARGBのうち、ARが捨てられている気がする
このキャストをなくせばいいんじゃないかなー
752:名前は開発中のものです。
10/01/30 23:28:01 zzrUYLD6
>>751
DWORDに修正してビルドし先のコードで試したところ正常に動くようになりました
丁寧に修正箇所も教えていただいて、どうもありがとうございました!
753:名前は開発中のものです。
10/01/31 06:29:35 7H/reV3I
馬鹿ばっかり・・・
754:名前は開発中のものです。
10/01/31 13:54:18 HHPX/Q69
>>753
もっと蔑んだ目で言って下さい
755:名前は開発中のものです。
10/01/31 14:32:44 CuC3sxxQ
>>754
| |/ノ二__‐─ァ ヽニニ二二二ヾ } ,'⌒ヽ
/⌒!| =彳o。ト ̄ヽ '´ !o_シ`ヾ | i/ ヽ !
! ハ!| ー─ ' i ! `' '' " ||ヽ l |
756:名前は開発中のものです。
10/01/31 15:25:26 JBJvvpkE
>>754
',::r、:| <●> <●> !> イ
|:、`{ `> .:: 、 __ノ
|::∧ヘ /、__r)\ |:::::|
757:名前は開発中のものです。
10/01/31 17:18:12 2P10BkIV
アニメーション作りたかったから
double owari;
do{
DrawGraph(0,0,player[3],TRUE);
DrawGraph(0,0,player[4],TRUE);
DrawGraph(0,0,player[5],TRUE);
DrawGraph(0,0,player[6],TRUE);
owari = FALSE
}while(owari = TRUE);
やったらパソコンが動かなくなったよ!
誰か助けて
758:名前は開発中のものです。
10/01/31 17:22:47 JBJvvpkE
owari==true
759:名前は開発中のものです。
10/01/31 17:25:48 2P10BkIV
出来ました!!
ありがとうございます
しかし画像が動いてない・・・
760:名前は開発中のものです。
10/01/31 17:43:27 PA+3lzr7
そりゃScreenFlip挟んでないからな…
761:名前は開発中のものです。
10/01/31 17:45:11 2P10BkIV
画像も動いたし一件落着かと思ったんですが
double owari;
do{
SetDrawScreen( DX_SCREEN_BACK ) ;
ClsDrawScreen() ;
DrawGraph(0,0,player[3],TRUE);
ScreenFlip() ;
WaitTimer(500);
ClsDrawScreen() ;
DrawGraph(0,0,player[4],TRUE);
ScreenFlip() ;
WaitTimer(500);
ClsDrawScreen() ;
DrawGraph(0,0,player[5],TRUE);
ScreenFlip() ;
WaitTimer(500);
ClsDrawScreen() ;
DrawGraph(0,0,player[6],TRUE);
ScreenFlip() ;
WaitTimer(500);
owari = FALSE;
}while(owari == FALSE);
これじゃあゲームが終わりません
誰かアニメーションの書き方を教えてください
762:名前は開発中のものです。
10/01/31 17:52:12 PA+3lzr7
ClsDrawScreen();
static int a = 0;
DrawGraph(0,0,player[3+a],TRUE);
if(a<3)a++;
WaitTimer(500);
ScreenFlip() ;
763:名前は開発中のものです。
10/01/31 18:01:12 2P10BkIV
ありがとうございます
試してみたんですが、画像が動いてくれません
これはwhileの中に入れて使用するんでしょうか?
764:名前は開発中のものです。
10/01/31 18:13:29 c9TXpFDF
コピペするだけじゃなくて、その命令の意味をよく考えてみよう。
765:名前は開発中のものです。
10/01/31 18:16:33 JBJvvpkE
とりあえず龍神録読んで来い
766:名前は開発中のものです。
10/01/31 18:29:11 W0mdJ7eW
それ以前にリファレンスを嫁
あんだけわかりやすいのがあるんだから・・・
767:名前は開発中のものです。
10/01/31 18:31:18 HHPX/Q69
基本的な考えを理解してないな。
例えば絵が1ドットずつ動くプログラムだとすると
座標0に表示
↓
座標1に表示
↓
座標2に表示
↓
座標3に表示
↓
:
って書くんじゃなくて(これは>761の書き方)、
座標xに表示 ←―┐
↓ |
xを+1する | 繰り返す
↓ |
└―――┘
って書くのを意識するといいよ
768:名前は開発中のものです。
10/01/31 18:35:18 1VFB3DYv
かわいいなw
769:名前は開発中のものです。
10/01/31 19:00:00 2P10BkIV
double owari;
do{
ClsDrawScreen();
static int a = 0;
DrawGraph(0,0,player[3+a],TRUE);
if(a<3)a++;
WaitTimer(500);
ScreenFlip() ;
owari = FALSE;
}while(owari == FALSE);
こうやってみました
aが0に戻らなくて[6]がずっと表示されてしまいます
あと、できればdo{}while();は使いたくないです
770:名前は開発中のものです。
10/01/31 19:07:41 dC7YcGqj
static intがまずいんじゃなか?
771:名前は開発中のものです。
10/01/31 19:10:47 PA+3lzr7
>>769
>aが0に戻らなくて[6]がずっと表示されてしまいます
わかってんならaを0に戻せよ…
whileでもforでも好きなもんを使えよ…
>>764-767無視すんなよ…
772:名前は開発中のものです。
10/01/31 19:13:09 CfyGLtto
まずはC言語勉強してこい
773:名前は開発中のものです。
10/01/31 19:23:57 2P10BkIV
>>771
すいませんでした
if(a>3)a=0;を追加したんですが止まってしまいます
>>764
考えて>>769をつくってみました!
>>765
そのサイト、アニメーションについて載ってなくて…
>>766
URLリンク(homepage2.nifty.com)
このページでしょうか?
何回か読んだのですがアニメーションについて載ってなかったです…
>>767
座標を動かさないようにするんですか?
>>768
ありがとうございます
>>770
消してみたんですが、動きすらしなくなりました
774:名前は開発中のものです。
10/01/31 19:32:13 JBJvvpkE
アニメーションでなく根本的な所から理解出来てない
龍神録一通りやってゲームプログラミングの基礎を学べ
775:名前は開発中のものです。
10/01/31 19:36:09 2P10BkIV
すいませんでした
まだ自分はなにも理解していないみたいなので
もう一度最初から学び直してきます
みなさんありがとうございました
776:名前は開発中のものです。
10/01/31 19:36:15 PA+3lzr7
>>773
もうDXライブラリ以前の問題だからVIPで聞け
スレリンク(news4vip板)
777:名前は開発中のものです。
10/01/31 19:36:48 GeAXL5Qw
a=3になってるから
778:名前は開発中のものです。
10/01/31 19:37:45 Di+guFUQ
>>770
>>772
>>773
if(a<3)a++;
if(a>3)a=0;
こうしたんなら a=3 の場合はどっちも掛からないから a=3 のまま止まるわなあ
779:名前は開発中のものです。
10/01/31 19:43:39 2P10BkIV
>>777
>>778
if(a>=3)A=0;
にしたらきちんと動いてくれました!
でも学び直してきます
ありがとうございました
>>776
ありがとうございます
次からはそこで質問しますね
780:名前は開発中のものです。
10/01/31 19:44:26 2P10BkIV
うそです
Aじゃなくてaです
781:名前は開発中のものです。
10/01/31 20:01:10 uYVfFOYk
このライブラリって64bit windowsでも
問題なく動くの?
782:名前は開発中のものです。
10/01/31 20:09:34 CfyGLtto
動かないんじゃね?
ライブラリをDLLにすれば動くかも
783:名前は開発中のものです。
10/01/31 20:09:49 0ATLaas4
なんで?
784:名前は開発中のものです。
10/01/31 22:57:51 W0mdJ7eW
普通に動くよw
ネイティブでって意味ならたぶん動かないけど、そういう事じゃないだろ?
785:名前は開発中のものです。
10/01/31 23:29:30 CfyGLtto
ゲームが実行出来るかじゃなくて
正常にビルド出来るかって意味かと思った
つーかそれだとDLLでも動かないねすまん
786:名前は開発中のものです。
10/02/01 00:07:00 2kqPhNjN
ビルドもVSとか使ってるなら通るはずだよ
俺この間までWin7の64bitと、XPの32bitで出先<->家での開発してたし
787:名前は開発中のものです。
10/02/01 01:01:10 YQ/gjtQh
本体のビット数とDLLのビット数が違うとダメだけどね。
DXライブラリでもゲーム制作の話でもないけど
この間それで問題が起きてね……w
788:名前は開発中のものです。
10/02/01 16:57:45 Lf2Nvhz5
なんで?
789:名前は開発中のものです。
10/02/01 17:45:18 ooYrGYNe
なんだっていいさ
790:名前は開発中のものです。
10/02/01 18:32:39 864q13BL
long doubleとか使って試せば
787かいいたいことがわかるとおもう
たぶん
791:名前は開発中のものです。
10/02/01 18:36:19 PxBHY40/
いや、32bitアプリからは64bitDLLは使えないし
64bitアプリからは32bitDLLは使えない。
だから通常、DLLまで用意する場合じゃ無けりゃ32bitで作ればいいんだけど
.NET FrameworkでAny CPUで作った場合はまることがある。
DLLはネイティブで32bit固定なのに、EXEは実行環境によって32/64変わるから
開発時の環境が32bitだと気がつかない。
ということじゃないかなあ。
792:名前は開発中のものです。
10/02/01 18:52:33 Lf2Nvhz5
それで?
793:名前は開発中のものです。
10/02/01 18:58:44 xufADCF/
ググレカス
794:名前は開発中のものです。
10/02/02 13:39:47 EWwGB+Nl
libを32bitで作って64bitマシンでコンパイルしたオブジェクトとリンクしても問題ないの?
795:名前は開発中のものです。
10/02/02 13:53:12 ZXzo3Aq8
なんで?
796:名前は開発中のものです。
10/02/02 13:54:59 6T1hs+2r
ビルド時のターゲットはビルド環境とは関係ない
797:名前は開発中のものです。
10/02/02 18:27:35 NU2kONNz
「64bitマシンでビルドする」というのと、「64bit用アプリとしてビルドする」というのは別物ってことよね。
コンパイラが対応しているかどうかは別として。(比較的最近のVisualStudioなら問題なし)
もちろん、32bitでも同様。
で、開発マシンが32/64問わず、
64bit用としてビルドしたアプリ本体 + 32bit用としてビルドしたDLL → 動かない
32bit用としてビルドしたアプリ本体 + 32bit用としてビルドしたDLL → たぶん動く
であると。
798:名前は開発中のものです。
10/02/02 21:43:09 ZXzo3Aq8
それで?
799:名前は開発中のものです。
10/02/02 22:29:37 ocqUn9yT
なにが?
800:名前は開発中のものです。
10/02/02 23:35:47 3geZi3lZ
つーか64Bitアプリにするほどメモリ使うゲームを作るのかと。
801:名前は開発中のものです。
10/02/03 05:04:33 U8Pd5rkG
なんで?
802:名前は開発中のものです。
10/02/03 05:54:02 XTUJJ4Iu
基本的には32bitアプリでも動くって話だけど
その基本的って部分がちょっとだけ気になる。
803:名前は開発中のものです。
10/02/03 08:44:53 g7fkj8BM
64BitOSで動かすことを気にしてるなら
従前どおりの32Bitアプリが何の問題もなく動くので徒労。
メモリを4GB以上使いたい場合以外にあえて64Bit化する意味は薄い。
804:名前は開発中のものです。
10/02/03 14:05:09 5f3a6r9D
シューティングの画像ってサイズ奇数にして中心にオブジェクトのxyを持ってきた方が作り易い気がするんだが、みんな普通にx1y1x2y2でやってるの?
805:名前は開発中のものです。
10/02/03 14:18:36 gyXnlokN
場合による。
長方形のキャラ(回転なし)とかだと後者の方が便利だし。
806:名前は開発中のものです。
10/02/03 15:51:20 U8Pd5rkG
なんで?
807:名前は開発中のものです。
10/02/03 22:19:22 WAfqMpru
お前を食べるためさ!
808:名前は開発中のものです。
10/02/03 22:40:10 U8Pd5rkG
変態
809:名前は開発中のものです。
10/02/03 23:31:20 y+n9ea+J
DxLIBだとインストール済みのフォントデータしか使えないのかな?
思っていたより使い勝手悪いな…
810:名前は開発中のものです。
10/02/03 23:39:52 mUdTkHdF
よくわからんがフォントリソースとして読み込んでから使えとか見た気がするな
811:名前は開発中のものです。
10/02/04 01:32:44 9yr7SgZz
㌧
AddFontResourceを使ってゲーム起動時に追加出来た
812:名前は開発中のものです。
10/02/04 10:22:35 B+CnvqXs
思っていたより使い勝手悪いな…
813:名前は開発中のものです。
10/02/04 15:03:56 0uWBCETA
DXLIBのデータファイルの暗号化機能を使おうかと思うんだけど
パスワードってリテラルでEXEに埋め込んじゃってダイジョブなん?
814:名前は開発中のものです。
10/02/04 15:08:11 WAZ4oke5
思っていたより使い勝手悪いな…
815:名前は開発中のものです。
10/02/04 18:53:49 QxyExYir
なにがどう大丈夫なのか解らんが、
自分で何とかできないのなら諦めて普通に使うしかないだろう。
816:名前は開発中のものです。
10/02/04 18:55:51 0uWBCETA
いや、キーがバイナリエディタとかで見えちゃうんじゃないかなと思って・・・
817:名前は開発中のものです。
10/02/04 19:04:15 1Mq3yDnQ
>>816
ようは
「入力された文字」==「キー」
ってやってもだいじょうぶかきいてるんだろ?
キーはみえる
818:名前は開発中のものです。
10/02/05 01:25:04 a9qwHvOS
乱数とかつかって謎の文字列を生成する関数とか作って
それをキーに使ったほうがわかりにくくていいんかな
819:名前は開発中のものです。
10/02/05 01:30:13 y9Rl8Gqj
自分でそれができるのならやればいいのでは。
どうしてそこまで隠したがるのか知らないけど。
俺は、俺の作ったゲームをプレイした人が
「このゲームの生データ見てみたい!」
って思ってくれるほど魅力があるデータを作れた自信がないから
そこまで心配はしてないな。
820:名前は開発中のものです。
10/02/05 01:31:15 RCBVAjHS
>>816
暗号鍵を何かでエンコードしてリテラルとしてソースコード埋め込んどいて、SetDXArchiveKeyStringにデコードして渡すとか?
821:名前は開発中のものです。
10/02/05 02:23:43 9VhG5z2Z
暗号化の機構と、暗号鍵と、暗号化の対象が全て一箇所にある以上
どうしようもない気はする
822:名前は開発中のものです。
10/02/05 16:46:58 N9JJZcSG
キャラのポリゴン数ってどれくらいが理想?
今のところ10000ポリゴンはあるんだが。
ちなみにメタセコでCark(分割)4の曲面化つかったデータね
ちなみに胴体だけです
これじゃ動かないかなあ
823:名前は開発中のものです。
10/02/05 16:50:07 qcSvBbHw
みんな画像や音声のロードってどうしてるの?
NowLoading...のアニメーションを動かしながらロード、ってのをしたいんだけど、
読み込みとアニメーションを並行してやる方法が分からないんだ
824:名前は開発中のものです。
10/02/05 16:52:34 Ir4+43zS
>>822
>>492
825:名前は開発中のものです。
10/02/05 19:50:51 EoD901Y8
マルチスレッドじゃね
826:名前は開発中のものです。
10/02/05 20:17:16 Ir4+43zS
>>823
1フレームに1つずつファイルを読み込みながらアニメーション表示させる。
マルチスレッドを使ってもいいけどこっちの方が簡単。
827:名前は開発中のものです。
10/02/05 20:25:49 qcSvBbHw
>>825
公式の掲示板の過去ログで、2007年にLoadGraphはマルチスレッドに対応してないみたいな事を管理人さんが・・・
>>826
音声ファイルとかだと1フレームの間にロードし終わってくれますかね・・・?
828:名前は開発中のものです。
10/02/05 20:30:27 g1+Hi/0a
俺も>>826の方法だけど
たしかにちょっと止まるな
829:名前は開発中のものです。
10/02/05 20:30:28 EoD901Y8
起動時に全部読み込んで後でNowLoadingだけ表示しとけばいいんじゃね
830:名前は開発中のものです。
10/02/05 20:38:57 XWwIt0Ve
本末転倒w
831:名前は開発中のものです。
10/02/05 20:58:53 Ir4+43zS
個人的な感覚でだけど>>829の方法が可能ならこれでいいんじゃないかな。
そもそもプレイヤーにストレスを与えないようにするのが目的だし、実際「NowLoading...」と表示しておきながら読み込み以外の処理もしてたりするしね。
あと>>826の方法は確かに処理落ちする可能性はあるけど何か問題あるの?
どうせプログレスバーを表示させるぐらいじゃないの?
832:名前は開発中のものです。
10/02/05 21:03:23 g1+Hi/0a
>>829はネタレスだろw
833:名前は開発中のものです。
10/02/05 21:04:42 qcSvBbHw
>>831
起動時に全部読み込むと、読み込みファイルのサイズが大きくなったときにちょっと・・・。
できるだけ逐次ロードしたいから・・・。
あと、最初に読み込もうとすると数秒止まっちゃって、それが気にくわないというかストレス。
834:名前は開発中のものです。
10/02/05 21:37:34 RBAQ2+kz
マルチスレッドなしならなうろーでぃんぐはアニメーションさせないのが一番
835:名前は開発中のものです。
10/02/05 21:58:05 RjYJfLjO
かなりいい加減なコードだけど、スレッドを使った Now Loading のサンプル
URLリンク(codepad.org)
836:名前は開発中のものです。
10/02/05 22:31:40 qcSvBbHw
>>835
おお・・・ 参考にしてみまする
837:名前は開発中のものです。
10/02/05 22:43:27 Xzk70bEL
i=0;
なんかループ{
なんかロード1コ
なんかナウローディングとか表示
なんか四角とか描画(x, y ,x+i, y);
画面更新
}
CとかDirectXライブラリの記述方法は忘れた
838:名前は開発中のものです。
10/02/05 22:55:33 9VhG5z2Z
DXライブラリはともかく、Cの表記とゲームプログラミングの作法は忘れんなw
839:名前は開発中のものです。
10/02/05 23:11:28 a9qwHvOS
ファイル単位で読み込もうとするからデカイファイルのせいで処理落ちするコマが出てくるんじゃね?
while(!end())
{
read( Nバイト );
draw();
}
これならフレームレート安定するだろう
でもわざわざ読み込み速度を意図的に落としてまでやるべきなのかは疑問
840:名前は開発中のものです。
10/02/05 23:14:04 +ZQFEOdr
DXライブラリで
>read( Nバイト );
ってどうやんの?
841:名前は開発中のものです。
10/02/05 23:19:28 qcSvBbHw
スレッド使ってロードしようとしたらエラー吐いて落ちた・・・。
やっぱりLoadGraphはマルチスレッド対応してないってことなのかな・・・。
>>839
kwsk
842:名前は開発中のものです。
10/02/05 23:29:20 ax38IgEf
>>835のコードだったらわざわざマルチスレッドにせずとも>>826でやればいいような気もするが
843:名前は開発中のものです。
10/02/05 23:31:09 9VhG5z2Z
自己満足で!(超重要
844:名前は開発中のものです。
10/02/05 23:45:43 tUrF1ELA
スレッド系はきっちり作らないと他人の環境限定で
ある日突然落ちたりしてデバッグで泣くことになるぞ。
CPUのコア数によって出たり出なかったりとかするからな。
845:名前は開発中のものです。
10/02/06 02:01:00 npht8xA6
Now loading...のアニメーションを動画にしたらどうかな?
846:名前は開発中のものです。
10/02/06 02:46:06 Y+vgz54E
その動画を読み込ん出る間のNow Loading画面が欲しくなるね!
847:名前は開発中のものです。
10/02/06 03:13:17 ryKI6KOb
Now loading...をLoading Complete!に修正すればよくね
848:名前は開発中のものです。
10/02/06 04:54:47 sLGxAtvo
「ロードした」なら使ってもいい!
849:名前は開発中のものです。
10/02/06 07:42:28 heYW4fwh
>>829はネタのつもりで書いただろうけど、実際にやってる人を見たことあるよ。
静止画を表示しながら読み込み(2秒間)⇒「NowLoading...」(0.2秒)
本人曰く「ただ気分を味わいたかった」と。
でも実際のゲームを見てみるとプレイヤーからはそれは分からないし、むしろ「ロード早いなあ」という印象すら受けた・・・
これも一つの答えなんだと思ったよw
マルチスレッドを使う方法は↓に書いてある。
URLリンク(hpcgi2.nifty.com)
あと画像はLoadDivGraphで分割読み込みができる。
850:849
10/02/06 07:48:32 heYW4fwh
すみません。
掲示板のリンクがダメですね・・・
記事No「1896」です。
851:名前は開発中のものです。
10/02/06 09:42:16 AjOTNEN+
>>849
LoadDivGraphで分割読み込み、ってアレはひとつの画像を複数の画像に分割するんであって、
分割してひとつの画像読み込むわけじゃないっていう
マルチスレッドの方は読んでみた
応用してやれないか試してみる
852:名前は開発中のものです。
10/02/06 13:12:13 6i+WO82B
そもそも円滑にアニメーションさせる必要なくね?
要所要所で動作が若干止まったりしたほうが読み込んでるっぽくてユーザも安心するし
853:名前は開発中のものです。
10/02/06 13:15:04 m1I5HW8a
じじいの酷い言い訳
854:名前は開発中のものです。
10/02/06 13:30:09 xpV9NzXE
じじいくらべならまけませんよ?
855:名前は開発中のものです。
10/02/06 14:19:32 heYW4fwh
アニメーションの種類によるんじゃなかな?
読み込みの進捗を表示させるようなタイプなら>>823で多少カクカクしても問題ないと思うし、むしろマルチスレッドにすると同期を取るのがめんどくさいし。
逆にもっと派手なアニメーションだと処理落ちすると見栄えが悪くなるのでマルチスレッドにするしかないと思う。
ただ個人的には同人ゲームなら静止画で「NowLoading...」と表示させておくだけで十分だと思うんだけど・・・
856:名前は開発中のものです。
10/02/06 15:27:53 hilmmGtE
静止画1枚だとフリーズしてんのかな?って不安になる
857:名前は開発中のものです。
10/02/06 16:16:36 +7JZw7l0
カクカクでもいいならマルチスレッド必要ないよな
858:名前は開発中のものです。
10/02/06 16:21:12 AjOTNEN+
せめてNowLoading... [ ココ ] で何かのアニメーションはさせたいよね
859:名前は開発中のものです。
10/02/06 22:28:44 fMJ0B1gK
そこは操気弾のアニメを
860:名前は開発中のものです。
10/02/06 23:38:51 cCb1U7aq
これって3dもつくれるんだよね?
Blenderにも対応してる?
861:名前は開発中のものです。
10/02/07 07:39:53 cnkJTmx7
>>860
>これって3dもつくれるんだよね?
作れるよ。
>Blenderにも対応してる?
モデリングソフトの対応状況は過去レスを見てみて。
BlenderはFBXが使えるみたい。
862:名前は開発中のものです。
10/02/11 23:41:27 AgKonL0C
メタセコで武器だけ作って、それを3Dのキャラモデルに持たせるのはどうやるんだろう。
DXライブラリの範疇ではないのかな。
なにか調べる取っ掛かりはない?
863:名前は開発中のものです。
10/02/12 02:48:39 iGppiI+j
位置とか角度の親子関係を作れればいいんじゃないかな
864:名前は開発中のものです。
10/02/12 04:35:23 Z51oc7q7
>>862
DXライブラリは知らんけどリアルタイムレンダリングがデフォじゃない?
865:名前は開発中のものです。
10/02/12 07:46:33 gSVuHgsF
>>862
「コンストレイント」で検索してみるといいよ。
やり方は簡単で>>863の言う通り、「手」の移動と回転を「武器」に加えるだけ。
866:名前は開発中のものです。
10/02/12 15:42:11 9oJmNhGP
DrawChipMapってどうやって使うの
867:名前は開発中のものです。
10/02/12 21:24:07 m/RgGbdM
GetNowHiPerformanceCount()の内容をprintfしたいんですが%dの部分を何に変えたらいいですか
868:名前は開発中のものです。
10/02/12 21:53:10 5g1bekrX
g
869:名前は開発中のものです。
10/02/12 22:17:37 gSVuHgsF
>>867
試してないけど戻り値がLONGLONG型なので「%I64d」か「%lld」じゃないかな。
870:名前は開発中のものです。
10/02/12 22:39:37 3A3ijQ60
>>863-865
サンクス!
やり方、納得です。
取り敢えず手の回転並進行列とって、そのまま武器に適用させてみる。
871:名前は開発中のものです。
10/02/12 23:19:30 gSVuHgsF
>>866
チップグラフィックを使ったマップ描画
int MapWidth, MapHeight : マップデータ全体の幅と高さ
int *MapData : マップデータが格納されたアドレス
int ChipTypeNum : マップに使うチップの種類の数
int *ChipGrHandle : チップのグラフィック配列のアドレス
int TransFlag : 透過色処理の有無
int MapDrawX, MapDrawY : 描画するマップの起点となる左上座標
int MapDrawWidth, MapDrawHeight : 起点座標から描画するマップの幅と高さ
int ScreenX, ScreenY : マップを描画する画面上の座標
(2004/02/08)
2.11 DrawChipMap 関数を非公開関数に変更。
872:名前は開発中のものです。
10/02/13 00:47:58 lykIm1Dn
>>868-869
サンクス!
lldでいけました。
873:名前は開発中のものです。
10/02/13 18:36:09 nVI35ftX
1つの画像に対して、縦横で別倍率の拡縮、および回転を同時に行うとき、
何か簡単な方法って無いものかな?
拡縮してから回転させたときと、回転させてから拡縮するときとで結果が異なるけどさ。
無いなら無いで、自前で座標を計算してDrawModiGraph()に投げるつもりだけれど。
874:名前は開発中のものです。
10/02/13 19:30:01 pV6Ocbxc
ないので俺は自分で関数作った
875:名前は開発中のものです。
10/02/13 22:38:54 nVI35ftX
そっか、ありがと。
876:名前は開発中のものです。
10/02/14 21:14:56 9DOaOyQ2
半透明処理で
ClearDrawScreen()
SetDrawBlendMode( DX_BLENDMODE_ALPHA, ・・・
DrawGraph(・・・
ScreenFlip()
って書いたら、1箇所使っただけなのにかなり処理が重くなる
DrawGraphが悪い?
フレームスキップするしかない?
877:名前は開発中のものです。
10/02/14 21:20:54 lH/o5bwf
いや、俺普通に何箇所も使うけど重くなんないよ?
本当にその四行だけで試してみた?
878:名前は開発中のものです。
10/02/14 21:21:28 I7ZtRrpB
フレームスキップは基本過ぎるだろ
879:名前は開発中のものです。
10/02/14 21:24:26 9DOaOyQ2
>>877
ClearDrawScreen()
SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 )
DrawGraph(・・・ // 普通の画像
SetDrawBlendMode( DX_BLENDMODE_ALPHA, ・・・
DrawGraph(・・・ // 半透明させるの画像
SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 )
DrawGraph(・・・ // 普通の画像
ScreenFlip()
こうやってます
画像を重ねる都合上、
SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 ) を2回やってます
もっと効率よい方法があるんでしょうか?
880:名前は開発中のものです。
10/02/14 21:26:43 9DOaOyQ2
>>877
フレームスキップってどうやればいいでしょうか?
画面処理を別スレッドにして、処理時間オーバーしたら放棄、
でいいの?
881:名前は開発中のものです。
10/02/14 21:27:36 9DOaOyQ2
すみません
880 は >>878へのレスです
882:名前は開発中のものです。
10/02/14 21:32:50 r2nQlTSv
>>879
いちいち戻さない方が速いかも
883:名前は開発中のものです。
10/02/14 21:34:14 I7ZtRrpB
>>880
ググれば幾らかサンプルコードが出てくる。確か龍神録でも触れてたと思うし。
PC上で動くゲームを作るのなら秒間60回更新するように調整するのは基本中の基本。
DXLIBに限った話じゃない。CPU使用率が異常に高かったりしたら間違いなくこっちの問題でしょ。
884:879
10/02/14 21:58:05 9DOaOyQ2
3番目の↓
SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 )
DrawGraph(・・・ // 普通の画像
が処理を重くしてる原因だったので、これを削ることにしました
ありがとうございます
龍神録というサイトを初めて知ったので、質問してよかった
>>883 ありがとうございます
885:名前は開発中のものです。
10/02/15 08:08:26 BUryD20y
何故そこだけ問題があったんだろう。気になる。
>873だが、色々な変形に対応させようと思うと結構面倒だな。引数も増えるし。
回転と拡縮だけにしてしまうか。
……とここまで書いて、
画像クラスを作ってしまえば簡単だということに気づいた。
886:名前は開発中のものです。
10/02/15 20:26:12 ccjc3ij8
平面だけでいいなら2*2行列に行列演算を繰り返して
最後にその4点にあわせてDrawModiGraphするってのが汎用的で記述もわかりやすくていいんじゃね?
どっかからできの良い数学ライブラリ持ってきてもいいし
回転拡大スライド程度なら簡単な行列計算だけに絞れるから自分で作ってもいい
887:名前は開発中のものです。
10/02/15 20:55:41 BUryD20y
行列とか完全に忘れてて愕然とした orz
>>886
結局のところ、妥協して回転、拡縮、左右/上下反転の3つだけ関数にしたんだが、
どっちかっていうと、コーディングよりも設計に悩んでた。
変形する順番によって最終的な結果が変わる場合があるから、
それらに対応しようとすると、その分だけ引数も増えるわけで、結果として使いにくい関数になっちゃうのよね。
で、画像をクラスにして
ImageClass img;
//中略
img.rotate(3.14); //180度回転
img.extend(1.0,2.0); //縦2倍
img.rotate(1.57); //90度回転
img.draw(0,0); //0,0に描画
とかでも良かったかな、と思った。
888:名前は開発中のものです。
10/02/15 21:00:03 K58uOKXK
・画像内での基準点の位置
・上の基準点が実際に描画される位置
・基準点を中心としたスケール
・基準点を中心とした回転角度
で十分だと思うけど
889:名前は開発中のものです。
10/02/15 21:57:09 BUryD20y
>>888
それだけで引数7つあるぜ?
各変形の優先度を決める(もしくは同じ変形を複数回行う)とか、
回転と拡縮以外の変形も出来るようにするなら、どれだけ増えるんだ。
890:名前は開発中のものです。
10/02/15 22:01:20 8F/ucvej
回転と拡大縮小って別に順不同じゃね
基点となる座標が変われば別だが
891:名前は開発中のものです。
10/02/15 22:17:52 BUryD20y
>>890
ゲームの都合上、縦横で別々に拡大率を設定できるようにする必要があった。
正方形を、90度回転させてから、横に2倍
□□ → ■□ → ■■□□
■■ → ■□ → ■■□□
横に2倍にしてから、90度回転
■□
□□ → □□□□ → ■□
■■ → ■■■■ → ■□
■□
みたいに変わる。
892:名前は開発中のものです。
10/02/15 22:23:00 8F/ucvej
>>891
それって渡す引数のほうを工夫すればいいんでねーの
二つ目は90度回転してから縦に二倍しても同じものを得られるわけだし
DrawExRotaGraph2(int x,int y,int cx,int cy,double ExtRateX,double ExtRateY,double Angle,int GrHandle,int TransFlag,int TurnFlag);
10個だな
893:名前は開発中のものです。
10/02/15 22:29:12 BUryD20y
>>892
質問、90度以外でも渡し方次第で出来る?
894:名前は開発中のものです。
10/02/15 22:31:47 8F/ucvej
>>893
出来るんじゃね
895:名前は開発中のものです。
10/02/15 22:57:23 ccjc3ij8
引数が多いと見苦しいし、書く順番でちょっと混乱しそう
それに回転と伸縮どっちが優先か見た目に明らかじゃないのも気になる
896:名前は開発中のものです。
10/02/16 00:28:56 ytIVItbu
なんに使うのかがそもそも想像できない俺……。
897:名前は開発中のものです。
10/02/16 03:07:21 JDL3KQO6
>>896
こんな感じでどう?
URLリンク(gamdev4.hp.infoseek.co.jp)
898:名前は開発中のものです。
10/02/16 04:51:49 iDbvu+FE
>>897
( ゚д゚)ポカーン
899:名前は開発中のものです。
10/02/16 05:23:23 g5MLEwas
ようやく理解できた
900:名前は開発中のものです。
10/02/16 06:40:46 OQUeahIO
3Dでやれば簡単だぜ
901:名前は開発中のものです。
10/02/16 09:20:21 aK6xRRB6
把握。
そういう力技、嫌いじゃないぜw
902:898
10/02/16 10:16:29 JDL3KQO6
すまん、いい例えが思い浮かばなかったんだw
903:名前は開発中のものです。
10/02/16 10:17:15 JDL3KQO6
名前間違えた、897だ
904:名前は開発中のものです。
10/02/16 11:28:24 iwCPzVGw
GetDrawStringWidthの第二引数StrLenはどういう意味があるのでしょうか?
マニュアルには
> StrLen として文字列の長さをわざわざ指定する ようにしたのは色々な側面から見て文字列の長さを指定できるよう にしたほうが良いと思ったからです。
と書いてありますが、どういうケースで指定が必要になるのか想像がつきません。
905:名前は開発中のものです。
10/02/16 12:41:35 ghUeZnk+
>>904
DXライブラリの作者さんがそう考えただけで、別に必要なければ使わなければいいだけでは?
例を挙げておくとこんな感じ。第二引数は指定できなくても書けるけど複雑になってしまう。
char Str[] = "今日もいい天気だ";
int MaxWidth = 50; // この幅に収まるように描画したい
int MaxChar = 0; // MaxWidthに収まる最大文字数
for( int i = 0; i < strlen(Str); i++ )
{
StrWidth = GetDrawStringWidth( Str , i ) ;
if(StrWidth < MaxWidth)
{
MaxChar = i ;
}
}
Str[MaxChar] = '\0' ;
DrawString( 0 , 0 , Str , GetColor( 255 , 255 , 255 ) ) ;
906:名前は開発中のものです。
10/02/16 12:56:47 iwCPzVGw
>>905
なるほど、理解しました。
907:名前は開発中のものです。
10/02/16 13:02:27 JDL3KQO6
辛うじて一度だけ使った記憶があるな。
メニュー画面だったかな。文字列をセンタリングして表示するのに利用した。
文字列の前後に空白や記号がある場合、
それらも含めた文字数で横の長さを決めると、ちょっとズレて見えることがある。
……ぶっちゃけた話、
他にも方法は色々あるだろうとか、メニュー画面くらい画像にしろよとか思うので
使う機会はあんまり無い気がする。
908:名前は開発中のものです。
10/02/16 17:38:15 S7mGVY2n
C/C++以外からDLL経由で使おうとするとnull文字で終わってない文字列とか渡すのに便利です
909:名前は開発中のものです。
10/02/16 21:28:56 QXMNjoNk
>>873
DrawModiGraph()とアフィン変換
アフィン変換 クラスでググるといいかもしれない
910:名前は開発中のものです。
10/02/16 22:33:22 7n/4grgh
逆に文字列の長さよりもStrLenの方が短い場合とかに使うんじゃね?
デバッグ文表示で最後まで表示しないで途中で切ることとかよくあるんじゃね?
911:名前は開発中のものです。
10/02/16 23:25:40 b96KcuEj
アフィン変換か・・・左右反転と拡大縮小って同時にできるもんなんだな、しらなかった
でもこれってソースになる元画像を読んでからやるの?格納してからメモリ上の画像をハンドルで指定して操作したりできるんだろうか
912:名前は開発中のものです。
10/02/16 23:50:46 QXMNjoNk
あ、左右反転もなのか
DrawModiBillboard3Dのがいいと思う
913:名前は開発中のものです。
10/02/17 00:19:59 BMwZx7QF
>>912
いや自分は873ではないんだけれども、参考になったので書かせてもらった。横槍すまんね
DrawModiBillboard3Dって左右反転できるのか。x1を右上の座標、x2を左上の座標、x3とx4も同様に交換ってやれば反転するのかな?
914:名前は開発中のものです。
10/02/17 02:18:28 V7zWpnOB
ゲームで銃の連射中の音を作りたい
例えば 「ドッギュウン」て音声のファイルがあったとする。
そのファイルを使って単発発射で「ドッギュウン」、連射で「ドッドッドッドッドッギュウン」ってなカンジにしたいんだけど
音声の再生中かを CheckSoundMemで調べて、再生してなかったら再生してもヨシってすると案の定
「ドッギュウン・ドッギュウン・ドッギュウン・ドッギュウン」ってカンジになってしまう。
なので、ソレをナシにすると1ループごとに再生するんであまりにも早くて
「ドドドドドドドドドドッギュウン」ってカンジになる。
音声の再生位置を調べて、ある程度達してたら再生ってやろうと思ったけどそんな関数は無かった。
だから適当に変数用意して3ループ目ごとに再生ってカンジにしようとしているんだけど…(ゴチャゴチャする気もするが)
一般的なゲームの場合ってこういう時どうしてるの?
音声を二つ「ドッドッドッド」「ドッギュウン」用意して、ボタン押しっぱなし時は「ドッドッド」、離す・もしくは一押しの時は「ドッギュウン」とか?
915:名前は開発中のものです。
10/02/17 02:32:31 ccv1Zplj
ボタン押してる間「ドッ」をループ
離したら「ッギュウン」でいいんじゃねーの?
916:名前は開発中のものです。
10/02/17 05:47:58 9a0E55gk
そんなめんどくさいことしなくても
弾の発射間隔を広げるか、数発ごとに発射音を鳴らすようにすればいいじゃん
917:名前は開発中のものです。
10/02/17 06:26:15 CMLdNZJw
弾を撃つと開始されるカウンタを作って
そのカウンタが条件を満たしたとき音を鳴らせばいいんじゃないの?
1ループごとだと早すぎるんなら1おきにするとかもできる。
918:名前は開発中のものです。
10/02/17 08:34:48 MHINozGj
>>912
自前で変形させるなら、2Dでも3D(ビルボード)でも大差なくない?
919:名前は開発中のものです。
10/02/17 13:16:50 WoQHqNki
>一般的なゲームの場合ってこういう時どうしてるの?
FFのデータ見たら、あらかじめ重なった時の効果音も
組み合わせごとにいっぱい入ってて、意外だった
とかいう話を、どこかのスレで見たような、見なかったような。
手間と配布方式とかによって変わってきそう。
920:名前は開発中のものです。
10/02/17 19:53:18 b05sIrPr
>>918
カメラ使って視点操作で楽できるからじゃね?
921:名前は開発中のものです。
10/02/17 21:17:38 MHINozGj
ああ、なるほど。
カメラで視点操作ってことは、一括だよな。
メリットでもあるしデメリットでもあるという感じか。
922:名前は開発中のものです。
10/02/17 22:06:32 BMwZx7QF
DrawModiBillboard3Dって描画位置が変にならない?
前にDrawBillboard3DをDrawModiBillboard3Dにそのまま置き換えてみたら同じ位置に描画されなかったから使うのやめちゃったんだけど
923:名前は開発中のものです。
10/02/17 22:17:31 V7zWpnOB
>>915-917
多彩な案サンクス!やってみるよ俺
924:名前は開発中のものです。
10/02/18 02:17:33 artpUogb
アフィン変換ってのとDrawModiGraphでよくね?
DrawModiGraphで左右反転は入れ替えで普通にできたよ。
アフィン変換の使いやすそうなクラス公開してたりするし、よくわからんまま使えそうだ。
925:名前は開発中のものです。
10/02/18 16:24:17 wXmsheL/
スクリーンではなくバッファに描画するにはどうすればいいのでしょうか?
例えば、画像描画や文字列描画を組み合わせて描画する物である「メニューウインドウ」をバッファに描画して、
それを透過やら拡大縮小してスクリーンに描画したいです。
926:名前は開発中のものです。
10/02/18 16:47:24 S5tbEoCa
>>925
URLリンク(hpcgi2.nifty.com)
これでどう?
927:名前は開発中のものです。
10/02/18 17:21:51 wXmsheL/
>>926
まさに求めていたものはこれです。
ありがとうございました。
928:名前は開発中のものです。
10/02/18 18:10:44 UX2j7dSO
dxlibで書き込める画像って作れるのか・・・
レイヤーシステムどうやって作るのか悩んでたところだよ
929:名前は開発中のものです。
10/02/18 18:19:30 sI5JnKeC
BaseImageでもやろうと思えば出来るんじゃない?
SoftImageにも転送付いてたような
930:名前は開発中のものです。
10/02/18 18:37:31 UX2j7dSO
SoftImageは変形とかブレンドを自前でやんないといけなくて面倒だった気がする
931:名前は開発中のものです。
10/02/18 18:41:04 yr41/JmB
>>897
の右側の魔法陣みたいな斜めにして回転、みたいな変換・表示するのにはどうすればいいかわからない・・・。
というか、アフィン変換した画像というか、DXライブラリでどうアフィン変換利用すれば良いかわからないんだけど、
誰か分かる人頼む・・・。
932:873=897
10/02/18 19:07:00 7/BIGMNa
結局アフィン変換がよくわからずに、三角関数で画像を変形させた俺。
おかしいな、大学は理系だったはずなんだけどなー。
行列なんて普通に使ってたはずなのに…… orz
933:名前は開発中のものです。
10/02/18 19:28:11 wsPY0Q5n
>>931
斜めにして回転って2Dでやるほうが難しいんじゃないかな。
DrawModiBillboard3Dってカメラ関数使って斜めから見れるん?
>>897の魔方陣のように傾けて見れるならなんとかなりそうだけど。
934:名前は開発中のものです。
10/02/18 19:30:18 sI5JnKeC
いわゆる「習う」数学は公式を持ってきた後に「解く」からいけない。そこが重要だと思ってしまう
解くのは別にコンピュータがやればいい。大切なのは解き方
935:名前は開発中のものです。
10/02/18 19:40:26 UX2j7dSO
ひょっとして3Dつかって2Dゲーム作る方が楽なのかな
最近はそういうゲームも結構あるよね
936:名前は開発中のものです。
10/02/18 19:43:40 cSNnQmS/
DXライブラリ使ってるならまさにその方式を使ってることになるけど
937:名前は開発中のものです。
10/02/18 20:41:03 S5tbEoCa
>>931
つまり、画像を2回回転させて描画したいっていうことだよね?
DrawModiBillboard3D関数の引数x1, y1~x4, y4に各頂点を2回回転させた座標を指定すればいけると思う。
ビルボードじゃなくてモデルとして扱った方が簡単なような気もするけど・・・
938:名前は開発中のものです。
10/02/18 20:49:00 7/BIGMNa
>>937
自分みたいに3Dサッパリな人間には、モデルデータを用意するだけでハードルが高いからなあ。
そうなると、従来の画像で扱えるビルボードの方が良さそう。
あとは動的に画像を生成するような場合(スクリーンショットとか)にも向いているかもしれない。
モデルデータを使わずにやるなら、素直に2Dでも良いわけだが。
939:937
10/02/18 20:57:50 S5tbEoCa
すみません、>>937に書いた方法はウソでしたorz..
引数x1, y1~x4, y4は2次元の変形しか指定できないし、DrawBillboard3D関数にはある引数Angleも無いので3次元の回転は無理そうです・・・
モデルにすればMV1SetMatrix関数で自由に変形できるんだけど・・・
>>931の作ってるゲームは2Dなの?
それなら斜めに傾いている画像を使って下さいw