54.界面设计技巧 4 - 改进界面实现方法.pdfVIP

54.界面设计技巧 4 - 改进界面实现方法.pdf

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
界面设计技巧 4 - 改进界面实现方法 到目前为止,棋盘棋子的界面已经基本成型。下面我们实现一小部分代码,来看看这个 界面设计方案是否可行,是否可以改进。 以棋盘的初始化为例,在游戏开始时,只有两黑两白四颗子,摆在期盼最中间。实现这 个操作的代码和执行结果如下图所示: 代码中的子VI (Get All Chess.vi )中的代码,就是我们在第一节图8中看到的那段代码。 它负责得到所有棋子的引用,并排列成二维数组。 这段初始化的代码并不算复杂,但是我们还是可以从中看出一些问题:棋子的布局需要 用两个数组才可表达清楚,这给编程增加了负担。造成这一状况的根本原因在于:每个位置 上的棋子实际上有三个状态:黑、白、无;而我们选用的灯泡控件,只有两个值:真、假。 用这两个值不足以完全表达棋子的状态,所以,要两个布尔类型才能确定一个棋子的状态。 另外,棋盘只是一张背景图片,这样,判断鼠标在棋盘哪个位置上进行的点击,也比较 繁琐。一旦棋盘挪动,代码也需要做相应改动。 改进的方法,就是使用一个有更多值的控件来表示棋子。在我们的程序中,要求每个棋 子位置有多个不同图片,这正好可以使用 Pict Ring 控件。Pict Ring 控件包含三个值:空 白图片、黑色棋子图片、白色棋子图片。这样即便是没有棋子的位置,Pict Ring 控件还在, 可以感知用户的鼠标点击事件。 上面的代码还有一处不足,每个棋子都是一个独立的控件,造成界面控件太多,不好管 理。对于更复杂的程序,比如围棋游戏,如果使用这种方式,界面上就有将近400个控件, 这是不可接受的。 改进的方法是使用数组控件,把所有的棋子组成一个数组。 具体的实现步骤如下: 首先创建一个经典风格的 Pict Ring 控件,添加三幅图片:空白、黑棋子和白棋子。棋 子采用的都是png 文件格式的图片,以实现透明和阴影效果。 在程序中,我们不希望看见 Pict Ring 控件的边框和背景。我们可以用透明画笔,把边框和 背景画为透明。 造一个二维数组用来放置棋子元素。由于界面上不希望看到这个数组的边框和背景,所 以同样用透明画笔把它们画为透明。数组的标签、索引显示可以通过数组的右键菜单-显示 一项进行隐藏。 把棋子元素放置于数组中,并把数组拉成8×8大小,放置在棋盘上放。一个棋盘棋子控 件就做好了。而这种做法又大大简化了编码的复杂度,比如同样是初始化设置,只要一个赋 值语句就可完成:

文档评论(0)

july77 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档