HarmonyOS鸿蒙Next中JSUI的超酷炫的(仿合成2048)1024分布式互动小游戏,丰富的动画,精美的UI,内含超多干货,手把手教学
HarmonyOS鸿蒙Next中JSUI的超酷炫的(仿合成2048)1024分布式互动小游戏,丰富的动画,精美的UI,内含超多干货,手把手教学 #HarmonyOS挑战赛第三期#用JS写超酷炫的(仿合成2048)1024分布式互动小游戏,丰富的动画,精美的UI,内含超多干货,手把手教学(希望大家能多多支持)
先看效果:(推荐使用电脑有更好的观看效果)
游戏规则:双方连接后同时开始游戏,游戏规则与2048基本相同,上方有连那个能量条,第一条为己方,第二条为对方,当进度条满时,会根据溢出倍数往对方界面上增加初始方块。同时一次滑动合成多个方块会有倍数加成。最先合成1024的一方获胜,最先布满4×4区域的一方失败。
本实例运用了丰富的动画效果,让JS的游戏也能动态十足
联机演示 | preview演示 |
---|---|
![]() |
![]() |
这么酷的1024,心动吗?
代码简单易懂,快来试试吧
还希望大家可以在后续的人气投票中投上一票噢!!!
话不多说,马上开始整
注意:本案例包含API6内容,目前无法在大家的手机中实现
- 首先第一个开始页面,制作闪烁的流水霓虹灯效果
这里用到了很重要的组件,那就是Canvas
通过定时重绘canvas达到想要的效果
首先看看页面代码:
<div class="container" style="background-color: black;">
<div style="width: 100%;flex-direction: column;">
<canvas ref="H" style="width: 100%;height: 200px"></canvas>
<button style="margin: 20px;font-size: 30px;height: 60px;width: 100%;
background-color: transparent;border: 2px solid #0066ff;
box-shadow: 0 0 10px 4px #800066ff;"
type="capsule" click-effect="spring-medium"
on:click="toGame">
开 始 游 戏
</button>
</div>
<div style="width: 100%;height: 100%;position: absolute; left: 0;top: 0;flex-direction: column;
justify-content: center;align-items: center;" if="{{loading}}">
<div style="background-color: #a0000000;width: 100%;height: 200px;">
<button style="background-color: transparent;width: 100%;height: 100%;font-size: 20;"
waiting="true">
连接中
</button>
</div>
</div>
</div>
没错,就是这么少。没有多余的其他组件,底下button用于显示加载中的动画,上面显示霓虹灯效果,具体代码该怎么实现呢?
第一部分主要在界面绘制上,难度不大,熟练运用canvas绘制即可,没有逻辑上的理解
- 游戏界面制作
游戏界面的绘制也没有使用很多代码,主要是分为3个部分,分数、对方信息区、合成区
| 分数、对方信息区、合成区 | |
运用好border-radius, border, padding, margin
就可以让界面焕发新生
同时在字体方面也要设置好font-size, letter-spacing
(字体间距)
- 2048游戏逻辑
首先需要清除这个游戏的规则:
- 可以通过上下左右滑动以移动方块
- 当数字相同方块撞在一起会合成一个方块
- 在滑动后会生成一个新的方块
- 本回合合并得到的方块无法再次合并
- 当无法再产生方块且无法合成方块时,游戏失败
基于以上规则书写我们的代码逻辑。
核心算法如下:代码很长,主要分为以下部分:计算方块移动 -》播放方块移动动画 -》计算得分 -》生成新方块 -》判断是否结束
- 与对方通信
分布式互动同样是这次游戏的要点,利用分布式可以轻松实现近距离联机小游戏
JS端的通信功能实现:
- JAVA核心service代码
结语:这个项目还是很有趣哒,实际难度也不大,有兴趣的朋友们可以自己尝试写写噢
希望本篇文章可以帮助到大家
注意:本篇文章含有API6内容,目前手机无法实现
最后衷心希望大家能在人气投票上给孩子投上一票吧!!!
gitee源码地址:https://gitee.com/ffffffds/funny1024
更多关于HarmonyOS鸿蒙Next中JSUI的超酷炫的(仿合成2048)1024分布式互动小游戏,丰富的动画,精美的UI,内含超多干货,手把手教学的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这个主页有点炫酷的诶
更多关于HarmonyOS鸿蒙Next中JSUI的超酷炫的(仿合成2048)1024分布式互动小游戏,丰富的动画,精美的UI,内含超多干货,手把手教学的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
膜拜大佬
要是ServiceAbility这部分也可以用JS写就好了
没有那么难,照着文档写就可以,
哈哈,关键就是java的文档我看不懂(捂脸)
可以看看我的代码噢,只有第五部分是java写的,是很简洁的代码了
在HarmonyOS鸿蒙Next中,JSUI框架为开发者提供了强大的工具来创建如仿合成2048的1024分布式互动小游戏。通过JSUI,开发者可以利用丰富的动画效果和精美的UI设计,提升游戏的视觉吸引力和用户体验。手把手教学不仅涵盖基础的开发流程,还包括高级技巧,如分布式数据同步和跨设备互动,确保游戏在多设备间无缝运行。这些干货内容为开发者提供了全面的指导,助力高效开发。