|
发表于 2005-4-22 15:04:00
|
显示全部楼层
Re:能不能提供一个 动画的例子,比如移动的人物
Samples\Graphics\2D\General
这个例子里,四个角上的图片是动画,可以看一下.
以BMP为例.
1.如果有一组用来放动画的图片.
pic001.bmp
pic002.bmp
pic003.bmp
把这3张BMP图片打在一个ZIP包里,名字为bmp.zip.
(文件路径自己设定)
2.在初始化的地方加以下代码
// 打开ZIP文件
LP_FILE_PACKAGE pAnimationBMPZip = CreateFilePackage("bmp.zip");
// 创建BMP动画
// 第一个参数应该是ZIP包里的BMP图象文件名相同的部分,比如pic001,pic002,pic003,那么这个地方就写pic
// 第二个参数是上面打开的ZIP包文件句柄
// 返回一个LP_BITMAPX类型指针
LP_BITMAPX g_pAnimationBMP = GetGraphics()->CreateAnimationFromBMP("pic", pAnimationBMPZip);
// 设置动画播放速度
g_pAnimationBMP->SetSpeed(2);
// 设置 COLOR KEY, 就是图片上哪个颜色透明
// RGB2Hi(r, g, b)是HoHo里的,用法和RGB(r, g, b)一样
g_pAnimationBMP->SetColorKey(RGB2Hi(0, 0, 0));
3.播放循环段中加入以下代码.
// 播放动画
g_pAnimationBMP-> layAnimation();
// 设置动画位置
// 动画左上角X坐标, 动画左上角Y坐标, 源图象LP_BITMAPX指针, 目的指针(SCREENBUFFER估计是HoHo定义的指向后备缓存的指针), 是否使用COLOR KEY
GetGraphics()->DrawAnimation(0, 0, g_pAnimationBMP, SCREENBUFFER, true);
4.要让动画动起来,可以不断改变左上角X,Y的直. |
|