怎样实现星际争霸开场前的设置菜单的半透明抽屉效果

zicerock 2008-10-10 05:27:57
星际争霸很对人都玩过吧,开始游戏前选择种族,选择地图等菜单从屏幕两侧成抽屉效果展开收缩,并且是半透明(非全透明)的能够看见背景,不知道这种特效怎么实现?我试过两种方法:第一种用一个窗口做背景,panel做菜单,panel的背景图片用的是个半透明的纯色png图片,在静态时效果不错,但panel成抽屉效果展开收缩时(timer控制速度)十分的卡;第二种用一个窗体做背景,用令一个窗体做菜单面板,做菜单面板的窗体背景图片设置为一张半透明的纯色png图片设置并且窗体半透明状态。这个方法做菜单面板的窗体成抽屉效果展开收缩时比较流畅,但半透明后窗体色彩不如人意。
不知道各位有没有做过这样的开发,时怎么解决的?
...全文
132 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
palmax 2008-10-10
  • 打赏
  • 举报
回复
我觉得 自绘菜单并做alpha像素混合应该就可以了
NowtAngell 2008-10-10
  • 打赏
  • 举报
回复
关注,UP1楼.
zicerock 2008-10-10
  • 打赏
  • 举报
回复
可以具体点吗,你的意思是做菜单面板的窗体调用SetLayeredWindowAttributes()API吗?也试过,这个和设置窗体的透明属性效果差不多。如果第一种方法能够解决不流畅的问题,相比第二种方法感觉上要好些,能够避免以后程序中窗体与窗体之间杂七杂八的问题。不知有何方法。听说用窗体的onpaint事件,利用双缓冲绘图技术重绘窗体能解决不流畅、闪烁的问题。不知我的问题能否采用这个技术。还请各位大侠指点!!!!!
lovehongyun 2008-10-10
  • 打赏
  • 举报
回复
调用系统的api可以实现

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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