游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2092|回复: 2

D3D 贴图问题 怎么加载多个图片形成动画

[复制链接]

8

主题

33

帖子

35

积分

注册会员

Rank: 2

积分
35
发表于 2011-7-12 16:39:00 | 显示全部楼层 |阅读模式
LPDIRECT3DTEXTURE9 LoadTexture(string filename, D3DCOLOR transcolor = D3DCOLOR_XRGB(0,0,0));
void Sprite_Draw_Frame(LPDIRECT3DTEXTURE9 texture, int destx, int desty, int framenum, int framew, int frameh, int columns);

void DrawSurface(LPDIRECT3DSURFACE9 dest, float x, float y, LPDIRECT3DSURFACE9 source);
D3DXVECTOR2 GetBitmapSize(string filename);

void Sprite_Animate(int &frame, int startframe, int endframe, int direction, int &starttime, int delay);

LPDIRECT3DTEXTURE9 explosion = NULL; \\设备对象
explosion = LoadTexture("explosion_30_128.tga");\\加载图片
Sprite_Animate(frame, 0, 29, 1, starttime, 30);\\这是一个定时器 显示动画速度快慢的
Sprite_Draw_Frame(explosion, (long)x, (long)y, frame, 128, 128, 6); \\显示图片

现在这些代码是 加载一张图片 取里面的很多个小位图 遍历全部图片 形成动画的

我现在有个问题是 我的素材不在一张图片里 是有很多图片每张图片一针形成的动画 我现在该怎么加载 这么多的图片 然后像这样显示出动画 而且还能像上面可以控制速度
我试过用数组装载 可是不知道怎么显示  每次一显示只能显示出数组里存的一张图片 不能形成动画
哪位高手帮忙写写代码

77

主题

485

帖子

486

积分

中级会员

Rank: 3Rank: 3

积分
486
发表于 2011-7-12 17:40:00 | 显示全部楼层

Re:D3D 贴图问题 怎么加载多个图片形成动画

两种播放动画的方式,一种是用改变UV,一种是用材质数组.
这是两个是完全不同的算法.
可以写一个工具,把图片文件,放在一张大图里面再输出成文件.


77

主题

485

帖子

486

积分

中级会员

Rank: 3Rank: 3

积分
486
发表于 2011-7-12 17:41:00 | 显示全部楼层

Re:D3D 贴图问题 怎么加载多个图片形成动画

Draw Texture(i)
i=i+1
if i>Ubound(Texture) then i=0

这个可以用材质循环播放动画.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-8 10:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表