游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3007|回复: 5

请教Directx编程初学者问题?

[复制链接]

34

主题

107

帖子

106

积分

注册会员

Rank: 2

积分
106
发表于 2003-10-23 09:22:00 | 显示全部楼层 |阅读模式
请问在directx中怎么实现把从做好的图片里面,每个不同的动作读取并显示出来?最好能给点代码做例子,谢谢。

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2003-10-23 10:00:00 | 显示全部楼层

Re:请教Directx编程初学者问题?

你要知道图片里每个动作的宽度。几个动作最好按顺序排好。
比如在4个动作,编成0号,1号,2号,3号。宽度为width。
整个载到一个Surface,设个变量state,然后改变state的值,blt的时候源区域矩形(假设为SrcRect)SrcRect.left = state*width
SrcRect.right = SrcRect.left+SrcRect.right

以上做法只是最简单的情况下用,我也是初学者。这是DirectDraw里的用法,不知道是不是过时了。毕竟DDraw和D3D已经捏到一起了。另外要传的块只有一部分在屏内时这么传也不行,宽度要改成适当的大小。

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20484
发表于 2003-10-23 10:01:00 | 显示全部楼层

Re:请教Directx编程初学者问题?

这个首先要看你图像如何组织的,如果是一张图里面有很多动作,那你可以根据动作图像区域大小来进行绘制,用DDraw的话,它可以支持带RECT参数的图像操作。还有一种是每个动作都是一张图片,只要循环播放图片就行了。

34

主题

107

帖子

106

积分

注册会员

Rank: 2

积分
106
 楼主| 发表于 2003-10-23 10:05:00 | 显示全部楼层

Re:请教Directx编程初学者问题?

我的确是用DDRAW做,图片动作也是放在一张图片里面。
具体用哪个函数能简单说说吗?谢谢了。

15

主题

109

帖子

109

积分

注册会员

Rank: 2

积分
109
QQ
发表于 2003-10-23 11:24:00 | 显示全部楼层

Re:请教Directx编程初学者问题?

可以将动作图片放到离屏缓冲区中,然后用Blt函数从离屏调到后备,过程中注意每个动作在图片中的Rect就可以了!即循环切调并且显示就可以了!

15

主题

109

帖子

109

积分

注册会员

Rank: 2

积分
109
QQ
发表于 2003-10-23 11:25:00 | 显示全部楼层

Re:请教Directx编程初学者问题?

可以将动作图片放到离屏缓冲区中,然后用Blt函数从离屏调到后备,过程中注意每个动作在图片中的Rect就可以了!即循环切调并且显示就可以了!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-4-19 15:07

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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