《从零开发鸿蒙小游戏App》直播答疑(包含新版2048游戏代码)

开发
文章由鸿蒙社区产出,想要了解更多内容请前往:51CTO和华为官方战略合作共建的鸿蒙技术社区https://harmonyos.51cto.com/#zz

[[351642]]

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com/#zz

 请到附件中下载新版2048游戏代码。最好能对该代码再做一些优化(见下述问题8),欢迎感兴趣的朋友随时跟我探讨,^_^

问题1:如何将开发的Lite Wearable项目部署在鸿蒙手表Watch GT2 Pro真机上?

答复:

步骤(1)生成秘钥和证书请求文件

链接:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/create_csr-0000001053702411。

步骤(2)在手机中安装App:应用调测助手,通过该App获得鸿蒙手表的udid

点击主界面中的复制按钮,可以复制手表的udid。

步骤(3)给项目起一个包名(Package name)

起的包名是任意的,例如:com.test.lwdemo。以后每次创建Lite Wearable项目时,都要使用该包名。

步骤(4)发邮件给agconnect@huawei.com

邮件中要包含4样东西:步骤(1)中的两个文件,步骤(2)中的udid,步骤(3)中的包名。

步骤(5)官方回复邮件

回复的邮件中包含两个文件:.p7b文件、.cer文件。

步骤(6)在DevEco Studio中创建一个Lite Wearable的项目

创建项目时的Package Name,请使用步骤(3)中的包名。

步骤(7)在DevEco Studio中进行配置

在菜单栏中选择File,然后点击Project Structure,在弹出窗口中做如下配置:


步骤(8)在DevEco Studio中构建签名的hap包

在菜单栏中选择Build,在弹出的菜单中点击Build App(s)/Hap(s),然后点击Build Debug Hap(s)。

生成的签名hap包所在的路径为:<项目根路径>\build\outputs\hap\debug\liteWearable。

步骤(9)将签名的hap包拷贝到手机的指定位置

在手机的sd卡根目录中新建一个名为haps的目录,将步骤(8)中的hap包拷贝到haps目录中。

步骤(10)将手机中的hap包通过App应用调测助手安装到手表中

打开步骤(2)中安装的App应用调测助手,在主界面中点击按钮“应用管理”,在新打开的页面中就可以看到手机中的hap包了。点击hap包后面的按钮“安装”,就可以将hap包安装到手表中了。安装完成后,应用调测助手中会跳出提示“安装完成”。

问题2:在Lite Wearable上开发的项目,如何做到“一次开发,多端部署”(直接部署在Wearable和TV这两个平台上)

答复:

要点(1)Lite Wearable属于轻鸿蒙,Wearable和TV属于富鸿蒙

轻鸿蒙和富鸿蒙在项目配置上目前是不统一的,比如富鸿蒙目前需要有Java的shell,而轻鸿蒙是没有的,所以在DevEco Studio中轻鸿蒙和富鸿蒙的项目是不能通用的,还不能做到同一个项目支撑两套开发。但是,在Lite Wearable平台上编写的JS代码文件是可以直接复用到Wearable或TV的项目里面的。

要点(2)通过指定deviceType,可以让同一个项目在多个轻鸿蒙设备或多个富鸿蒙设备上通用

例如:Wearable和TV都属于富鸿蒙。新建一个Wearable的项目,在项目的文件config.json中,deviceType的值默认是["wearable"]。如果将deviceType的取值修改为["wearable", "tv"],那么这个Wearable的项目就可以直接运行在TV平台上。

问题3:就目前而言,相对于Wearable和TV这两个平台,为什么说在Lite Wearable这个平台上相关的开发工具是最全面、最稳定的,并且给开发者的体验是最好的?

答复:

要点(1)鸿蒙手表Watch GT2 Pro已经上市

既然都已经上市了,所以相关的开发工具是最全面、最稳定的!

要点(2)Lite Wearable既有本地的预览器,又有本地的模拟器

如果选择Wearable和TV这两个平台进行App的开发,目前华为还没有开放基于X86的本地模拟器,因此,需要将编写的代码发送到远程的ARM处理器以运行代码,在本机上只能预览运行结果,而无法在本机上运行和调试代码。因此,就目前而言,Wearable和TV这两个平台,给开发者的体验是相对不太好的。但是,如果我们选择Lite Wearable这个平台,那就不一样了,既可以使用本机的预览器Previewer来预览代码的运行效果,也可以使用本机的模拟器simulator来运行和调试代码,因此,就目前而言,Lite Wearable这个平台给开发者的体验是最棒的!

