查看: 112|回复: 1|关注: 0

[我分享] 用实时脚本做个“愤怒的小鸟”

[复制链接]

MATLAB 基础讨论
版块优秀回答者

46

主题

92

帖子

39

最佳答案
  • 关注者: 3
发表于 2020-10-15 16:34:28 | 显示全部楼层 |阅读模式
本帖最后由 TS-boys 于 2020-10-15 16:33 编辑

1.实时脚本
作为MATLAB提供的新功能,还算比较新吧(lll¬ω¬),实时脚本在原来脚本编辑器的基础上,融合了更好的显示和交互,从而更易于实现一些交互程序。新建一个实时脚本,在编辑器中明显能看到text和code两个区域,于是我们可以在同一个文件中,写入文本和代码。
p1.PNG
写文本,类似word的操作,通过“Aa”按钮设置标题的层级结构,通过“B”和“I”这些按钮实现简单的字体加粗,通过第三排的按钮来增加分条。这些功能相对于word过于简单了,但也基本满足平时使用了,总比纯文本好用些吧。
写代码,很明显增加了task和control功能。“task”提供了一些数据处理和分析的GUI界面,通过在界面上的设置,自动生成MATLAB代码嵌入到实时脚本中。“control”提供了一些按钮、滑条等控件,有点像是简化的guide或者appdesigner,从而实现了用户与代码的交互。

2.例子:愤怒的小鸟 ε=( o`ω′)ノ
2.1程序框架
写代码前先写框架,用text功能,大概写好。于是整个程序也大概清楚了,先设定坐标,就是小鸟和猪头的位置,然后用户输入小鸟的初速度,最后程序仿真让小鸟飞起来,画个图,显示小鸟的飞行轨迹。
p2.PNG

2.2添加代码
设计好框架后,代码并不复杂,这里重点说一下速度和角度的输入。如果是在以前的脚本编辑器中,这里需要写代码 v0=100 然后运行脚本看结果,如果结果不对(小鸟没有打中猪头),那么回过来改代码再运行脚本。而在实时脚本中,可以直接加入一个滑条,设置好对应参数即可,这里将 run on 设置为 value changed,这样在滑动结束后才会执行后续代码。在运行实时脚本时,改变滑条的数据,当改变完成时,实时脚本会从这个滑条位置开始运行,而这个过程是自动的,于是从用户看起来,修改脚本参数,立马可以获得不一样的结果,即“实时”。
p3.png

这里写完全部的代码后,是这样的:
bird.mlx (13.78 KB, 下载次数: 7)
回复主题 已获打赏: 0 积分

举报

MATLAB 基础讨论
版块优秀回答者

中级

718 麦片

财富积分


5001500


27

主题

368

帖子

83

最佳答案
  • 关注者: 11
发表于 2020-10-16 08:50:56 | 显示全部楼层
很不错啊,升级matlab到2019b的时候就发现这个了,这个类似markdown,可以编辑文字,也可以运行代码,将程序和描述程序结合起来,而且编辑文字还可以进行层次区分。帖子写的非常好,赞一个!!!
貌似下载一些新的app有人用这个当help文件,挺好的。
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表