游戏开发中经常会用到一些MessageBox,比如“邀请组队”、“装备分解”、“使用道具”之类,但是经常发现小伙伴们设计的对话框,在细节上都有点点小问题,而且他们对此都不太以为然;因此想写一篇文章,结合我工作的经验,做一些总结,给大家在工作上做一些参考。
我们先从理论层面来了解一些概念:
下面是Windows中常用的几种MessageBox类型,摘自WinUser.h;
Windows如此大的系统,MessageBox基本上也就这几种,我们姑且认为以下7种就能满足我们日常需要了吧。
--------------------------------------------------------------华丽的分割线--------------------------------------------------------------
再看看,小伙伴们有哪几种错误的使用方式:
举两个栗子:
点评:这张图,是手机上的,不是游戏开发中的。系统刚启动,识别了sim卡,弹了这么个框;其实这里“确定”和“取消”,点了都没啥作用,用户只是知道手机已经联网了。
其实这里只需要一个“确定”就够了,偏偏多了个“取消”,敢问我点了“取消”,是不是要把我的sim卡disable掉,取消联网状态?
点评:“取消”和右上角的“关闭”按钮,其实是重复功能,两者选其一就够了;如果都存在、显得多余,增加理解成本。
--------------------------------------------------------------华丽的分割线--------------------------------------------------------------
根据Windows中定义的类型,我归纳总结了以下几种游戏开发中常用的MessageBox类型。
1.
2.
3.
4.
5.
6.
点评:
1. 一般情况下OkCancel跟YesNo会比较像,但也要注意区分,No明确表达“拒绝”的意思,Cancel侧重于“忽略”,选择No可能会向服务器发送Refuse消息,而选择Cancel不会发送任何消息
2. YesNo与YesNoCancel的区别在于:是否可以有第三个选项,如果必须在Yes选项和No选项中二选一,那就必须使用YesNo样式
--------------------------------------------------------------华丽的分割线--------------------------------------------------------------
其它不常用的,就不做详解了:
789.