検索結果 125 件

by YYSS
5年前
フォーラム: C言語何でも質問掲示板
トピック: DrawPolygonBaseでポリゴンの線分のみを表示
返信数: 3
閲覧数: 530

Re: DrawPolygonBaseでポリゴンの線分のみを表示

みけCAT さんが書きました:VERTEXの配列とその要素数を引数に取り、DrawTriangle関数でそれぞれの三角形を描画する関数を作る、というのはどうですか?
やっぱりそれしか方法が無いですかね。
線分表示は、3Dツールとかだと普通にある機能なので、
DxLibにもあってもいいような気がしましたので。

もうちょっと回答を待って、無いようなら締め切りたいと思います。
by YYSS
5年前
フォーラム: C言語何でも質問掲示板
トピック: DrawPolygonBaseでポリゴンの線分のみを表示
返信数: 3
閲覧数: 530

DrawPolygonBaseでポリゴンの線分のみを表示

表題の件、DxLibのDrawPolygonBaseでポリゴンを使って2D空間に画像の描画を行っています。 ポリゴンにテクスチャを貼って画像の描画はできましたが、 ポリゴン(三角形)がどういう組み合わせになっているかを確認するために、 ポリゴンの線分のみを表示したいのですが、頂点をDrawLine等の関数で繋げてやる以外に方法はあるのでしょうか? 関数リファレンス一覧やDxLibヘッダーを確認しましたが、見当たらなかったので、 そういう関数か方法があれば教えていただけると幸いです。 以下、描画部分のソースです // 頂点セット(RGB共通) void VertexSet( VERTEX &ve...
by YYSS
5年前
フォーラム: C言語何でも質問掲示板
トピック: DrawFormatStringでLONGLONG型の表示
返信数: 4
閲覧数: 729

Re: DrawFormatStringでLONGLONG型の表示

%I64dや%lldというフォーマット指定があることを知りませんでした・・・

%dや%ldでやってもうまくいきませんでしたが、
%I64dや%lldにしたら描画できました!

返答ありがとうございました!!
by YYSS
5年前
フォーラム: C言語何でも質問掲示板
トピック: DrawFormatStringでLONGLONG型の表示
返信数: 4
閲覧数: 729

DrawFormatStringでLONGLONG型の表示

DxライブラリのDrawFormatString関数で、8バイトのLONGLONG型を使って、 兆や京単位の描画をしたいと思っているのですが、数値が20億以上になると負数になってしまいます。 20億付近で負の数になるということは、4バイトまでしか対応していないということなので、 DrawFormatStringで8バイト型を描画することは出来ないのでしょうか? 4バイトを2つ用意して、1つ目の数値がオーバーフローしたら2つ目を加算する等の処理をするしかないのでしょうか? ~開発環境~  Windows 7 Ultimate SP1 64bit  Visual C++ 2010  DXライブラリ
by YYSS
6年前
フォーラム: C言語何でも質問掲示板
トピック: SetRestoreGraphCallbackの使い方
返信数: 3
閲覧数: 1197

Re: SetRestoreGraphCallbackの使い方

リファレンスに書いてありましたw

GoogleでSetRestoreGraphCallbackで検索かけてもあまりヒットしなかったので、見落としてました。
回答ありがとうございます!
by YYSS
6年前
フォーラム: C言語何でも質問掲示板
トピック: SetRestoreGraphCallbackの使い方
返信数: 3
閲覧数: 1197

SetRestoreGraphCallbackの使い方

DXライブラリのMakeGraphのリファレンスを呼んでいたところ、
SetRestoreGraphCallbackという関数でスクリーンが切り替わった時に復元できると書いてあったのですが、
SetRestoreGraphCallbackの使い方がリファレンスに載っていません・・・

Dxライブラリのヘッダーを見たら存在したのですが、
非公開にしているということは下手に使わないほうがいいのでしょうか?

使い方の予想としては、再ロード用の関数のポインタをセットすると
スクリーンが切り替わった時に実行してくれると思ったのですが。
by YYSS
6年前
フォーラム: 作品お披露目掲示板
トピック: STGの体験版が出来ました。
返信数: 3
閲覧数: 2560

