SDXFrameWork  0.13
SDXFrameWork
 All Classes Namespaces Functions Variables Enumerations Enumerator Pages
Public Member Functions | Friends | List of all members
SDX::Film Class Reference

ImagePackにコマ毎の再生時間を追加したクラス. More...

#include <Film.h>

Inherits SDX::ImagePack.

Public Member Functions

 Film (const char *ファイル名, int 総コマ数, int コマ割り横, int コマ割り縦, int 1コマの再生時間=1)
 画像ファイルを分割してメモリへ読み込む. More...
 
 Film (const char *ファイル名, const char *拡張子, int 総コマ数, int 1コマの再生時間=1, const char *書式="%03d.")
 連番ファイルを一括して読み込む. More...
 
bool Load (const char *ファイル名, int 総コマ数, int コマ割り横, int コマ割り縦, int 1コマの再生時間=1)
 画像ファイルを分割してメモリへ読み込む. More...
 
bool Load (const char *ファイル名, const char *拡張子, int 総コマ数, int 1コマの再生時間=1, const char *書式="%03d.")
 連番ファイルを一括して読み込む. More...
 
void Add (Image *追加イメージ, int 再生フレーム数=1)
 末尾にImageを追加する. More...
 
void Add (const char *ファイル名, int 再生フレーム数=1)
 末尾にImageを追加する. More...
 
void Release () override
 Imageを開放し初期化する. More...
 
void SetFrameTime (const std::vector< int > &フレーム時間)
 各コマのフレーム数を設定する. More...
 
void SetType (FilmType 再生方法)
 全体の再生方法を指定する. More...
 
void SetType (int コマ番号, int 次フレーム)
 指定コマの次フレームを設定する. More...
 
void SetType (int コマ番号, NextFrame 次フレーム)
 指定コマの次フレームを設定する. More...
 
int GetAnimeTime () const
 全コマの合計フレーム時間を返す. More...
 
- Public Member Functions inherited from SDX::ImagePack
 ImagePack (const char *ファイル名, int 総コマ数, int コマ割り横, int コマ割り縦)
 1つの画像を分割して読み込む. More...
 
 ImagePack (const char *ファイル名, const char *拡張子, int 総コマ数, const char *書式="%03d.")
 連番ファイルを一括して読み込む. More...
 
bool Load (const char *ファイル名, int 総コマ数, int コマ割り横, int コマ割り縦)
 1つの画像を分割して読み込む. More...
 
bool Load (const char *ファイル名, const char *拡張子, int 総コマ数, const char *書式="%03d.")
 連番ファイルを一括して読み込む. More...
 
bool LoadTmx (const char *tmxファイル名)
 tmxファイルのタイルセット情報を元に画像を読み込む. More...
 
void Add (Image *追加イメージ)
 Imageを末尾に追加. More...
 
void Add (const char *ファイル名)
 Imageを末尾に追加. More...
 
int GetSize () const
 要素数を取得. More...
 
int GetWidth () const
 最大幅を取得. More...
 
int GetHeight () const
 最大高さを取得. More...
 
void SetColor (const Color &描画色)
 描画色をまとめて変更. More...
 
void AdjustWidth (std::vector< int > 幅)
 先頭からimageの幅を差分修正. More...
 
Imageoperator[] (int index)
 オペレータ. More...
 
Imageoperator[] (int index) const
 オペレータ. More...
 
auto begin () -> decltype(imageS.begin())
 イテレータ用. More...
 
auto end () -> decltype(imageS.end())
 イテレータ用. More...
 
auto begin () const -> decltype(imageS.begin())
 イテレータ用. More...
 
auto end () const -> decltype(imageS.end())
 イテレータ用. More...
 

Friends

class Anime
 

Additional Inherited Members

- Protected Attributes inherited from SDX::ImagePack
std::vector< Image * > imageS
 保持するImage
 
int widthMax = 0
 最大幅
 
int heightMax = 0
 最大高さ
 

Detailed Description

ImagePackにコマ毎の再生時間を追加したクラス.

Todo:
リソース解放周り色々未実装
//Copyright © 2014 SDXFramework
//[License]GNU Affero General Public License, version 3
//[Contact]http://sourceforge.jp/projects/dxframework/
//画像をアニメーションさせる
bool SampleAnime()
{
using namespace SDX;
System::Initialise("sample", 640, 480);
//画像を分割して読み込む
Film filmA("data/number.png", 10, 10, 1,60 );
Film filmB("data/hone.png", 12, 3, 4, 10);
Film filmC("data/icon","png",10,12);
//アニメーション
Anime animeA(&filmA);
Anime animeB(&filmB);
Anime animeC(&filmC);
//カウントアップ後カウントダウン
filmA.SetType(FilmType::Reverse);
//最後のコマで停止する
filmB.SetType(FilmType::End);
//各コマの再生時間を設定する
filmC.SetFrameTime({1,2,3,4,5,6,7,8,9,10});
while (System::Update())
{
animeA.Update();
animeB.Update();
animeC.Update();
animeA.DrawExtend({ 200, 240 ,30,40});
animeB.Draw({ 300, 240 });
animeC.Draw({ 400, 240 });
if (Input::key.Return.on){ break;}//Enterで終了
}
return true;
}

Constructor & Destructor Documentation

SDX::Film::Film ( const char *  ファイル名,
int  総コマ数,
int  コマ割り横,
int  コマ割り縦,
int  1コマの再生時間 = 1 
)
inline

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

SDX::Film::Film ( const char *  ファイル名,
const char *  拡張子,
int  総コマ数,
int  1コマの再生時間 = 1,
const char *  書式 = "%03d." 
)
inline

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

Member Function Documentation

bool SDX::Film::Load ( const char *  ファイル名,
int  総コマ数,
int  コマ割り横,
int  コマ割り縦,
int  1コマの再生時間 = 1 
)
inline

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

bool SDX::Film::Load ( const char *  ファイル名,
const char *  拡張子,
int  総コマ数,
int  1コマの再生時間 = 1,
const char *  書式 = "%03d." 
)
inline

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

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

末尾にImageを追加する.

void SDX::Film::Add ( const char *  ファイル名,
int  再生フレーム数 = 1 
)
inline

末尾にImageを追加する.

void SDX::Film::Release ( )
inlineoverridevirtual

Imageを開放し初期化する.

Reimplemented from SDX::ImagePack.

void SDX::Film::SetFrameTime ( const std::vector< int > &  フレーム時間)
inline

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

void SDX::Film::SetType ( FilmType  再生方法)
inline

全体の再生方法を指定する.

初期は全コマNextFrame

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

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

初期は全コマNextFrame

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

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

初期は全コマNextFrame

int SDX::Film::GetAnimeTime ( ) const
inline

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