用D3D做界面,只能创建一个主窗体,如果要实现那种主窗体弹对话框怎么办?弹出的对话框纹理怎么刷新?何时刷新?对话框的窗体处理函数怎么整?对话框怎么响应键盘与鼠标的输入?

xqhrs232 2009-05-11 10:28:33
用D3D做界面,只能创建一个主窗体,如果要实现那种主窗体弹对话框怎么办?弹出的对话框纹理怎么刷新?何时刷新?对话框的窗体处理函数怎么整?对话框怎么响应键盘与鼠标的输入?
...全文
176 22 打赏 收藏 转发到动态 举报
写回复
用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)

8,303

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