Re: STGの体験版が出来ました。

Tatuさん、返答遅れて申し訳ありません;; あそびかた.txtにコンフィグの数字がキーボードだとどのキーなのか書いてほしいです。 9から12って対応するキーはありますか? パッド前提でしか考えていなかったので、キーボードの配慮を忘れていました;; 9はEscキーで対応できますが、12キーはキーボードに対応していませんでした。 名前の設定に関しては、初回起動時に入力を求めるようにしたいと思います。 その後は、オプション設定から変更できる仕様にする予定です。 ルールにゲームオーバーについての記述がないようです。 残機が0になったらゲームオーバーですが、残機と霊力を共有しているので、 少々分かりに...
by YYSS
6年前
フォーラム: 作品お披露目掲示板
トピック: STGの体験版が出来ました。
返信数: 3
閲覧数: 2560

STGの体験版が出来ました。

久しぶりの方は、おひさしぶりです。 初めての方は、はじめまして( ・ω・)

現在製作中のSTG(東方2次創作作品)の体験版が出来ました。
白と黒の属性を切替えてステージを攻略していきます。
プレイしてみて気になったところがあれば、気軽にコメントしてくれると幸いです。

DLはコチラの転送から
http://yuyusansan.web.fc2.com/2nd_Project/manual.html

動作するスペックもまだ不明なところが多いので、
もしよろしければ、PCのスペックと動作状況(処理落ちなしとか、弾が多いと処理落ちするとか)を、教えてくださると嬉しいです。
by YYSS
6年前
フォーラム: C言語何でも質問掲示板
トピック: イテレータを回してるときの要素追加
返信数: 5
閲覧数: 1628

Re: イテレータを回してるときの要素追加

返答遅れてすみません;; 質問している内容と添付しているコードの内容が一致していません。 要素を削除しているコードではなく、追加しているコードを貼るべきでしょう。 追加しているコードは少し深いところにあるので、ちょっと見づらいかもしれませんが ※敵オブジェクトの場合 // メイン ================================================================================================================================ bool C_ZakoObj::Obj_Main(){ (t...
by YYSS
6年前
フォーラム: C言語何でも質問掲示板
トピック: イテレータを回してるときの要素追加
返信数: 5
閲覧数: 1628

Re: イテレータを回してるときの要素追加

勉強不足でした;; 肝心の要素追加している部分のソースコードがないのでなんとも言えないですが、 イテレータ操作中にpush_backなどするとイテレータが破壊される可能性があります。 まさに、イテレータ操作中にpush_backをしていました。 ソースはポインタを受け取って追加しているだけです。 void C_ObjMgr::NewObjEntry( C_ObjProcess *obj ){ m_ObjPt.push_back( obj ); } 解決策として、一時的なvectorを別に用意してそちらに要素を追加していき、後でマージするという方法があります。 よかれと思ってやりましたが、逆に手...
by YYSS
6年前
フォーラム: C言語何でも質問掲示板
トピック: イテレータを回してるときの要素追加
返信数: 5
閲覧数: 1628

イテレータを回してるときの要素追加

