DxLibDotNetの初歩的な質問

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
記事: 58
登録日時: 13年前
住所: 大阪府

DxLibDotNetの初歩的な質問

#1

投稿記事 by » 13年前

こんばんは。最近、C#版のDXライブラリがあることを知って、使い始めたのですが
どうも挙動がおかしいです。
まず、特別な処理は何もさせず実行してみたのですが、
添付の動画のようにスクリーンが点滅してしまいます。
これはなぜなのでしょうか?また、どうすれば治るのでしょうか?
動画では5秒ぐらいでEscを押して終了させました。

コードです。

コード:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DxLibDLL;


namespace Project1
{
    class Class1
    {
        /// <summary>
        /// アプリケーションのメイン エントリ ポイントです。
        /// </summary>
        [STAThread]
        static void Main()
        {
            // 初期化
            if (DX.DxLib_Init() == -1) return;
            while (DX.ProcessMessage() == 0 && DX.CheckHitKey(DX.KEY_INPUT_ESCAPE) == 0)
            {

            }
            // 後始末
            DX.DxLib_End();

        }

    }
}
あと、空のプロジェクトを作ってクラスを追加しているのですが、
動画のようにコマンドプロンプトが出てきてしまいます。
こちらもどうすればいいのか分かりません。

どちらも自分なりに調べてみたつもりなのですが、分からなかったので
どなたか教えていただけますでしょうか?
初歩的な質問かもしれませんが、よろしくお願いします。
添付ファイル
dx.mpg
(8.26 MiB) ダウンロード数: 110 回

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: DxLibDotNetの初歩的な質問

#2

投稿記事 by softya(ソフト屋) » 13年前

ちょっと試してみましたが、それ以前のDLLのロードでうまく動きません。
C#だとXNAがあるので、XNAではだめでしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
記事: 58
登録日時: 13年前
住所: 大阪府

Re: DxLibDotNetの初歩的な質問

#3

投稿記事 by » 13年前

ありがとうございます。
softya(ソフト屋) さんが書きました:C#だとXNAがあるので、XNAではだめでしょうか?
XNA4.0は以前試したことがあるのですが、ビデオカードが対応していないみたいで使えません。
VC#2008をインストールして古いバージョンのXNAですれば出来るのかもしれませんが、
HDDの容量もあって出来ればその方法は取りたくないです。
しかし、もしXNAがDXライブラリくらいの難易度なのであれば、
インストールを考えようと思うのですが、どう思われますか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: DxLibDotNetの初歩的な質問

#4

投稿記事 by softya(ソフト屋) » 13年前

龍神録の一部を私がXNA移植したものがあります。
http://softyasu.net/game/gametop.html
難易度的にはDXライブラリに近い物はあると思います。
※ ただし画像データの追加とかの難易度はXNAの方が難しいかも知れません。
あと質問に答えられる人も少ないですね。これは、日本におけるC#の宿命ですが。

DXライブラリの件は、また後で試してみます。
ただ、私の環境では2010が不調なので2008での確認となります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
pooka
記事: 7
登録日時: 13年前
住所: 福井

Re: DxLibDotNetの初歩的な質問

#5

投稿記事 by pooka » 13年前

black_cat さんが書きました: あと、空のプロジェクトを作ってクラスを追加しているのですが、
動画のようにコマンドプロンプトが出てきてしまいます。
こちらもどうすればいいのか分かりません。
プロジェクトのプロパティでアプリケーションというところに「出力の種類」があります。
これをコンソールアプリケーションからWindowsアプリケーションに変更してみてください。
softya(ソフト屋) さんが書きました: それ以前のDLLのロードでうまく動きません。
DxLib.dllもDebugフォルダに入れてあるでしょうか?
入れてあったらすみません。

アバター
記事: 58
登録日時: 13年前
住所: 大阪府

Re: DxLibDotNetの初歩的な質問

#6

投稿記事 by » 13年前

pooka さんが書きました:これをコンソールアプリケーションからWindowsアプリケーションに変更してみてください。
ありがとうございます。おかげで気になっていた事が一つ減りました^^
ですがやっぱり画面のチカチカは治す方法が見つかりません。
softya(ソフト屋) さんが書きました:あと質問に答えられる人も少ないですね。これは、日本におけるC#の宿命ですが。
そうなのですか...ちょっと残念ですね。
softya(ソフト屋) さんが書きました:DXライブラリの件は、また後で試してみます。
ただ、私の環境では2010が不調なので2008での確認となります。
ありがとうございます。よろしくお願いします。

調べてみて思ったのですが、VC#2008 + XNAも結構良さそうですね。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: DxLibDotNetの初歩的な質問

#7

投稿記事 by softya(ソフト屋) » 13年前

pooka さんが書きました:
softya(ソフト屋) さんが書きました: それ以前のDLLのロードでうまく動きません。
DxLib.dllもDebugフォルダに入れてあるでしょうか?
入れてあったらすみません。
たぶん、frameworkのバージョン問題だと思うのですが2010が途中でハングするので確認できておりません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: DxLibDotNetの初歩的な質問

#8

投稿記事 by softya(ソフト屋) » 13年前

