1 #pragma once//©SDXFramework http://sourceforge.jp/projects/dxframework/
2 #include <Multimedia/SDX.h>
3 #include <Multimedia/Image.h>
4 #include <Framework/ImagePack.h>
31 std::vector<unsigned int> times;
32 std::vector<int> nexts;
53 if( timer > anime->times[frameNumber] )
55 timer -= anime->times[frameNumber];
56 switch ( anime->nexts[frameNumber] )
59 frameNumber += direct;
63 frameNumber += direct;
67 frameNumber += direct;
73 frameNumber = anime->nexts[frameNumber];
77 if ((
unsigned int)frameNumber >= anime->images.size()) frameNumber = 0;
78 if (frameNumber < 0) frameNumber = (int)anime->images.size() - 1;
87 return anime[0][frameNumber];
93 this->frameNumber = コマ数;
100 Anime(
const char *ファイル名,
int 総コマ数,
int コマ割り横,
int コマ割り縦,
int 再生フレーム数 = 1) :
101 ImagePack( ファイル名 , 総コマ数 ,コマ割り横 , コマ割り縦)
103 for(
unsigned int a=0; a<times.size() ; ++a )
105 times.push_back(再生フレーム数);
111 bool Load(
const char *ファイル名,
int 総コマ数,
int コマ割り横,
int コマ割り縦,
int 再生フレーム数 = 1)
115 for(
int a=0 ; a<総コマ数 ; ++a)
117 times.push_back(再生フレーム数);
125 bool Load(
const char* ファイル名,
const char *拡張子,
int 総コマ数,
int 再生フレーム数 = 1)
127 for(
int a=0 ; a<総コマ数 ; ++a)
130 sprintf_s( fileBuf , 8 ,
"%03d." , a );
131 std::string fileName = ファイル名;
135 this->
Add(
new Image(fileName.c_str()), 再生フレーム数);
145 times.push_back(再生フレーム数);
148 void Add(
const char *ファイル名,
int 再生フレーム数 = 1)
165 for(
unsigned int a=0 ; a< times.size() ; ++a )
167 times[a] = フレーム時間[a];
196 nexts[コマ番号] = (int)次フレーム;
204 for(
auto it : times )
212 Image* operator[](
int index)
const
214 return images[index];
virtual void Release()
Imageをメモリから開放.
Definition: ImagePack.h:90
void SetType(int コマ番号, int 次フレーム)
指定コマの次フレームを設定する.
Definition: Anime.h:190
bool Load(const char *ファイル名, int 総コマ数, int コマ割り横, int コマ割り縦, int 再生フレーム数=1)
画像ファイルを分割してメモリへ読み込む.
Definition: Anime.h:111
int GetAnimeTime() const
全コマの合計フレーム時間を返す.
Definition: Anime.h:200
void Release() override
Imageを開放し初期化する.
Definition: Anime.h:154
NextFrame
次コマの移動先.
Definition: Anime.h:10
void SetType(AnimeType 再生方法)
アニメの再生方法を指定する.
Definition: Anime.h:172
画像データを表すクラス.
Definition: Image.h:38
bool Load(const char *ファイル名, int 総コマ数, int コマ割り横, int コマ割り縦)
1つの画像を分割して読み込む.
Definition: ImagePack.h:34
void SetFrameTime(int フレーム時間[])
各コマのフレーム数を設定する.
Definition: Anime.h:163
AnimeType
アニメの再生方法.
Definition: Anime.h:19
void SetFrame(int コマ数)
コマの位置を設定.
Definition: Anime.h:91
void Add(Image *追加イメージ, int 再生フレーム数=1)
末尾にImageを追加する。.
Definition: Anime.h:142
Imageをまとめてコマ送りアニメとして表すクラス.
Definition: Anime.h:28
bool Update(double 経過フレーム=1)
カウンタの更新.
Definition: Anime.h:49
Animeの再生情報を管理するクラス.
Definition: Anime.h:35
複数のImageをまとめるクラス.
Definition: ImagePack.h:9
void Add(Image *追加イメージ)
Imageを末尾に追加.
Definition: ImagePack.h:78
bool Load(const char *ファイル名, const char *拡張子, int 総コマ数, int 再生フレーム数=1)
連番ファイルを一括して読み込む.
Definition: Anime.h:125
Image * GetFrame()
現在のコマ番号を取得.
Definition: Anime.h:85