• チュートリアル
  • 機能解説
  • リファレンス
  • 初代Altseedはコチラ

    • 機能解説
    • エンジン
    • ノード
    • 画像
    • 文字
    • マテリアル
    • カメラ
    • ポストエフェクト
    • サウンド
    • ログ
    • プロファイラ
    • ファイル
    • ファイルパッケージ
    • ジョイスティック
    • キーボード
    • マウス
    • カーソル
    • シリアライズ
    • 衝突判定
    • 図形ノード
    • トランジション
    • メディアプレイヤー
    • Altseed2.Tools (.NETツール)

    ファイル

    ファイル操作に関する機能を提供します。
    Engine.Fileでは、ファイルを読み込む先のディレクトリ・パッケージの指定やディレクトリのパッケージ化が可能です。 そして、ファイルを読み込むことができ、StaticFile.Createメソッドを用いてStaticFileインスタンスを作成するか、StreamFile.Createメソッドを用いてStreamFileインスタンスを作成する方法の2種類があります。

    Engine.File

    Engine.File.AddRootDirectoryメソッドでファイルを読み込む時のルートを指定します。 一切ルートを指定していないと、カレントディレクトリから相対的にファイルを読み込みます。 ルートディレクトリが指定されていると、ルートディレクトリから相対的にファイルを読み込みます。 また、Engine.File.AddRootPackageメソッドで複数のファイルを1つにまとめたパッケージをルートに指定することが可能で、パッケージ内からファイルを読み込みます。 パスワード付きのパッケージをルートに指定する場合、Engine.File.AddRootPackageWithPasswordメソッドを使用してください。

    StaticFile

    StaticFileは、ファイルを一括で全て読み込むクラスです。 ファイルを読み込んでStaticFileインスタンスを生成するにはCreateメソッドを使います。

    読み込んだファイルの内容は、Bufferで、Byte配列として得られます。

    Tip

    一度、Createするとキャッシュされます。 よって、同じパスでファイルをCreateした場合、キャッシュから読み込まれるため、読み込み時間が小さくなります。

    StreamFile

    StreamFileは、ファイルを部分的に読み込むクラスです。 ファイルを読み込んでStreamFileインスタンスを生成するにはCreateメソッドを使います。

    Readメソッドによって、指定されたサイズの分だけ、ファイルに格納されているデータを読み込みます。

    読み込んだ内容は、TempBufferで、Byte配列として得られます。 また、現在読み込まれているデータのサイズは、TempBufferSizeで得られます。

    サンプル

    StaticFileによるファイル読み込み

    using System;
    using System.Text;
    
    using Altseed2;
    
    namespace Sample
    {
        class FileStaticFile
        {
            [STAThread]
            static void Main(string[] args)
            {
                // Altseed2 を初期化します。
                if (!Engine.Initialize("StaticFile", 640, 480)) return;
    
                // ファイルを読み込みます。
                var staticFile = StaticFile.Create(@"TestData/IO/test.txt");
    
                // バイト配列をUTF8として、string型に変換します。
                var text = Encoding.UTF8.GetString(staticFile.Buffer);
    
                // コンソールに出力します。
                Console.WriteLine(text);
    
                // Altseed の終了処理をします。
                Engine.Terminate();
            }
        }
    }
    

    StreamFileによるファイル読み込み

    using System;
    using System.Text;
    
    using Altseed2;
    
    namespace Sample
    {
        class FileStreamFile
        {
            [STAThread]
            static void Main(string[] args)
            {
                // Altseed2 を初期化します。
                if (!Engine.Initialize("StaticFile", 640, 480)) return;
    
                // ファイルを読み込みます。
                var streamFile = StreamFile.Create(@"TestData/IO/test.txt");
    
                // メインループ。
                // Altseed のウインドウが閉じられると終了します。
                while (Engine.DoEvents())
                {
                    // Altseedを更新します。
                    Engine.Update();
    
                    // 1バイト読み込む
                    var size = streamFile.Read(1);
    
                    // バイト配列をUTF8として、string型に変換します。
                    var text = Encoding.UTF8.GetString(streamFile.TempBuffer);
    
                    // コンソールに出力します。
                    Console.WriteLine(text);
    
                    // 新たに読み込んだデータが0なら終了させます。
                    if (size == 0) break;
                }
    
                // Altseed の終了処理をします。
                Engine.Terminate();
            }
        }
    }
    
    Copyright © 2020 Altseed .