black_cat さんが書きました:
softya(ソフト屋) さんが書きました:あと質問に答えられる人も少ないですね。これは、日本におけるC#の宿命ですが。
そうなのですか...ちょっと残念ですね。
調べてみて思ったのですが、VC#2008 + XNAも結構良さそうですね。
CとC++に比べるとC#のプログラマ人口はかなり少ないと思います。
私もC#をかじった程度なので深い問いには答えれませんので、ご了承下さい。
XNAを使ったのも一年前でだいぶ忘れてます(^^;

ライブラリの件はDXライブラリC#版を再コンパイルしてみますので、お待ちください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

YuO
記事: 947
登録日時: 13年前
住所: 東京都世田谷区

Re: DxLibDotNetの初歩的な質問

#9

投稿記事 by YuO » 13年前

softya(ソフト屋) さんが書きました:
black_cat さんが書きました:
softya(ソフト屋) さんが書きました:あと質問に答えられる人も少ないですね。これは、日本におけるC#の宿命ですが。
そうなのですか...ちょっと残念ですね。
調べてみて思ったのですが、VC#2008 + XNAも結構良さそうですね。
CとC++に比べるとC#のプログラマ人口はかなり少ないと思います。
実働で,Windowsに限るとそれほど違うかなぁ,という気もしますが……。
# 国内のC# MVPとC++ MVP比べると……。
また,Forum等で活発に活動する人の数となると,観測範囲次第だと思います。
私の場合は完全に.NET系の方が多い状態です。
# TwitterのTLなどは完全に.NET系の人が主体です。

C#自体はしかるべきところで質問する (MSDN Forumなど) ことで,答えられる人は多いと思います。
ただ,XNAの方は,どうしても回答者がC#より少なくなるのは仕方がないです。

アバター
記事: 58
登録日時: 13年前
住所: 大阪府

Re: DxLibDotNetの初歩的な質問

#10

投稿記事 by » 13年前

Yuo さんが書きました:C#自体はしかるべきところで質問する (MSDN Forumなど) ことで,答えられる人は多いと思います。
そうですか。ありがとうございます。
ではそちらの方で質問をしていこうかと思います。
もちろんここ(C言語何でも質問掲示板)も利用させていただきますが。

Idra

Re: DxLibDotNetの初歩的な質問

#11

投稿記事 by Idra » 13年前

ProcessMessageを呼ぶ間隔が短過ぎるせいかもしれません。
ループ内に DX.WaitTimer(16); という感じででウェイトを加えてみてはどうですか?

アバター
記事: 58
登録日時: 13年前
住所: 大阪府

Re: DxLibDotNetの初歩的な質問

#12

投稿記事 by » 13年前

>Idraさん
投稿ありがとうございます。

すみません。分かりにくかったですね。
画面のチカチカは、ループしている間ずっとなるのではなく、
ソフトの起動と終了時だけです。
なのでチカチカは治りませんでした。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: DxLibDotNetの初歩的な質問

#13

投稿記事 by softya(ソフト屋) » 13年前

black_cat さんが書きました:>Idraさん
投稿ありがとうございます。

すみません。分かりにくかったですね。
画面のチカチカは、ループしている間ずっとなるのではなく、
ソフトの起動と終了時だけです。
なのでチカチカは治りませんでした。
その問題はDXライブラリの特色かもしれません。
フルスクリーンだとC言語でも同じことが起きます。

Dx.ChangeWindowMode(TRUE);
をDX.DxLib_Initの前に入れれば直るかも(ただし、フルスクリーンからウィンドウモードになります)。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
記事: 58
登録日時: 13年前
住所: 大阪府

Re: DxLibDotNetの初歩的な質問

#14

投稿記事 by » 13年前

softya(ソフト屋) さんが書きました:その問題はDXライブラリの特色かもしれません。
フルスクリーンだとC言語でも同じことが起きます。
ありがとうございます。 そうだったのですか。
ではフルスクリーンモードでのチカチカは、コードが悪いとかPCがおかしいとかではないのですね。安心しました^^
softya(ソフト屋) さんが書きました:Dx.ChangeWindowMode(TRUE);
をDX.DxLib_Initの前に入れれば直るかも(ただし、フルスクリーンからウィンドウモードになります)。
本当ですね。ですがフルスクリーンモードで動かしたいので、チカチカの件はあきらめようと思います。

もう一つお聞きしてもいいですか?
DXライブラリは、解像度を変えてフルスクリーンにしているのですよね?
しかしこれだと画質が悪くなってしまいます。
これを、「画面いっぱいに表示するが、解像度は変えない(ウインドウの大きさをディスプレイの大きさにする)」
ということは出来ますか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: DxLibDotNetの初歩的な質問

#15

投稿記事 by softya(ソフト屋) » 13年前

もう一つお聞きしてもいいですか?
DXライブラリは、解像度を変えてフルスクリーンにしているのですよね?
しかしこれだと画質が悪くなってしまいます。
これを、「画面いっぱいに表示するが、解像度は変えない(ウインドウの大きさをディスプレイの大きさにする)」
ということは出来ますか?
画面にあわせるといろんな解像度向けの画像も用意しなくてはいけませんが、そんな面倒なことをしますか?
あとフルスクリーンなら16:9や16:10や4:3とアセプクト比の違う画面にも対応しなくてはなりません。
一応、画面のサイズに合わせて1つの画像で出来るだけきれいに描画することも出来ますが、それなりに知恵を絞る必要があります。

画面サイズを選んでもらって、画面サイズに合わせて描画する方法。
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=1310
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
記事: 58
登録日時: 13年前
住所: 大阪府

Re: DxLibDotNetの初歩的な質問

#16

投稿記事 by » 13年前

softya(ソフト屋) さんが書きました:画面にあわせるといろんな解像度向けの画像も用意しなくてはいけませんが、そんな面倒なことをしますか?
あとフルスクリーンなら16:9や16:10や4:3とアセプクト比の違う画面にも対応しなくてはなりません。
一応、画面のサイズに合わせて1つの画像で出来るだけきれいに描画することも出来ますが、それなりに知恵を絞る必要があります。
ありがとうございます。たしかにそうなりますね。
ですがやってみたいので張ってくださったリンクを見ながらがんばります。

>みなさま
いろいろといいアドバイスをありがとうございました。
とても参考になりました。^^

閉鎖

“C言語何でも質問掲示板” へ戻る