

【OpenHarmony兴趣组SIG】非程序员看了不亏☞上手OpenBlock
source link: https://blog.51cto.com/tangnaichen/5090942
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【OpenHarmony兴趣组SIG】非程序员看了不亏☞上手OpenBlock
原创OpenBlock
兴趣组SIG介绍
1. 什么是兴趣组SIG
SIG(Special Interest Group)是指特别兴趣小组,SIG在PMC项目管理委员会指导下,负责OpenHarmony社区特定子领域及创新项目的架构设计、开源开发及项目维护等工作。 更多细节请前往OpenHarmony官网 查看详细介绍。 OpenBlock是众多OpenHarmony兴趣组SIG之一。
3. OpenBlock能干什么?
(1)数据可视化
(2)降低非程序员编程门槛
(3)游戏制作
(4)将支持操作硬件
(5)分布式程序
... ...
1. 熟悉OpenBlock的开发工具
OpenBlock不需要下载任何东西,可直接在线开发。在线IDE(用于提供程序开发环境的应用程序)预览地址为 https://openblock.gitee.io/
这是OpenBlock按钮功能介绍,由于功能更新、 gitee限流等因素所提供的网址和图片并不能代表OpenBlock在线IDE的最终品质,获取OpenBlock最新消息请持续关注OpenBlock。
2. 新建一个逻辑
逻辑由多个模块组成,模块之间可互相作用。最简单的程序从新建一个模块和一个状态机开始。
2.1 新建一个模块
点击新建模块按钮系统会新建一个默认名为“Start”的模块。展开这个模块后如下图所示,模块由数据、函数、状态机组成。其中数据和函数可有可无,但状态机一定要有。
2.2 新建一个状态机
点击下图的加号以新建一个状态机
可以看到,会获得一个名为“main”的状态机,该状态机内有一个名为“状态“的状态。main状态机默认是程序的入口,即程序默认最开始运行的状态机。所以main状态机一定要有,少了它,程序就无法正常跑起来。
什么是状态机?什么是状态?他们之间的关系是什么?
请看下图《轩辕剑》中的男人,他叫宇文拓。他疯疯癫癫、喜怒无常的样子,在现实生活中,我们称之为人格分裂。
宇文拓的体内有七个魂魄,分别是:恶念元神,喜念元神,怒念元神,哀念元神,惧念元神,欲念元神,爱念元神。各个魂魄互相独立,不允许有其他魂魄同时存在。人还是那个人,但每个魂魄所会做的事和所说的话都不一样。
假设宇文拓是一个状态机,那么七个魂魄就是它的状态。有一点不同的是,openblock的状态的转换是可控的,想放哪个魂魄出来就放出来。
2.3 实例教程
我们来模拟一个宇文拓七魄之间不受控制的转变。
a. 默认最开始的魂魄是恶念元神
b. 设立一个随机数,代表该魂魄存在的时间,为了演示效果,随机数范围为1到3秒。
c. 再设立一个1到7的随机数,分别代表七个魂魄。根据随机数切换到对应的状态。
d. 切换到新的状态后重复b和c步骤。
(1)在新建一个main状态机后,再新建一个状态机。
(2)把状态机名字改为“宇文拓”。
(3)将默认的状态改名为“恶念元神”。
(4)新建剩下的6个魂魄:喜念元神,怒念元神,哀念元神,惧念元神,欲念元神,爱念元神。
可以看到默认状态的标志和其他的状态的标志是不一样的,默认状态代表该状态机被创建之后,立马起作用的状态。图中宇文拓的默认状态为“恶念元神”,意味着这个状态机只会干“恶念元神”元神会干的事,其他状态的事是不会干的,除非切换状态。
(5)编辑宇文拓状态机的各个状态的逻辑。各个状态的逻辑基本相同,其区别是会显示不同的魂魄名字,每个状态只需要修改图中圈起来的“恶念元神”。为了省时间,可以使用右键的收藏功能,其作用类似于复制粘贴。
(6)告诉程序何时创建宇文拓状态机。由于程序进入的是main状态机,宇文拓状态机实际上并不会被主动创建。所以需要告诉程序创建一个宇文拓类的状态机。点击main状态机的“状态”,创建一个名为“宇文拓1号”的宇文拓类状态机。
(7)运行调试
大功告成,如有疑问请留言。本教程的程序重点在体验状态机和状态之间的关系。
- 2赞
- 收藏
- 评论
- 分享
- 举报
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK