游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1755|回复: 4

ID3DXSprite的疑惑

[复制链接]

16

主题

23

帖子

23

积分

注册会员

Rank: 2

积分
23
发表于 2006-5-23 11:44:00 | 显示全部楼层 |阅读模式
本人用ID3DXSprite渲染图片,发现图片渲染的位置有偏移现象, 这是为什么呢(在全屏下不会偏移, 在窗口模式下会)
rect.left = rect.top = 0;
        rect.right = m_width;
        rect.bottom = m_height;

        D3DXMATRIX transform;
        D3DXMATRIX transform1;
       
        if ( (m_rotation[1] != 0) || (m_rotation[2] != 0) || (m_rotation[3] != 0) || (m_rotation[0] != 0) )
        {
                D3DXMatrixTranslation( &transform, -m_width/2.0f, -m_height/2.0f, 0 );
                D3DXMatrixRotationQuaternion( &transform1, &m_rotation );

                transform *= transform1;

                D3DXMatrixTranslation( &transform1, m_width/2.0f, m_height/2.0f, 0 );

                transform *= transform1;
        }
        else
        {
                D3DXMatrixIdentity( &transform );
        }

        D3DXMatrixTranslation( &transform1, m_position.x, m_position.y, 0 );
        transform *= transform1;

        DX9_DRIVER.getSprite()->Begin( D3DXSPRITE_ALPHABLEND );
        DX9_DRIVER.getSprite()->SetTransform( &transform );
        hr = DX9_DRIVER.getSprite()->Draw( m_pTexture, &rect, NULL, NULL, m_keycolor );
        DX9_DRIVER.getSprite()->End();

0

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2006-5-24 16:51:00 | 显示全部楼层

Re: ID3DXSprite的疑惑

我的想法是: 窗口的高度中计算了标题栏的高度,所以导致偏移。

72

主题

447

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
QQ
发表于 2006-5-26 10:28:00 | 显示全部楼层

Re:ID3DXSprite的疑惑

这里讨论2D的东西比较多
http://www.dingge.com/forum/index.asp?boardid=46

16

主题

23

帖子

23

积分

注册会员

Rank: 2

积分
23
 楼主| 发表于 2006-5-26 11:25:00 | 显示全部楼层

Re:ID3DXSprite的疑惑

Re: ID3DXSprite的疑惑

我的想法是: 窗口的高度中计算了标题栏的高度,所以导致偏移。

那如何解决呢

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2006-5-26 12:24:00 | 显示全部楼层

Re:ID3DXSprite的疑惑

RECT rt;
SetRect(&rt,0,0,width,height);
DWORD dwStyle;
dwStyle = WS_BORDER|WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|...;

AdjustWindowRect(&rt,dwStyle,FALSE); //这个函数

hWnd = CreateWindow(szWindowClass,szTitle,dwStyle,
        left,top,
        (rt.right-rt.left), (rt.bottom-rt.top),
        NULL, NULL, hInst, NULL);
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-24 14:08

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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