ZEngine Demo 4 - ZGif 初级使用



easycker
2010-11-10 12:16:31

[i=s] 本帖最后由 easycker 于 2010-11-11 10:47 编辑 [/i]

ZGif:gif静态图片 和 gif动画

一、基本使用
Game.h:[code]
#ifndef _GAME_H
#define _GAME_H

#include "ZGame.h"

class Game : public ZGame
{
public:
Game(){}
~Game(){}

void GameInitial();
void GameCircle();
void GameDrawScene();
void GameButtonDown(int nKeyNumber);
void GameButtonUp(int nKeyNumber);
void GameEnd();

private:
ZGif *m_gif; //(1)定义gif对象
};

#endif
[/code]Game.cpp:[code]
//游戏入口类

#include "Game.h"

//游戏初始化
void Game::GameInitial()
{
//(2)加载
m_gif = new ZGif();

m_gif->Load("./image/simple.gif");
}


//游戏循环
void Game::GameCircle()
{

}

//游戏绘图
void Game::GameDrawScene()
{
//(3)显示
m_gif->Show();
}

//按下按键
void Game::GameButtonDown(int nKeyNumber)
{

}

//弹起按键
void Game::GameButtonUp(int nKeyNumber)
{

}

//游戏结束
void Game::GameEnd()
{
Quit();
}

[/code][attach]16684[/attach]

二、变形

Game.h:[code]
#ifndef _GAME_H
#define _GAME_H

#include "ZGame.h"

class Game : public ZGame
{
public:
Game(){}
~Game(){}

void GameInitial();
void GameCircle();
void GameDrawScene();
void GameButtonDown(int nKeyNumber);
void GameButtonUp(int nKeyNumber);
void GameEnd();

private:
ZGif *m_gif; //(1)定义gif对象
};

#endif
[/code]Game.cpp:[code]
//游戏入口类

#include "Game.h"

//游戏初始化
void Game::GameInitial()
{
//(2)加载
m_gif = new ZGif();

m_gif->Load("./image/simple.gif");
}


//游戏循环
void Game::GameCircle()
{

}

//游戏绘图
void Game::GameDrawScene()
{
//(3)显示 ZImage ZFont都可以像下面那样,用一个对象来显示多次,这样就不用多次加载,同时省了内存
//ZImage ZFont ZGif的Show函数用法基本都是一样的
m_gif->Show();
m_gif->Show(100,200); //左上角坐标100,200
m_gif->Show((float)m_gif->GetGifDescP()->gif_w/2, 0, //原图片的宽度w的1/2处开始显示
(float)m_gif->GetGifDescP()->gif_w, (float)m_gif->GetGifDescP()->gif_h, //保持原图片的大小
160,20,1,1,0,ZImage::RGBA(255,255,255,255)); //显示位置160,20.保持原来比例1,1.颜色遮罩,无
m_gif->Show(0,0,(float)m_gif->GetGifDescP()->gif_w, (float)m_gif->GetGifDescP()->gif_h, //保持原来大小
0,0,200,200,ZImage::RGBA(255,255,255,128)); //强制拉宽度和高度为200,200. 半透明颜色遮罩
}

//按下按键
void Game::GameButtonDown(int nKeyNumber)
{

}

//弹起按键
void Game::GameButtonUp(int nKeyNumber)
{

}

//游戏结束
void Game::GameEnd()
{
Quit();
}

[/code][attach]16708[/attach]


boy545003571
2010-11-10 13:07:02

收藏教程~~