SDXFrameWork 0.10 SDXFrameWork

- Main Page
- Related Pages
- Classes

- Class List
- Class Hierarchy
- Class Members

All Classes Namespaces Functions Variables Enumerations Enumerator Pages
Public Member Functions | Protected Attributes | 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...
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 | begin () const -> decltype(imageS.begin())
| イテレータ用. More...
auto | end () -> decltype(imageS.end())
| イテレータ用. More...
auto | end () const -> decltype(imageS.end())
| イテレータ用. More...

## Protected Attributes
std::vector< Image * > | imageS
| 保持するImage
int | widthMax = 0
| 最大幅
int | heightMax = 0
| 最大高さ

## Friends
class | Anime

## 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`
| ) |  |

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

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

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

## Member Function Documentation

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

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

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

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

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

末尾にImageを追加する.

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

末尾にImageを追加する.

void SDX::Film::Release | ( |  | ) |
| override virtual

Imageを開放し初期化する.

Reimplemented from SDX::ImagePack.

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

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

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

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

初期は全コマNextFrame

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

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

初期は全コマNextFrame

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

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

初期は全コマNextFrame

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

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

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

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

総コマ数=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を末尾に追加.

void SDX::ImagePack::Add | ( | const char * | ファイル名 | ) |
| inherited

Imageを末尾に追加.

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

要素数を取得.

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

最大幅を取得.

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

最大高さを取得.

void SDX::ImagePack::SetColor | ( | const Color & | 描画色 | ) |
| inherited

描画色をまとめて変更.

void SDX::ImagePack::AdjustWidth | ( | std::vector< int > | 幅 | ) |
| inherited

先頭からimageの幅を差分修正.

BMPフォント用の画像を文字幅を調整する時に使う 分割読み込み時

Image* SDX::ImagePack::operator[] | ( | int | index | ) |
| inherited

オペレータ.

Image* SDX::ImagePack::operator[] | ( | int | index | ) | const
| inherited

オペレータ.

auto SDX::ImagePack::begin | ( |  | ) | -> decltype(imageS.begin())
| inherited

イテレータ用.

auto SDX::ImagePack::begin | ( |  | ) | const -> decltype(imageS.begin())
| inherited

イテレータ用.

auto SDX::ImagePack::end | ( |  | ) | -> decltype(imageS.end())
| inherited

イテレータ用.

auto SDX::ImagePack::end | ( |  | ) | const -> decltype(imageS.end())
| inherited

イテレータ用.