游戏开发论坛

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

如何取得一个图形在屏幕内的RECT

[复制链接]

6

主题

34

帖子

36

积分

注册会员

Rank: 2

积分
36
QQ
发表于 2004-4-15 10:50:00 | 显示全部楼层 |阅读模式
如何取得一个图形在屏幕内的RECT
DX提供不提供这样的方法?

比如飞机的一半在屏幕内,另外一半在屏幕外,我绘制的时候就只绘制他在屏幕内的部分,所以要取得在屏幕内的RECT,我现在是逐个边进行判断,很麻烦:
//下方出屏幕
                                if (x+scrRect.Right-scrRect.Left<CConst.C_SCREENWIDTH && y+scrRect.Bottom-scrRect.Top>CConst.C_SCREENHEIGHT)        {
                                        drawRect.Bottom=CConst.C_SCREENHEIGHT-y;
                                }
                                //右方出屏幕
。。。(省略)
[em7]

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20527
发表于 2004-4-15 11:01:00 | 显示全部楼层

Re:如何取得一个图形在屏幕内的RECT

在DDraw里面,这个就需要我们自己来处理,如果RECT计算出错就无法正常显示。
如果在D3D中就没这个问题。

6

主题

34

帖子

36

积分

注册会员

Rank: 2

积分
36
QQ
 楼主| 发表于 2004-4-15 11:31:00 | 显示全部楼层

Re:如何取得一个图形在屏幕内的RECT

严重需要D3D怎么写2D程序的教程和示例。。。

21

主题

109

帖子

109

积分

注册会员

Rank: 2

积分
109
发表于 2004-4-16 13:52:00 | 显示全部楼层

Re:如何取得一个图形在屏幕内的RECT

论坛的ftp上有一本能满足你,你找找吧,好像叫什么 2d in 3d

6

主题

34

帖子

36

积分

注册会员

Rank: 2

积分
36
QQ
 楼主| 发表于 2004-4-16 15:14:00 | 显示全部楼层

Re:如何取得一个图形在屏幕内的RECT

谢谢,下载中,不知道能不能看懂,好像是英文的

6

主题

40

帖子

58

积分

注册会员

Rank: 2

积分
58
发表于 2004-4-18 15:08:00 | 显示全部楼层

Re:如何取得一个图形在屏幕内的RECT

简单的来说屏幕是一个四边形A,你绘制的图象也是一个四边形B

绘制时先判断B是否在A中,不在就不用绘制了,然后判断B与A的重叠,产生一个新的四边形,新的四边形可能与B是相同的。新的四边形就是你需要绘制的图象的部分了

计算可以参考《多边形裁剪》在一般计算机图形学的书中都有
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-30 07:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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