表示するサンプルコードの言語を指定できます。
画像パッケージ (ImagePackage)
概要
画像パッケージを定義します。画像パッケージは複数の画像を1つのファイルに格納したフォーマットです。画像だけでなくその画像の名称や画像パッケージに変換される前のファイル、例えばPSDといったファイルで画像が配置されていた位置の情報も格納されています。元々画像が配置されていた位置に画像が描画されるようにプログラムを組むことで、画像編集ソフトで配置を決めてプログラムで画像を表示ができます。つまり、画像編集ソフトでユーザーインターフェースの配置を設定できるようになります。
現在、画像パッケージはImagePackageGeneratorを用いてPSDファイルから生成できます。そのツールを用いて生成されたファイルはグラフィックスクラス(Graphics)のCreateImagePackage関数を用いて読み込めます。
画像パッケージのファイル(.aip)を生成するには画像パッケージジェネレーターツールを使用します。 詳しくは、画像パッケージジェネレーターの項目をご覧ください。
主なメソッド
なし
主なプロパティ
なし
主なイベント
なし
使用方法
画像パッケージから画像を読み込み、配置するサンプルです。
C++
#include <Altseed.h>
// ImagePackageを用いてUIを配置するサンプル。
int main()
{
// Altseedを初期化する。
asd::Engine::Initialize(asd::ToAString("ImagePackageUI_Basic").c_str(), 640, 480, asd::EngineOption());
// イメージパッケージを読み込む
auto imagePackage = asd::Engine::GetGraphics()->CreateImagePackage(asd::ToAString("Data/ImagePackage/UI.aip").c_str());
for (int i = 0; i < imagePackage->GetImageCount(); i++)
{
// テクスチャを取り出す
auto texture = imagePackage->GetImage(i);
auto area = imagePackage->GetImageArea(i);
// テクスチャをオブジェクトとして追加する
auto textureObject2D = std::make_shared<asd::TextureObject2D>();
textureObject2D->SetTexture(texture);
textureObject2D->SetPosition(asd::Vector2DF(area.X, area.Y));
asd::Engine::AddObject2D(textureObject2D);
}
// Altseedのウインドウが閉じられていないか確認する。
while (asd::Engine::DoEvents())
{
// Altseedを更新する。
asd::Engine::Update();
}
// Altseedの終了処理をする。
asd::Engine::Terminate();
return 0;
}
C#
/// <summary>
/// ImagePackageを用いてUIを配置するサンプル。
/// </summary>
class ImagePackageUI_Basic
{
public string Description
{
get { return "ImagePackageを用いてUIを配置するサンプルです。"; }
}
public string Title
{
get { return "ImagePackage"; }
}
public string ClassName
{
get { return "ImagePackageUI_Basic"; }
}
[System.STAThread]
static void Main(string[] args)
{
// Altseedを初期化する。
asd.Engine.Initialize("ImagePackageUI_Basic", 640, 480, new asd.EngineOption());
// イメージパッケージを読み込む
asd.ImagePackage imagePackage = asd.Engine.Graphics.CreateImagePackage("Data/ImagePackage/UI.aip");
for(int i = 0; i < imagePackage.ImageCount; i++)
{
// テクスチャを取り出す
asd.Texture2D texture = imagePackage.GetImage(i);
asd.RectI area = imagePackage.GetImageArea(i);
// テクスチャをオブジェクトとして追加する
asd.TextureObject2D textureObject2D = new asd.TextureObject2D();
textureObject2D.Texture = texture;
textureObject2D.Position = new asd.Vector2DF(area.X, area.Y);
asd.Engine.AddObject2D(textureObject2D);
}
// Altseedのウインドウが閉じられていないか確認する。
while (asd.Engine.DoEvents())
{
// Altseedを更新する。
asd.Engine.Update();
}
// Altseedの終了処理をする。
asd.Engine.Terminate();
}
}
Java
/**
* ImagePackageを用いてUIを配置するサンプル。
*/
class ImagePackageUI_Basic
{
public java.lang.String getDescription() {
return "ImagePackageを用いてUIを配置するサンプルです。";
}
public java.lang.String getTitle() {
return "ImagePackage";
}
public java.lang.String getClassName() {
return "ImagePackageUI_Basic";
}
public static void main(String args[])
{
// Altseedを初期化する。
asd.Engine.Initialize("ImagePackageUI_Basic", 640, 480, new asd.EngineOption());
// イメージパッケージを読み込む
asd.ImagePackage imagePackage = asd.Engine.getGraphics().CreateImagePackage("Data/ImagePackage/UI.aip");
for(int i = 0; (i < imagePackage.getImageCount()); i++)
{
// テクスチャを取り出す
asd.Texture2D texture = imagePackage.GetImage(i);
asd.RectI area = imagePackage.GetImageArea(i);
// テクスチャをオブジェクトとして追加する
asd.TextureObject2D textureObject2D = new asd.TextureObject2D();
textureObject2D.setTexture(texture);
textureObject2D.setPosition(new asd.Vector2DF(area.X, area.Y));
asd.Engine.AddObject2D(textureObject2D);
}
// Altseedのウインドウが閉じられていないか確認する。
while(asd.Engine.DoEvents())
{
// Altseedを更新する。
asd.Engine.Update();
}
// Altseedの終了処理をする。
asd.Engine.Terminate();
}
}