ページ 1 / 1
DxLibDotNetの初歩的な質問
Posted: 2010年12月13日(月) 14:35
by 2³
こんばんは。最近、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();
}
}
}
あと、空のプロジェクトを作ってクラスを追加しているのですが、
動画のようにコマンドプロンプトが出てきてしまいます。
こちらもどうすればいいのか分かりません。
どちらも自分なりに調べてみたつもりなのですが、分からなかったので
どなたか教えていただけますでしょうか?
初歩的な質問かもしれませんが、よろしくお願いします。
Re: DxLibDotNetの初歩的な質問
Posted: 2010年12月13日(月) 16:07
by softya(ソフト屋)
ちょっと試してみましたが、それ以前のDLLのロードでうまく動きません。
C#だとXNAがあるので、XNAではだめでしょうか?
Re: DxLibDotNetの初歩的な質問
Posted: 2010年12月13日(月) 16:25
by 2³
ありがとうございます。
softya(ソフト屋) さんが書きました:C#だとXNAがあるので、XNAではだめでしょうか?
XNA4.0は以前試したことがあるのですが、ビデオカードが対応していないみたいで使えません。
VC#2008をインストールして古いバージョンのXNAですれば出来るのかもしれませんが、
HDDの容量もあって出来ればその方法は取りたくないです。
しかし、もしXNAがDXライブラリくらいの難易度なのであれば、
インストールを考えようと思うのですが、どう思われますか?
Re: DxLibDotNetの初歩的な質問
Posted: 2010年12月13日(月) 16:42
by softya(ソフト屋)
龍神録の一部を私がXNA移植したものがあります。
http://softyasu.net/game/gametop.html
難易度的にはDXライブラリに近い物はあると思います。
※ ただし画像データの追加とかの難易度はXNAの方が難しいかも知れません。
あと質問に答えられる人も少ないですね。これは、日本におけるC#の宿命ですが。
DXライブラリの件は、また後で試してみます。
ただ、私の環境では2010が不調なので2008での確認となります。
Re: DxLibDotNetの初歩的な質問
Posted: 2010年12月13日(月) 17:21
by pooka
black_cat さんが書きました:
あと、空のプロジェクトを作ってクラスを追加しているのですが、
動画のようにコマンドプロンプトが出てきてしまいます。
こちらもどうすればいいのか分かりません。
プロジェクトのプロパティでアプリケーションというところに「出力の種類」があります。
これをコンソールアプリケーションからWindowsアプリケーションに変更してみてください。
softya(ソフト屋) さんが書きました:
それ以前のDLLのロードでうまく動きません。
DxLib.dllもDebugフォルダに入れてあるでしょうか?
入れてあったらすみません。
Re: DxLibDotNetの初歩的な質問
Posted: 2010年12月13日(月) 17:47
by 2³
pooka さんが書きました:これをコンソールアプリケーションからWindowsアプリケーションに変更してみてください。
ありがとうございます。おかげで気になっていた事が一つ減りました^^
ですがやっぱり画面のチカチカは治す方法が見つかりません。
softya(ソフト屋) さんが書きました:あと質問に答えられる人も少ないですね。これは、日本におけるC#の宿命ですが。
そうなのですか...ちょっと残念ですね。
softya(ソフト屋) さんが書きました:DXライブラリの件は、また後で試してみます。
ただ、私の環境では2010が不調なので2008での確認となります。
ありがとうございます。よろしくお願いします。
調べてみて思ったのですが、VC#2008 + XNAも結構良さそうですね。
Re: DxLibDotNetの初歩的な質問
Posted: 2010年12月13日(月) 17:54
by softya(ソフト屋)
pooka さんが書きました:
softya(ソフト屋) さんが書きました:
それ以前のDLLのロードでうまく動きません。
DxLib.dllもDebugフォルダに入れてあるでしょうか?
入れてあったらすみません。
たぶん、frameworkのバージョン問題だと思うのですが2010が途中でハングするので確認できておりません。
Re: DxLibDotNetの初歩的な質問
Posted: 2010年12月13日(月) 17:58
by softya(ソフト屋)
black_cat さんが書きました:
softya(ソフト屋) さんが書きました:あと質問に答えられる人も少ないですね。これは、日本におけるC#の宿命ですが。
そうなのですか...ちょっと残念ですね。
調べてみて思ったのですが、VC#2008 + XNAも結構良さそうですね。
CとC++に比べるとC#のプログラマ人口はかなり少ないと思います。
私もC#をかじった程度なので深い問いには答えれませんので、ご了承下さい。
XNAを使ったのも一年前でだいぶ忘れてます(^^;
ライブラリの件はDXライブラリC#版を再コンパイルしてみますので、お待ちください。
Re: DxLibDotNetの初歩的な質問
Posted: 2010年12月13日(月) 18:35
by YuO
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#より少なくなるのは仕方がないです。
Re: DxLibDotNetの初歩的な質問
Posted: 2010年12月13日(月) 18:48
by 2³
Yuo さんが書きました:C#自体はしかるべきところで質問する (MSDN Forumなど) ことで,答えられる人は多いと思います。
そうですか。ありがとうございます。
ではそちらの方で質問をしていこうかと思います。
もちろんここ(C言語何でも質問掲示板)も利用させていただきますが。
Re: DxLibDotNetの初歩的な質問
Posted: 2010年12月13日(月) 19:03
by Idra
ProcessMessageを呼ぶ間隔が短過ぎるせいかもしれません。
ループ内に DX.WaitTimer(16); という感じででウェイトを加えてみてはどうですか?
Re: DxLibDotNetの初歩的な質問
Posted: 2010年12月13日(月) 19:29
by 2³
>Idraさん
投稿ありがとうございます。
すみません。分かりにくかったですね。
画面のチカチカは、ループしている間ずっとなるのではなく、
ソフトの起動と終了時だけです。
なのでチカチカは治りませんでした。
Re: DxLibDotNetの初歩的な質問
Posted: 2010年12月13日(月) 20:55
by softya(ソフト屋)
black_cat さんが書きました:>Idraさん
投稿ありがとうございます。
すみません。分かりにくかったですね。
画面のチカチカは、ループしている間ずっとなるのではなく、
ソフトの起動と終了時だけです。
なのでチカチカは治りませんでした。
その問題はDXライブラリの特色かもしれません。
フルスクリーンだとC言語でも同じことが起きます。
Dx.ChangeWindowMode(TRUE);
をDX.DxLib_Initの前に入れれば直るかも(ただし、フルスクリーンからウィンドウモードになります)。
Re: DxLibDotNetの初歩的な質問
Posted: 2010年12月13日(月) 22:37
by 2³
softya(ソフト屋) さんが書きました:その問題はDXライブラリの特色かもしれません。
フルスクリーンだとC言語でも同じことが起きます。
ありがとうございます。 そうだったのですか。
ではフルスクリーンモードでのチカチカは、コードが悪いとかPCがおかしいとかではないのですね。安心しました^^
softya(ソフト屋) さんが書きました:Dx.ChangeWindowMode(TRUE);
をDX.DxLib_Initの前に入れれば直るかも(ただし、フルスクリーンからウィンドウモードになります)。
本当ですね。ですがフルスクリーンモードで動かしたいので、チカチカの件はあきらめようと思います。
もう一つお聞きしてもいいですか?
DXライブラリは、解像度を変えてフルスクリーンにしているのですよね?
しかしこれだと画質が悪くなってしまいます。
これを、「画面いっぱいに表示するが、解像度は変えない(ウインドウの大きさをディスプレイの大きさにする)」
ということは出来ますか?
Re: DxLibDotNetの初歩的な質問
Posted: 2010年12月14日(火) 00:02
by softya(ソフト屋)
もう一つお聞きしてもいいですか?
DXライブラリは、解像度を変えてフルスクリーンにしているのですよね?
しかしこれだと画質が悪くなってしまいます。
これを、「画面いっぱいに表示するが、解像度は変えない(ウインドウの大きさをディスプレイの大きさにする)」
ということは出来ますか?
画面にあわせるといろんな解像度向けの画像も用意しなくてはいけませんが、そんな面倒なことをしますか?
あとフルスクリーンなら16:9や16:10や4:3とアセプクト比の違う画面にも対応しなくてはなりません。
一応、画面のサイズに合わせて1つの画像で出来るだけきれいに描画することも出来ますが、それなりに知恵を絞る必要があります。
画面サイズを選んでもらって、画面サイズに合わせて描画する方法。
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=1310
Re: DxLibDotNetの初歩的な質問
Posted: 2010年12月14日(火) 00:45
by 2³
softya(ソフト屋) さんが書きました:画面にあわせるといろんな解像度向けの画像も用意しなくてはいけませんが、そんな面倒なことをしますか?
あとフルスクリーンなら16:9や16:10や4:3とアセプクト比の違う画面にも対応しなくてはなりません。
一応、画面のサイズに合わせて1つの画像で出来るだけきれいに描画することも出来ますが、それなりに知恵を絞る必要があります。
ありがとうございます。たしかにそうなりますね。
ですがやってみたいので張ってくださったリンクを見ながらがんばります。
>みなさま
いろいろといいアドバイスをありがとうございました。
とても参考になりました。^^