如果你正在学习如何开发仿真 App,那么可以观看本文的视频,这是一个关于方法编辑的精彩简介。开发完成功能齐全的 App 后,我们可以一键创建一个方法,在其中加入声音播放、包含用户输入及添加 if-else 语句。这些操作全都可以利用“方法编辑器”中的“语言单元”实现,由此创建方法变得轻松简单。
方法编辑器和语言单元
使用 COMSOL Multiphysics “App 开发器”时,如果仿真 App比较复杂,是需要编写方法的。方法中支持一系列的操作,包括(但不限于)条件语句(If,If-Else);循环(For,While);以及用户交互(问题,警告)。Java® 编程语言本身就用于编写方法,所以可以使用 Java® 的所有功能。此外,“App 开发器”拥有一个内置的“语言单元”库,含有多个模板代码块,经一键单击/双击即可直接插入方法中。
下面的视频以最简单的方式创建了一个方法,展示如何将命令序列转换为一个方法,以及如何播放声音。视频中重点讨论了 “计算”按钮,所以命令为“计算研究 1″和“温度绘图 (ht)”。这两条命令转换成方法后,我们使用“语言单元”playSound来设置仿真结束时播放 success_5.wav 声音文件。
视频后半部分继续添加“语言单元”,展现使用方法的真正优势。我们加入了一个用户输入函数confirm,询问用户是否希望播放声音。然后添加一条 If-Else 语句,表示如果用户选择“是”,则播放声音,如果选择“否”,则不播放。
视频教程:通过创建方法改进您的仿真 App
视频文字稿
在本系列的前三个视频中,我们利用“表单编辑器”和表单对象开发了一个可以正常运行的 App。在本视频中,我们将探讨“方法编辑器”的使用,了解如何借助这一功能开发更高一级的 App。本示例将介绍如何根据命令序列创建一个方法,以及如何使用“语言单元”播放声音。
本视频将以我们开发的 App 中的“计算”按钮为例展开说明。在“选择要运行的命令”一栏,有两个命令:计算研究及随后在 graphics1 窗口绘制温度图。如果我希望在这之后播放声音,那么可以通过两种方式实现。第一种是通过“表单编辑器”,定位到“库 > 声音”,选中 success、fail 或 neutral 声音,然后单击“运行”。不过在这里我希望通过“方法编辑器”实现这个操作。
首先,将此命令序列转换成一个新方法,因此,这里的两个命令被可运行的 method1所取代。在“App 开发器”窗口“方法”节点下也会显示这个 method1。现在,单击“切换到方法”按钮,以打开 method1。这里可以看到有两个命令要运行:计算研究及在图形窗口绘制结果。
现在,我要加入声音播放,这里,我使用“语言单元”特征进行添加。这一特征中提供了多种类型,有块声明,例如 If 语句、For 循环和 While 循环;有转换:从布尔到字符串、从字符串到双精度、从双精度到字符串等;还有用户界面上的交互操作。类型这么多,因此需要用到“搜索”功能,输入:play,即显示两个含 playSound 的选项。第一个是播放一个信号,含给定频率及播放秒数两个参数,第二个是播放一个 .wav 文件,我选择第二个。对它双击,它就添加到了我的方法中。现在删除这个占位符,在“App 开发器”窗口中定位到“库”,然后双击“声音”。声音库就打开了,其中有三个选项:success、fail 和 neutral。还可以单击加号按钮将文件添加到库中。在 COMSOL 安装路径下,Multiphysics > data > sounds 文件夹中预置了很多声音文件。当然,你也可以在这个文件夹和库中添加其他任何要用的且获授权的 .wav 文件。我选择“success_5.wav”。现在,双击这个文件,选中并复制,在括号间输入一对双引号,表示这是一个字符串,然后粘贴 success_5.wav。由此,当模型运行结束并在 graphics1 窗口完成绘图后,将播放 success 声音。
就像我之前提到的,这一操作也可以通过“表单编辑器”实现,那么接下来我就介绍一个只能借助“方法编辑器”才能实现的功能。比如我们要添加一个选项,让用户自行决定是否播放声音。现在就来添加这一功能。在“用户界面”下选择确认选项“confirm(question)”,其中可以向用户提问。因此我会提问“仿真结束后是否播放声音?”,答案为“是”或“否”,已存储在字符串“answer”中。现在我要加入一条 If 语句,在“块声明”下,双击 If-Else,这里马上会显示 If-Else 语句的基本结构。然后输入条件,即当答案为“是”时,运行研究、绘制图形,然后播放声音。如果用户单击“否”,那么只运行研究和绘制图形。
现在我们就来测试这个 App,观察它的实际运行情况。首先编辑输入参数,接着更新几何,然后单击“计算”按钮。此时会弹出一个对话框,询问仿真结束后是否播放声音,我选择“是”。因此仿真结束时会播放选定的声音。再次单击“计算”按钮,不过这次选择“否”。仿真结束后就不会播放声音了。以上就是“语言单元”和“方法编辑器”用法的基本示例,可用它实现一些无法通过单独使用“表单编辑器”实现的功能。
评论 (0)