SDXFrameWork  0.09
SDXFrameWork
 All Classes Namespaces Functions Variables Enumerations Enumerator Pages
Classes | Public Member Functions | Protected Attributes | List of all members
SDX::Anime Class Reference

Imageをまとめてコマ送りアニメとして表すクラス. More...

#include <Anime.h>

Inherits SDX::ImagePack.

Classes

class  Player
 Animeの再生情報を管理するクラス. More...
 

Public Member Functions

 Anime (const char *ファイル名, int 総コマ数, int コマ割り横, int コマ割り縦, int 再生フレーム数=1)
 
bool Load (const char *ファイル名, int 総コマ数, int コマ割り横, int コマ割り縦, int 再生フレーム数=1)
 画像ファイルを分割してメモリへ読み込む. More...
 
bool Load (const char *ファイル名, const char *拡張子, int 総コマ数, int 再生フレーム数=1)
 連番ファイルを一括して読み込む. More...
 
void Add (Image *追加イメージ, int 再生フレーム数=1)
 末尾にImageを追加する。. More...
 
void Add (const char *ファイル名, int 再生フレーム数=1)
 
void Release () override
 Imageを開放し初期化する. More...
 
void SetFrameTime (int フレーム時間[])
 各コマのフレーム数を設定する. More...
 
void SetType (AnimeType 再生方法)
 アニメの再生方法を指定する. More...
 
void SetType (int コマ番号, int 次フレーム)
 指定コマの次フレームを設定する. More...
 
void SetType (int コマ番号, NextFrame 次フレーム)
 
int GetAnimeTime () const
 全コマの合計フレーム時間を返す. More...
 
Imageoperator[] (int index) const
 
bool Load (const char *ファイル名, int 総コマ数, int コマ割り横, int コマ割り縦)
 1つの画像を分割して読み込む. More...
 
bool Load (const char *ファイル名, const char *拡張子, int 総コマ数, const char *書式="%03d.")
 連番ファイルを一括して読み込む. More...
 
void Add (Image *追加イメージ)
 Imageを末尾に追加. More...
 
void Add (const char *ファイル名)
 
int GetSize () const
 要素数を取得. More...
 
int GetWidth () const
 最大幅を取得. More...
 
int GetHeight () const
 最大高さを取得. More...
 
Imageoperator[] (int index)
 

Protected Attributes

std::vector< Image * > images
 
int widthMax
 
int heightMax
 

Detailed Description

Imageをまとめてコマ送りアニメとして表すクラス.

//©SDXFramework http://sourceforge.jp/projects/dxframework/
//🍣画像をアニメーションさせる
bool SampleAnime()
{
using namespace SDX;
System::Initialise("sample", 600, 400);
//画像を分割して読み込む
Anime animeA = Anime("image.bmp", 9, 3, 3, 5);
Anime animeB = Anime("image.bmp", 9, 3, 3, 5);
//アニメーション
Anime::Player countA(&animeA);
Anime::Player countB(&animeB);
//各コマの再生時間を設定する
int frames[9] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
animeB.SetFrameTime( frames );
while (System::Update())
{
countA.Update();
countB.Update();
countA.GetFrame()->Draw({ 10, 10 });
countB.GetFrame()->Draw({100, 10});
if (Input::key.Return.on) break;//Enterで終了
}
return true;
}

Member Function Documentation

bool SDX::Anime::Load ( const char *  ファイル名,
int  総コマ数,
int  コマ割り横,
int  コマ割り縦,
int  再生フレーム数 = 1 
)

画像ファイルを分割してメモリへ読み込む.

bool SDX::Anime::Load ( const char *  ファイル名,
const char *  拡張子,
int  総コマ数,
int  再生フレーム数 = 1 
)

連番ファイルを一括して読み込む.

void SDX::Anime::Add ( Image 追加イメージ,
int  再生フレーム数 = 1 
)

末尾にImageを追加する。.

void SDX::Anime::Release ( )
overridevirtual

Imageを開放し初期化する.

Reimplemented from SDX::ImagePack.

void SDX::Anime::SetFrameTime ( int  フレーム時間[])

各コマのフレーム数を設定する.

先頭コマのフレーム数を配列で渡す

void SDX::Anime::SetType ( AnimeType  再生方法)

アニメの再生方法を指定する.

void SDX::Anime::SetType ( int  コマ番号,
int  次フレーム 
)

指定コマの次フレームを設定する.

int SDX::Anime::GetAnimeTime ( ) const

全コマの合計フレーム時間を返す.

bool SDX::ImagePack::Load ( const char *  ファイル名,
int  総コマ数,
int  コマ割り横,
int  コマ割り縦 
)
inherited

1つの画像を分割して読み込む.

総コマ数=14,コマ割り横=4,コマ割り縦=4の場合
[ 0][ 1][ 2][ 3]
[ 4][ 5][ 6][ 7]
[ 8][ 9][10][11]
[12][13][ ][ ]
のように分割して、ImagePackのサイズは14になる

bool SDX::ImagePack::Load ( const char *  ファイル名,
const char *  拡張子,
int  総コマ数,
const char *  書式 = "%03d." 
)
inherited

連番ファイルを一括して読み込む.

ファイル名の後に三桁の連番が付いたファイルを連続して読み込む
例:「ファイル名***.拡張子」

void SDX::ImagePack::Add ( Image 追加イメージ)
inherited

Imageを末尾に追加.

int SDX::ImagePack::GetSize ( ) const
inherited

要素数を取得.

int SDX::ImagePack::GetWidth ( ) const
inherited

最大幅を取得.

int SDX::ImagePack::GetHeight ( ) const
inherited

最大高さを取得.