2020-09-15

[102] Bevy (ゲームエンジン) - TextureAtlas

Bevy ゲームエンジン
  今回は複数の画像を1枚の画像として表現するコードの解析です。
  実際に多くの画像ファイルを使用するため、まずはbevyのコードを落とすことにします。Gitが必要になるのでインストールしておきましょう。Bevyの開発にも通常必要になります。コンソールを開き、作業したいフォルダにて

$ git clone https://github.com/bevyengine/bevy

を実行します。bevyフォルダに移動し、そこからassetsフォルダを前回のプロジェクトのメインフォルダにコピーします。前準備は以上で完了です。以下のコードをmain.rsにコピペしてcargo runを実行します。

.init_resource

  resourceを初期化して追加します。RpgSpriteHandlesにはDefault traitを実装します。

不具合部分

  起動時、上記のような画像が表示されない場合があります。その際はウィンドウサイズを変更することで表示されます。また、表示サイズをどこまでも小さくすると、縦幅が0になった時点でBevyアプリはクラッシュ(panic)し強制終了します。

コード解説について

  ドキュメントがない分、どの行で具体的にどのような処理がされているかを詳細に示せていない部分もあります。将来的にはこれらをエディタで視覚的にわかりやすく扱えるようになっていることを期待しますが、まだまだ開発途上の段階故、今はこの程度の解説にとどめておくこと、ご了承いただければと思います。

英語(スペル)の扱いについて

  IT系の専門用語には、英語のスペルをそのまま日本語読みにしただけのカタカナ語が数多く存在しています。コンピュータ(computer)やプログラミング(programming)他、様々ありますが、当記事や(特にGitHubのコメント)では、そのような単語は直接spellで示すことがあります。カタカナの方が全角で容量も文字幅も入力手間もかかることが多く、コンピューターとコンピュータ、エディターとエディタなど、統一できていないものも多いため、Aaria.exeなどで扱う場合にも不便が生じることがあるためです。現時点ではBevyに関連した日本語情報は当ブログ記事を除いて皆無のため、用語などは全て英語にて把握している関係もあり、「関数」「変数」「借用」「継承」など、ある程度明確に日本語に翻訳されている場合を除いては、classやgame engine、save/loadなど、直接英単語のまま使うようにしています。どうせ日本語で書くにしてもそのままカタカナに翻訳しただけのもののため、なじまない方もおられるかも知れませんが、その点だけ、ご了承いただければと思います。