#过年不停更# HarmonyOS自定义JS组件——元宵猜灯谜 原创 精华
深开鸿
发布于 2022-2-15 20:48
浏览
5收藏
作者:包月东
前言
又到了一年一度的元宵佳节,首先祝大家元宵节快乐!东风夜放花千树,宝马雕车香满路。逛花市,猜灯谜作为传统节目,经久不衰,今天给大家带来一款猜灯谜的鸿蒙小游戏。
效果图
实现思路
首先我们来拆分下区域,如效果图所示,游戏区域分为:头部面板、谜语、谜字、控制按钮、提示、谜底面板(隐藏)
- 记分面板:左边是一个得分text,右边是一个音乐播放按钮,可以用video实现
- 谜语:主要是文本,使用text实现
- 谜字:有一堆text组成,通过for来配置。每次放置的位置、旋转角度通过随机函数设置,不至于沉闷。
- 控制按钮:查看谜底用来显示谜底面板。上一题,下一题则是改变题库的指针pointer来更改谜语,谜字。
- 提示:一个简单的text
- 谜底面板:这里用到了panel,起到弹起收拢的效果。
具体实现
头部面板
如上,音乐的播放我们使用video来实现,设置show为false不显示,loop为true表示不断轮播。video是负责后台播放,前台旋转音乐图片使用image实现,旋转动画我们选择CSS动画配置
谜语
谜字
谜字通过一个for循环动态生成text,这里的selection表示谜字的文本,selection_property表示每个文本的位置、选择,颜色等属性
生成selection_property的代码如下:
这里通过更改selection_property中top,left,rotate,color这几个属性更改text的显示位置,为了生动使用了Math.Random()
判断是否答对
迷字开始是黑色,点击一次变成红色,我们通过遍历selection_property可以查看用户选择了那几个迷字,当迷字和我们的谜底相同时,表示答对
具体代码如下:
判断是否通关
当当前谜语的pointer指向最后一个了,当用户答对时,我们认为通关了
控制面板
查看谜底的click方法是用来显示谜底panel,当然这里是否显示谜底,需要在提示次数和积分够的情况下才行。
提示
谜底面板
这里用到了panel,我们通过设置model为half来显示半屏。内部的txt用来显示谜底
源码路径
参考
更多原创内容请关注:深开鸿技术团队
入门到精通、技巧到案例,系统化分享HarmonyOS开发技术,欢迎投稿和订阅,让我们一起携手前行共建鸿蒙生态。
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2022-2-25 10:00:28修改
赞
6
收藏 5
回复
6
2
5
相关推荐
元宵节能和家人一起以这种形式猜灯谜也是一种乐事。
666