SDXFrameWork 0.12 SDXFrameWork

- Main Page
- Related Pages
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

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)
| 画像ファイルを分割してメモリへ読み込む. More...
| Film (const char *ファイル名, const char *拡張子, int 総コマ数, int １コマの再生時間=1, const char *書式="%03d.")
| 連番ファイルを一括して読み込む. More...
bool | Load (const char *ファイル名, int 総コマ数, int コマ割り横, int コマ割り縦, int １コマの再生時間=1)
| 画像ファイルを分割してメモリへ読み込む. More...
bool | Load (const char *ファイル名, const char *拡張子, int 総コマ数, int １コマの再生時間=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 コマ割り縦)
| １つの画像を分割して読み込む. More...
| ImagePack (const char *ファイル名, const char *拡張子, int 総コマ数, const char *書式="%03d.")
| 連番ファイルを一括して読み込む. More...
bool | Load (const char *ファイル名, int 総コマ数, int コマ割り横, int コマ割り縦)
| １つの画像を分割して読み込む. More...
bool | Load (const char *ファイル名, const char *拡張子, int 総コマ数, const char *書式="%03d.")
| 連番ファイルを一括して読み込む. 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...
Image * | operator[] (int index)
| オペレータ. More...
Image * | operator[] (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で終了
}
System::End();
return true;
}

## Constructor & Destructor Documentation

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

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

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

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

## Member Function Documentation

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

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

bool SDX::Film::Load | ( | const char * | ファイル名,
|  | const char * | 拡張子,
|  | int | 総コマ数,
|  | int | １コマの再生時間 = `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 | ( |  | ) |
| inline override virtual

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

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