vectorのイテレータを回してる最中に、要素追加するとエラーになります。 以下ソース void C_ObjMgr::MainProcess(){ // イテレータ生成 vector< C_ObjProcess* >::iterator it = m_ObjPt.begin(); while( it != m_ObjPt.end() ){ // オブジェクトが居なかったらリストから外す if( (*it)->Obj_Main() == false ){ it = m_ObjPt.erase( it ); } else{ ++it; } } } class C_ObjProcess{ publi...
by YYSS
6年前
フォーラム: C言語何でも質問掲示板
トピック: std::auto_ptrと不完全クラス
返信数: 3
閲覧数: 1112

Re: std::auto_ptrと不完全クラス

返答ありがとうございます。

調べたら、標準のshared_ptrを使えば動的削除子によって、
一切気にする必要がないということなのでそちらを利用したら解決しました。
http://site.oukasei.com/?p=139


あと、auto_ptrはdeprecatedというのは知りませんでした;;
Effective C++には書かれていなかったので、そのまま使おうとしていました;;
ご指摘ありがとうございます。
by YYSS
6年前
フォーラム: C言語何でも質問掲示板
トピック: std::auto_ptrと不完全クラス
返信数: 3
閲覧数: 1112

std::auto_ptrと不完全クラス

メンバ変数にstd::auto_ptrを使用し、ソースファイルの依存性を下げるために前方宣言だけで定義するようにしたのですが、 警告が出てしまいます・・・ warning C4150: 'C_Drawer' 型を削除するため delete 演算子が呼び出されましたが、定義がありません。 ソースは以下の通り class C_Drawer; class C_ItemObj{ private: bool m_Flag; const std::auto_ptr< C_Drawer > mc_Drawer; void MoveProcess(); void CheckOverArea(); void F...
by YYSS
6年前
フォーラム: C言語何でも質問掲示板
トピック: STGでの、オブジェクトの確保方法
返信数: 7
閲覧数: 686

Re: STGでの、オブジェクトの確保方法

Dixq (管理人) さんが書きました:最近のPCではメモリの動的確保を気にする必要はないのではないかと思ってます。
"計算"は描画以外のほぼ全ての処理が含まれますから、メモリ確保、解放にかかっている時間は、全体の割合からするとかなり少ないと思われます。
参考になりました。
呼んでた参考書も、初版が昔の本だったので、当時は動的確保に時間が掛かってたのかもしれませんが、
最近は気にするほどではないみたいですね。

ありがとうございます。
by YYSS
6年前
フォーラム: C言語何でも質問掲示板
トピック: STGでの、オブジェクトの確保方法
返信数: 7
閲覧数: 686

Re: STGでの、オブジェクトの確保方法

色々な意見をありがとうございます。
下手にnew使うよりSTLコンテナを使ったほうが安全で良さそうな気がしてきました。

とりあえず、vectorを使う場合でも、メモリを動的に確保するから処理速度的にはどうだろう、
と思ったのですが、あらかじめ最低限必要な分をreserveで確保しておけば、メモリ確保処理に掛かる時間は多少緩和されるのでしょうか?
by YYSS
6年前
フォーラム: C言語何でも質問掲示板
トピック: STGでの、オブジェクトの確保方法
返信数: 7
閲覧数: 686

STGでの、オブジェクトの確保方法

~開発環境~  Windows 7 Ultimate SP1 64bit  Visual C++ 2010  DXライブラリ オブジェクトの確保の仕方について、今まではソフト起動時に一括確保していたのですが、 龍神録のソースを参考にしていたところ、オブジェクトが必要になった時にnewで確保し、必要なくなったらdeleteで解放(間違っていたらすみません) していたので、効率としてはそのほうが良いのでしょうか? メモリリークが怖いのでnewは避けていたのですが、 _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); という...
by YYSS
7年前
フォーラム: C言語何でも質問掲示板
トピック: DrawLineで線の太さを変えると描画されない
返信数: 6
閲覧数: 1558

Re: DrawLineで線の太さを変えると描画されない

Dixq (管理人) さんが書きました:Ver 3.08aで試してみましたが、正常に表示されますよ。
お使いのバージョンは何ですか?
DXライブラリ Ver 3.08cです。

以前のVerでは問題なく表示されていたような気がするのですが・・・
by YYSS
7年前
フォーラム: C言語何でも質問掲示板
トピック: DrawLineで線の太さを変えると描画されない
返信数: 6
閲覧数: 1558

Re: DrawLineで線の太さを変えると描画されない

返答ありがとうございます。

DXライブラリの仕様?バグ?みたいなので作成者に聞いてみたいと思います。
by YYSS
7年前
フォーラム: C言語何でも質問掲示板
トピック: DrawLineで線の太さを変えると描画されない
返信数: 6
閲覧数: 1558

DrawLineで線の太さを変えると描画されない

~開発環境~  Windows 7 Ultimate SP1 64bit  Visual C++ 2010  DXライブラリ Ver 3.08c DXライブラリの関数DrawLineで線の太さを変えて垂直の直線を引くと描画されません。 斜めに直線を引くことは出来るのですが、垂直方向だけが描画されません。 太さを1にしたときは問題なく描画できるのですが、太さの変更はサポートされてないのでしょうか? DrawLine( 300, 300, 300+150, 300, 0xffffff, 4 ); //NG DrawLine( 300, 300, 300, 300+150, 0xffffff, 4 ...
by YYSS
7年前
フォーラム: C言語何でも質問掲示板
トピック: 動的配列を使用した画像管理クラス
返信数: 2
閲覧数: 580

Re: 動的配列を使用した画像管理クラス

涼雅 さんが書きました:不安点1
new intなどで確保したメモリを
delete[]を使って解放した場合の動作は不定のはずです。
new int[1]にしたほうがいいでしょう
new int[1]にすることにします。
涼雅 さんが書きました: 不安点2
メモリリークのチェックは_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
を使えばできます。
メモリリークのチェックをする方法があるとは知りませんでした;;
一度解放し損ねたら終わりだと思ってました;;


アドバイスありがとうございます!
by YYSS
7年前
フォーラム: C言語何でも質問掲示板
トピック: 動的配列を使用した画像管理クラス
返信数: 2
閲覧数: 580

動的配列を使用した画像管理クラス

こんばんは、Dxライブラリを使ってSTGを作ろうとしている者です。 画像の枚数、サイズなどをまとめて管理できるクラスを作ったのですが、 初めて動的配列を使うのでメモリリークなどが起きないか心配です。 最初は自動で確保と解放をしてくれるvectorでやろうかと思いましたが、 LoadDivGraphの配列指定でうまくいきませんでした;; 読み込む画像は 「1枚のみ」 「赤橙黄緑青」 「 赤赤赤赤赤赤(コマ画像) 青青青青青青(コマ画像) 」 など様々です。 作ったクラスと不安点を書きますので、指摘箇所があれば言って下さると幸いです。 逆に無ければ、「そのクラスで問題ないよ」 という意見を下さると...
by YYSS
7年前
フォーラム: C言語何でも質問掲示板
トピック: STGで敵や弾・自機などの描画順を自由に行いたい。
返信数: 2
閲覧数: 408

Re: STGで敵や弾・自機などの描画順を自由に行いたい。

h2so5 さんが書きました:一時的な演出なら、その時だけなにかフラグをたてて分岐すればいいんじゃないでしょうか。

コード:

    if (reverse_flag) {
        Plauer.DrawProcess();
        Zako.DrawProcess();
    } else {
        Zako.DrawProcess();
        Plauer.DrawProcess();
    }
変に大掛かりにせず、一時的に分岐するようにしたらうまくいきました。

深く考えすぎていたようです;;

ありがとうございましたー
by YYSS
7年前
フォーラム: C言語何でも質問掲示板
トピック: STGで敵や弾・自機などの描画順を自由に行いたい。
返信数: 2
閲覧数: 408

STGで敵や弾・自機などの描画順を自由に行いたい。

こんばんわは。 表題の件、現在製作しているSTGでは、 背景 -> 敵 -> 自機 -> エフェクト -> 敵弾 -> スコアフレーム          奥    - - - - - >   前面 の順に描画しているのですが、今考えている演出で、 敵が前面から登場し自機の上(重なったときに自機が隠れる)を通らせたいと考えているのですが、 なかなか良い方法が思いつきません。 敵はクラスの配列で管理しています。 現在はこんな感じの描画方法です。(イメージ) C_Enemy Zako[ 100 ]; //敵クラス C_Player Player; //自機クラス //描画 Zako.DrawProc...
by YYSS
7年前
フォーラム: C言語何でも質問掲示板
トピック: クラス内のメンバ関数ポインタを外から呼び出したい
返信数: 5
閲覧数: 4094

Re: クラス内のメンバ関数ポインタを外から呼び出したい

しかし管理しやすいか?と言うと、そうでもないと思いますけどね。 そうですね、思い直すと余計ややこしくなってる気がしないでもないです;; 外部に公開しているのが問題でしょうね。 外部から直接呼び出せて良いんでしょうか? (this->*ScreenEvent)()で呼び出すだけのメンバ関数を用意してはどうでしょうか? あと関数の切り替えも出来れば隠蔽したい所ですが、そこもenum名のswitch文は避けたい所ですね。 ScreenEventの内容を切り替えるだけのメンバ関数も用意したほうが良いでしょうね。面倒ですが。 そすればpublicな関数はすごく減らせると思います。 メンバ変数はPriv...
by YYSS
7年前
フォーラム: C言語何でも質問掲示板
トピック: クラス内のメンバ関数ポインタを外から呼び出したい
返信数: 5
閲覧数: 4094

Re: クラス内のメンバ関数ポインタを外から呼び出したい

そういう設計はしないほうが良いと思いますが。 なぜ、そんな設計にする必要があるかを説明してもらえますか? ループ内で処理を行う際に、関数ポインタを使えば処理を分岐させる必要が無く、 関数ポインタの中身?関数?を差し替えるだけで処理を変えれるのでスマートになると思っていたのですが・・・ イメージ //分岐が増えると管理しづらい switch( select ){ case 0: fanc1(); case 1: fanc2(); case 2: fanc3(); case 3: fanc4(); case 4: fanc5(); } //理想 (this->*FancBase)(); //Fa...
by YYSS
7年前
フォーラム: C言語何でも質問掲示板
トピック: クラス内のメンバ関数ポインタを外から呼び出したい
返信数: 5
閲覧数: 4094

クラス内のメンバ関数ポインタを外から呼び出したい

メンバ関数ポインタをクラス外から呼びたいのですがエラーになってしまいます。 クラス定義 class C_test{ private: int m_Count; // 制御カウント public: void (C_test::*ScreenEvent)(); // ここに差し替える void NoEvent(){} // 何もしないときはこいつをいれとく }; 呼ぶとき ( LineMaster->*ScreenEvent )(); // エラー 「定義されていない識別子です。」 LineMaster->ScreenEvent(); // エラー 「0 引数を取り込む関数には評価されません。」 ...
by YYSS
7年前
フォーラム: 作品お披露目掲示板
トピック: 爽快感重視STGできました
返信数: 17
閲覧数: 9619

Re: 爽快感重視STGできました

ありがとうございますー ホーミングサーペントがなんかいい感じになってますね。射出角度を変えたんでしょうか。 ちょっと、感度を変えてみました。 そしてリプレイですが・・・・。 残念なことになんと・・・・ ちゃんと再生できました!! (謎の前フリ) とりあえず9回やって全て保存しましたが、全てきちんと再生できました。 この落として上げるという高等テクによってその喜びを3倍に増幅させるという(ry な、なんだと・・・ せっかく直して、動画まで作ったのにっ・・・ ハッ! ・・・ホッ/// と、思ったけど、エイプリルフールネタだったらどうしようという、妙な不安w とりあえず、いつもいつもありがとうござい...
by YYSS
7年前
フォーラム: 作品お披露目掲示板
トピック: 爽快感重視STGできました
返信数: 17
閲覧数: 9619

Re: 爽快感重視STGできました

バグ取りを行ったので、こっそり投稿します。 DLはこちらのページから http://yuyusansan.web.fc2.com/1_5th_Project/1_5project.html また、前verとリプレイの互換性はなくなってしまいました・・・ でも、今度こそズレないハズ・・・ ホント、もうズレないで;; 主な修正箇所は、  リプレイズレの修正。  リプレイの再生速度を変えれる様になった。  ホーミングサーペントがなんかいい感じに。 ~PS~ debugとReleaseでは、プログラムの内部処理が違う為、どう頑張ってもリプレイの合うことが無いことに気づきませんでした;; 1週間がムダに...
by YYSS
7年前
フォーラム: 作品お披露目掲示板
トピック: 爽快感重視STGできました
返信数: 17
閲覧数: 9619

Re: 爽快感重視STGできました

>>SAIさん
報告ありがとうございます・・・

しかし、ナゼだ・・・
リプレイは確かにズレてますね・・・

本来あるはず無い弾に当たっているような雰囲気ですね


再現しようとしてもコチラでは再現できませんでした。
NORAML→SHOOTER→LUNAとやって、リプレイを保存し、再生しても普通に再生されます。

もう少し調査してみます。
報告ありがとうございました←2回目

詳細検索ページへ移動する