游戏开发论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: draculamx

如何处理在绘制函数中必须使用的这9个参数。。。。

[复制链接]

21

主题

112

帖子

118

积分

注册会员

Rank: 2

积分
118
 楼主| 发表于 2009-3-13 17:05:00 | 显示全部楼层

Re:如何处理在绘制函数中必须使用的这9个参数。。。。

明白了。。。
实际上也就是你在最开始说的“重载”~~~~~~~

比如,现在我要封装SPRITE,那么可以重载两个 DRAW 函数
1.大多数 SPRITE 绘制的时候,只关心 2D 坐标的 X,Y,不需要进行旋转和缩放等操作(基本操作)
Draw(LPDIRECT3DTEXTURE9 pTexture,
     const RECT *rctInTexture,
     const D3DXVECTOR3*
     vpPosition,
     const unsigned int alpha);
2.有个别 SPRITE 需要进行旋转和缩放(高级操作)
Draw(LPDIRECT3DTEXTURE9 pTexture,
     const RECT *rctInTexture,
     const D3DXMATRIX* mtxWorld,
     const unsigned int alpha);

这样的话,的确是实现了你说的,恩。。。。又学了点东西。。哈哈

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2009-3-14 15:05:00 | 显示全部楼层

Re:如何处理在绘制函数中必须使用的这9个参数。。。。

struct SMTrans
{
    float X;
    float Y;
    float Z;
}
struct SMRotate
{
    float X;
    float Y;
    float Z;
}
struct SMZoom
{
    float X;
    float Y;
    float Z;
};

这样吗?
qrli

19

主题

638

帖子

638

积分

高级会员

Rank: 4

积分
638
发表于 2009-3-14 16:21:00 | 显示全部楼层

Re: Re:如何处理在绘制函数中必须使用的这9个参数。。。。

snhun: Re:如何处理在绘制函数中必须使用的这9个参数。。。。

struct SMTrans
{
    float X;
    float Y;
    float Z;
}
struct SMRotate
{
    float X;
  ...


为什么要那么罗嗦呢,一个Vector3类型足够了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-20 03:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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