sprite.h

来自「一个symbian上成熟的小游戏源码」· C头文件 代码 · 共 46 行

H
46
字号
#ifndef _H_CSPRITE_
#define _H_CSPRITE_

#include <e32base.h>
#include <e32std.h>
#include "Layer.h"
#include "Sequence.h"

namespace gamespace
{
/************************************************************************/
/*保存内容为帧索引的序列,画序列中的当前帧, 精灵帧索引from 0*/ 
/************************************************************************/

class CSprite : public CLayer
{
protected:
	CSequence* iSequence;//基本序列

protected:
	CSprite();
	void ConstructL(CFbsBitmap* aBmp,CFbsBitmap* aBmpMask,TInt iCellWidth=0,TInt iCellHeight=0);
	~CSprite();

public:
	static CSprite* NewL(CFbsBitmap* aBmp,CFbsBitmap* aBmpMask,TInt iCellWidth=0,TInt iCellHeight=0);
	static CSprite* NewLC(CFbsBitmap* aBmp,CFbsBitmap* aBmpMask,TInt iCellWidth=0,TInt iCellHeight=0);

	//设置图片源,并设置了默认序列为顺序的所有的帧
	void SetSource(CFbsBitmap* aBmp,CFbsBitmap* aBmpMask,TInt iCellWidth=0,TInt iCellHeight=0);

	//设置序列
	void SetSequence(TInt* aPSequence,TInt aSequenceLength,TInt* aPDelays=NULL);
	void SetSequence(CSequence* aSequence);

	void SetCurrentFrame(TInt aSequenceIndex);
	void PrevFrame();
	void NextFrame();
	void Draw(CBitmapContext& aGc) const;

protected:
	void Draw(TInt frameIndex,CBitmapContext& aGc) const;//直接指定帧索引,绘制。
};

}
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?