问题4:开发Lite Wearable的App,可以使用的编程语言有哪些?支持Python、C#或C++吗?

答复:

要点(1)作为第三方开发者,开发Lite Wearable的App,只能使用编程语言JavaScript。

开发Wearable的App,可以使用的编程语言有:JavaScript、Java。

开发TV的App,可以使用的编程语言有:JavaScript、Java。

开发手机的App,可以使用的编程语言有:JavaScript、Java。

短期内,对于第三方开发者,不会支持其它编程语言,包括:Python、C#、C++、等等。

要点(2)对于鸿蒙手表Watch GT2 Pro中预装的App,华为内部的工程师在开发时还可以使用编程语言C++。

C++只供华为内部的工程师使用,目前没有对第三方开发者开发,以后是否会开放,还要看鸿蒙团队的考量。

问题5:老师在直播中有提到:鸿蒙对HTML、CSS和JavaScript做了很多裁剪和优化,具体做了哪些裁剪和优化呢?

答复:

目前官方还没有发布一个完整详细的list,来说明具体做了哪些裁剪和优化。如果有Web前端开发的经验,可以阅读开源框架ace_lite_jsfwk的源代码,这是一个轻量级的JS核心开发框架,地址为:https://gitee.com/openharmony/ace_lite_jsfwk。

问题6:在JS代码中调用文件存储或数据存储相关的API时,只能"写"数据,而无法"读"数据,请问如何操作才能读到数据呢?

答复:

这是预览器Previewer和模拟器simulator的一个bug,我已经将这个bug反馈给官方,官方会在本月中旬发布一个新版本以修复该bug。

问题7:当把编译之后的签名hap包安装到鸿蒙手表Watch GT2 Pro之后,在预览器或模拟器看到的页面显示效果,与在真机看到的显示效果并不是完全一致的,请问如何解决才能让两者有一致的显示效果?

答复:

这是预览器Previewer和模拟器simulator的一个bug,我已经将这个bug反馈给官方,官方会在本月中旬发布一个新版本以修复该bug。

问题8:老师共享的2048游戏代码中,对于index.hml中的组件canvas,在canvas的下方显示了一个红色的波浪线,把鼠标放上去,提示说:<canvas>是一个未知的组件,这是什么原因呢?

答复:

目前,官方还没有正式release组件canvas,因此在其下方会显示一个红色的波浪线,但是,并不影响代码的运行。之前共享给大家的2048游戏代码,仍然是可以正常运行在预览器或模拟器中的。

因为组件canvas还没有正式release,所以,之前共享给大家的2048游戏代码,无法正常运行在鸿蒙手表Watch GT2 Pro中。为此,这里再为大家提供一份2048的游戏代码(可以到附件中下载)。该代码没有使用组件canvas,而是采取另外一种实现思路:当滑动时,去更换16个格子的背景色、数字以及数字的颜色。因为该份代码中大量使用了动态绑定,所以导致手表的内存占用较大,近乎接近临界值,因此,最好是能对该份代码再做一些优化,欢迎感兴趣的朋友随时跟我探讨,^_^。

想了解更多内容,请访问:

51CTO和华为官合作共建的鸿蒙技术社区

https://harmonyos.51cto.com/#zz

 

责任编辑:jianghua 来源: 鸿蒙社区
相关推荐

2023-08-07 15:18:29

游戏开发鸿蒙Arkts

2011-01-13 14:29:54

2012-01-10 12:48:52

Java

2011-05-04 11:31:09

Windows PhoWindows Pho游戏开发

2015-08-11 09:13:16

2048WEB开发

2014-06-19 10:02:32

Haskell代码

2014-04-04 09:53:18

2048C++

2014-10-13 13:44:00

AngularJS2048

2021-08-15 22:52:30

前端H5拼图

2020-12-09 11:42:18

WiFi IoT鸿蒙开发

2020-11-24 11:58:19

HarmonyOS

2022-03-29 07:40:23

H5游戏开发扫雷游戏

2022-07-29 14:47:34

数独Sudoku鸿蒙

2024-07-31 09:46:13

2012-01-18 10:53:08

iOS小游戏

2022-11-01 15:17:48

JS鸿蒙小游戏

2022-10-18 15:45:17

数独Sudoku鸿蒙

2022-10-19 15:19:53

数独Sudoku鸿蒙

2022-10-19 15:27:36

数独Sudoku鸿蒙

2022-08-25 21:41:43

ArkUI鸿蒙
点赞
收藏

51CTO技术栈公众号