Yosin_Game/SpriteEx.h

73 lines
1.4 KiB
C
Raw Normal View History

2024-05-04 18:30:32 +08:00
#pragma once
#include <kiwano/kiwano.h>
using namespace kiwano;
//#include "kiwano/render/DirectX/NativePtr.h"
KGE_DECLARE_SMART_PTR(SpriteEx);
class SpriteEx : public Sprite
{
private:
//D2D1_INTERPOLATION_MODE INTERPOLATION_MODE = D2D1_INTERPOLATION_MODE_FORCE_DWORD;
//D2D1_COMPOSITE_MODE COMPOSITE_MODE = D2D1_COMPOSITE_MODE_FORCE_DWORD;
int MyModel = -1;
std::string TexturePtrName;
//<2F><>Ӱ<EFBFBD><D3B0><EFBFBD><EFBFBD>
SpriteExPtr ShadowObject = nullptr;
//<2F><><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
int OffsetTime = 0;
//<2F>ӳټ<D3B3><D9BC><EFBFBD>
std::vector<int> MyDelay;
//<2F>Ƿ<EFBFBD><C7B7>Dz<EFBFBD><C7B2>Ŷ<EFBFBD><C5B6><EFBFBD>
bool is_Animotion_Play = false;
//<2F><>ǰ֡<C7B0><D6A1>
int NowFrameIndex = 0;
//<2F><>֡<EFBFBD><D6A1>
int MaxFrameCount = 0;
//<2F>Ƿ<EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int MyLoop = -1;
public:
SpriteEx()
{
}
SpriteEx(TexturePtr texture)
{
SetFrame(SpriteFrame(texture));
}
SpriteEx(const std::string Path)
{
Load(Path);
}
SpriteEx(const std::string imgpath, const int frame);
//<2F><><EFBFBD><EFBFBD>NPK<50><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4BBAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void SetPosition(const Point& point)override;
//Ҫ<>ı<EFBFBD><C4B1><EFBFBD>Ӱ<EFBFBD><D3B0><EFBFBD><EFBFBD>
void SetScale(const Point& point)override;
void OnRender(RenderContext& ctx) override;
void SetMode(int Type) {
MyModel = Type;
}
//void OnUpdate(Duration dt) override;
void SetFrameInfo(std::vector<int> FrameDaley,const int Loop);
void SetAnimotionPlay(bool Type);
void SetAnimotionFrame(const int gFrame);
void SetShadow();
};