質問

私はC#コスモスでGUIを開発する方法を教えてください。

宇宙OS

正しい解決策はありません

他のヒント

ここ方法(マイルストーン5を有するが、他のバージョンのために類似している)です。コスモスはあなたのためのVGAのものを行います。また、マウスとキーボードを行います。私はまだキーボードを作ることができていないが、私は(私はボタンがダウンしているかどうかを確認する方法を見つけることができたhaventはあるが)作業にマウスを持っています。病気あなたが始めるためにVGA機能を示しました。まず、あなたは、この名前空間を必要とします:

using Cosmos.Hardware;

すると、画面のための変数はに住んで、このクラスレベルの変数を追加します。

 VGAScreen screen:

次に、それを初期化するために、あなたのBeforeRun()メソッドにこのコードを追加します:

screen = new VGAScreen();
screen.SetMode320x200x8();
screen.Clear(0);

最後に、あなたが持つピクセルの色を設定することができます:

screen.SetPixel320x200x8(uint x, uint y, uint c);

あなたは、xの任意のyと色、Cを設定します。色は256色形式です。数学の図形を作るために関与している。

あなたは最初のVGAドライバを記述する必要があります。そして、マウスドライバ。そして、おそらく行くガベージコレクタを取得します。やることがそんなにます。

YES! あなたは、私は何が良いのGUI、および作業マウスドライバいくつかを持つことができます。 そうええ、それは可能ですが、時間がかかるし、あなたがそうでなければ、それが可能だ、書くために知っているとあなたはマウスドライバをやっている時に読み込む必要があります。

私は大きなCOSMOSの男だし、誰もこれを越え来れば後、私は2015年10月12日の時点でそれを行うための方法を残したい。

私たちは、私はを開始する前にHIGHLY の開発キットではないuserkitを使用することをお勧めします。開発キットは、コスモス自体を変更することを意図している間、あなたはそれから完全に離れて維持することができ、それはインストールの終了時にVSのウィンドウを閉じます。開発キットには、のすべてのの機能がuserkitはありましたが、userkitは多分より、毎月かそこらに一度更新し、そして開発キットは、最新のバグ修正と機能を数日ごとに更新されます。それはあまりにもほとんどサポートしているので、あなたは間違いなく、代わりに、開発キットをダウンロードする必要があります。

さてので、新しいVisual Studioのウィンドウを開き、VGAを取得します。新しいClass Libraryを作成し、あなたが好きな一体という名前を付けます。

参照に移動し、Cosmos.HAL、Cosmos.Common、およびCosmos.Systemへの参照を追加します。あなたは%APPDATA%\ローミング\コスモスユーザーキット

でそれらを見つけることができます

AssemblyInfo.csに移動し、using Cosmos.Common;を追加し、一番下に次の行を追加します。 [アセンブリ:リング(Ring.System)

さてさて偉大な、今はで行くと何という名前の新しいクラスを作成する必要があります。

上部には、Cosmos.HALを使用してシステムを使用して追加します。

2行を追加します:

あなたが好きなpublic static VGAScreen screen = new VGAScreen();public static Mouse mi = new Mouse();名画面とMIます。

何という名前の初期化やティックメソッドを作成します。

ここでは例として、Initメソッドです。

public static void InitVGA() {
    //Make SURE you have this exact line or else it won't work!  Any size other than 320x200 is broken, and 8-bit is the highest VGA compatible color depth.
    screen.SetGraphicsMode(VGAScreen.ScreenSize.Size320x200, VGAScreen.ColorDepth.BitDepth8);
    //There's a bug currently where only 6-bit color is supported with 8-bit.  0x3f is pure white.
    screen.Clear(0x3f);

    //mi.Initialize(320, 200);
}

今ティック法では、単に何を追加します。あなたがすべてのようなmilisecondかそこらを起こるしたい何か。それは、のように、マウスまたは何かを描画することができます。あなたは他の場所で、インターネット上で、それは長い物語のビットだと見つけることができます。

そこには、今あなたがVGAを働いてきた、行く!

;

あなたがscreen.SetPixel320x200x8(X、Y、色)を用いて画素を設定することができ

適用色が0-3fの範囲です。これは、0-Fの一般的なコンソールの色を次のちょうどトンより多くのオプションを追加します。

さて、ちょうどこのDLLを構築し、自分のメインOSにそれをrefを。さて、カーネルのRunメソッドにカーネルにBeforeRun方法にyourvgaclass.Initメソッドを追加し、yourvgaclass.Tickます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top