社区
游戏开发
帖子详情
用D3D做界面,只能创建一个主窗体,如果要实现那种主窗体弹对话框怎么办?弹出的对话框纹理怎么刷新?何时刷新?对话框的窗体处理函数怎么整?对话框怎么响应键盘与鼠标的输入?
xqhrs232
2009-05-11 10:28:33
用D3D做界面,只能创建一个主窗体,如果要实现那种主窗体弹对话框怎么办?弹出的对话框纹理怎么刷新?何时刷新?对话框的窗体处理函数怎么整?对话框怎么响应键盘与鼠标的输入?
...全文
176
22
打赏
收藏
用D3D做界面,只能创建一个主窗体,如果要实现那种主窗体弹对话框怎么办?弹出的对话框纹理怎么刷新?何时刷新?对话框的窗体处理函数怎么整?对话框怎么响应键盘与鼠标的输入?
用D3D做界面,只能创建一个主窗体,如果要实现那种主窗体弹对话框怎么办?弹出的对话框纹理怎么刷新?何时刷新?对话框的窗体处理函数怎么整?对话框怎么响应键盘与鼠标的输入?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xqhrs232
2009-09-18
打赏
举报
回复
想把MFC跟D3D结合起来一起用!!!
xqhrs232
2009-07-10
打赏
举报
回复
多窗口RENDER是不是都要用到SWAP CHAIN???
mmxpp
2009-07-10
打赏
举报
回复
mark
IONPhantom
2009-05-26
打赏
举报
回复
你还是没理解什么叫自己来,用DX做的界面,纹理就是界面,界面就是纹理,哪有切换阿,界面都是纹理贴图
xqhrs232
2009-05-26
打赏
举报
回复
那里有这种简单的多纹理做界面相互切换的例子?
IONPhantom
2009-05-23
打赏
举报
回复
CWnd是MFC的东西,和DX没关系.
DXUT其实已经算简单的了,你看看MFC有多复杂
xqhrs232
2009-05-23
打赏
举报
回复
点个区域换成其它的纹理,是不是先建立一个纹理系列,从图片加载好纹理,点了不同的地方就用加载好的纹理去刷屏面。
但怎么返回主纹理呢?所有的窗口/纹理公用一个窗口过程函数,它怎么处理这么多的操作?(进入下一级/返回上一级),纹理的层次他也没法知道-----不知道当前窗口显示的是主纹理还是子纹理。
//-------------------------------------------------------
很多东西搞不明白,MS的DXUT那套东西又太复杂了,那里有简单的例子?只是把这些原理示例一下就好的那种!
xqhrs232
2009-05-23
打赏
举报
回复
所有的控件是不是都要从CWND继承而来?
xqhrs232
2009-05-23
打赏
举报
回复
参考MS提供的DXUT类库来进行封装?
IONPhantom
2009-05-18
打赏
举报
回复
说白了如果你真做到软件级别的项目那肯定要自己包装出来一套类似MFC的东西,只不过是在DX下运行
火云洞红孩儿
2009-05-17
打赏
举报
回复
游戏中的UI是由最基本的画点,画线,画图,写字来构成的。
如果你能用D3D做到这些。那么可以来做一个简单的面板。
这个面板能画出边框,显示标题文字,并可以改变色彩等。
由此为基类。构建一系列基它的控件。
做个父子兄关系树来连接它们。由根节点将WINDOWS消息传入。逐一进行处理就OK了。
这就是游戏中UI系统的原理。
IONPhantom
2009-05-15
打赏
举报
回复
你的每一张图片都需要一个层次的属性,比如 int iLayer;
举例,这个iLayer等于0的时候在最上面,值越大越靠后
当然你也可以自己反过来设置,这都无所谓.
既然选择了D3D就选择了麻烦,这没办法.像这种Layer属性是最基本的
IONPhantom
2009-05-14
打赏
举报
回复
这正是你要解决的问题,在DX下不要妄想使用MFC或者GDI的那套东西.
这工作并不难只是烦而已,比如说当检测到鼠标按键消息,先要得到单击时候的鼠标位置,然后根据位置计算鼠标停留在哪张"对话框"的图片上,这样就知道是哪个"对话框"的消息了,然后根据消息ID执行对应的操作
xqhrs232
2009-05-14
打赏
举报
回复
还有就是图片都是一样的,那个在上面又怎么识别出来?
xqhrs232
2009-05-14
打赏
举报
回复
[Quote=引用 8 楼 P_hantom 的回复:]
谁在上面消息就是谁的
[/Quote]
这样很难区别,在同一个消息处理函数里面也不好处理.
xqhrs232
2009-05-14
打赏
举报
回复
[Quote=引用 3 楼 P_hantom 的回复:]
当然是一个消息处理,不然呢?窗口只有一个,里面的所谓对话框只是张图片罢了,根本不是实际的窗口,所有消息都要自己解析
[/Quote]
这样啊!这样真难懂啊!几个对话框的消息公用一个消息处理函数,怎么区别开来?
IONPhantom
2009-05-14
打赏
举报
回复
谁在上面消息就是谁的
xqhrs232
2009-05-14
打赏
举报
回复
几个对话框叠在一起怎么办?
xqhrs232
2009-05-14
打赏
举报
回复
[Quote=引用 5 楼 P_hantom 的回复:]
这正是你要解决的问题,在DX下不要妄想使用MFC或者GDI的那套东西.
这工作并不难只是烦而已,比如说当检测到鼠标按键消息,先要得到单击时候的鼠标位置,然后根据位置计算鼠标停留在哪张"对话框"的图片上,这样就知道是哪个"对话框"的消息了,然后根据消息ID执行对应的操作
[/Quote]
几个对话框叠在一起怎么办?
IONPhantom
2009-05-13
打赏
举报
回复
当然是一个消息处理,不然呢?窗口只有一个,里面的所谓对话框只是张图片罢了,根本不是实际的窗口,所有消息都要自己解析
加载更多回复(2)
Windows游戏编程系列之6:D
3D
编程基础及游戏开发实战
我将带领大家认真学习D
3D
的系列编程,从窗口开始,到GDI、到D
3D
、到三维场景、
纹理
映射、光照与材质、顶点与索引、Alpha混合、深度测试等。大家在学习中要多总结分析、遇到不会的问题要多问、多交流。具体的内容包括:D
3D
开发环境的搭建与配置、Windows窗口与消息、D
3D
编程基础、D
3D
的顶点缓存与索引缓存、 D
3D
三维世界之四大变换、D
3D
三维世界之光照与材质、D
3D
编程之
纹理
映射、D
3D
编程之Alpha混合技术、D
3D
编程之深度测试与Z缓存、D
3D
编程之三维粒子系统以及DirectInput
鼠标
与
键盘
等。
DirectX的安装与D
3D
的初始化
下载安装首先登陆Microsoft Download Center下载最新版本的DirectX SDK。http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=3021d52b-514e-41d3-ad02-438a3ba730ba按步骤安装安装完成后会发现VS2008里面已经设置好相关开发库的目录。开发D
3D
程序的一般步骤D
3D
对象在编写D
3D
程序时,D
3D
对象是 必须首先创建的对象。通过这个对象,可以去枚举、获
第五章 DirectX 光照,材质和
纹理
(下)
在计算机三维世界中,想要模拟出真实的物体,让它的表面看起来更加逼真,就需要使用“
纹理
映射”技术,简单讲就是一种将2D图像映射到
3D
物体上面。一般来说,
纹理
是表示物体表面细节的一幅或多幅2D图像,也称为
纹理
贴图。当我们把
纹理
贴图按照特定方式映射到物体表面上的时候,能够使得物体看上去更加逼近现实。其实,我们可以把
纹理
看
做
应用到物体表面上的像素颜色即可。 Direct
3D
纹理
贴图支持多个格式的图像,包括.jpg,.bmp,.dds,.png等等,并且图像的尺寸一般都是边长为2的N次幂正方形图片,比如128*
第六章 DirectX 2D游戏和帧动画(下)
在2D游戏的实际开发中,很多人还是不怎么使用上面的精灵类,他们仍然坚持使用四边形
纹理
,只不过就此进行了封装,方便使用。接下来,我们新建一个项目“D
3D
_06_Mario”。在这个案例中,我们将
实现
一个简单的超级马里奥的游戏场景,这是一个2D场景。本案例的重点在于,随着马里奥角色的行走,正交摄像机也跟随移动。我们先看看本案例用到的素材: 首先,我们需要封装两个四边形
纹理
对象,一个是地图背景,一个是角色精灵。两个类的区别在于背景只有一个贴图,而角色精灵需要贴图序列完成动画。为了能够对头文件的统一引入,我.
DirectX学习笔记(七):Direct
3D
纹理
映射技术详解及
实现
前言: 如果我们想要将一个正方体绘制成一个板条箱的样式,那么我们就需要D
3D
中的
纹理
映射技术。
纹理
是一个像素矩阵,它可以被映射到三角形单元,以此来该变物体的显示样式。这样就可以增加所绘制场景的真实感。 1.
纹理
坐标:
游戏开发
8,303
社区成员
23,682
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章