当前位置: 首页 > backend >正文

如何用AI开发完整的小程序<9>—UI自适应与游戏页优化

上一节我们已经实现了游戏页的基本功能。

这一节我们调整一下游戏页得UI布局。

一、UI自适应

在此之前需要先了解并制作UI自适应,因为每个手机的屏幕尺寸可能不太一样,所以制作UI的时候需要开发相应的功能使其能适应不同的手机屏幕。

我之前让AI制作这个功能的时候调试了老半天,现在我就不让AI搞了,直接把之前已经搞好的代码块分享给大家,复制到项目中直接就可以用了


完整复制以下代码替换app.js中的代码。

App({

globalData: {

topSafeAreaHeight: 0, // 顶部安全区域高度

bottomSafeAreaHeight: 0, // 底部安全区域高度

},

onLaunch() {

const windowInfo = wx.getWindowInfo();

console.log('获取到的手机屏幕信息',windowInfo);

const windowWidth = windowInfo.windowWidth;

console.log('屏幕宽度',windowWidth);

const screenHeight = windowInfo.screenHeight;

console.log('屏幕总高度',screenHeight);

const safeArea = windowInfo.safeArea;

const safeAreaTop = safeArea.top;

console.log('顶部安全高度',safeAreaTop);

const safeAreaBottom = safeArea.bottom;

console.log('底部安全高度',safeAreaBottom);

// px转rpx的转换函数

const pxToRpx = (px) => px * (750 / windowWidth);

const topSafeAreaHeight = Math.round(pxToRpx(safeAreaTop)); //转化为rpx

const bottomSafeAreaHeight = Math.round(pxToRpx(screenHeight - safeAreaBottom)); //转化为rpx

console.log('最终顶部安全高度',topSafeAreaHeight);

console.log('最终底部安全高度',bottomSafeAreaHeight);

this.globalData.topSafeAreaHeight = topSafeAreaHeight; //存储为全局变量

this.globalData.bottomSafeAreaHeight = bottomSafeAreaHeight; //存储为全局变量

},

})


替换后保存-编译代码-调试器中应该会输出以下日志,代表已经OK了。

这时候我们其实只是获取到了手机的屏幕尺寸,要实现屏幕自适应还需要到每一个页面中去实现具体的功能。

接下里我们以gaming.js页面为例,让AI帮我们实现自适应。


AI指令:

我正在用微信开发者工具开发一款小程序

现在需要你在这个基础上开发新功能,且不影响原功能,具体需求如下:

1、在gaming页面实现屏幕自适应功能。

2、屏幕的安全尺寸我们已经获取到并存储到了以下全局变量中,你只需要直接获取即可。

globalData: {

topSafeAreaHeight: 0, // 顶部安全区域高度

bottomSafeAreaHeight: 0, // 底部安全区域高度

},

注意事项:

最重要的事情:每个修改的方法函数必现将修改后的完整的方法函数打印出来,不要省略原来方法中的任何代码。

1、不要修改额外的东西,当修改已经有的函数时,不要修改函数名。

2、不要在一个函数中实现多个功能方法,每个方法都单独实现,然后在需要的地方调用,注意所有函数集成到 Page 对象中

3、当某个函数方法被修改时,需要把修改后的完整的函数方法单独打印出来。

4、备注说明修改的代码块

5、新增文件/方法命名规范:首字母小写,如果是多个单词拼接的,则除首单词之外的其它单词首字母大写,示例:roleAttributeTemplate。

6、新增文件或者文件夹时请详细说明具体放到那个名字的目录下(不要说放到根目录)

7、注意:如果有类似margin-bottom: {{bottomSafeAreaHeight}}px的动态样式绑定应该放在WXML文件中而不是wxss文件中

8、充分考虑代码运行性能

将gaming页面的js和wxml代码复制粘贴给Ai


替换AI修改后的代码后保存-编辑-进入gaming页面,明显顶部和底部已经留出了一定间距。成功避开了手机屏幕上面的刘海和底部的一定区域。

然后我们切换到其它手机屏幕看看效果。

切换到iphone6-展示也是OK的。-注意我们只是实现了gaming页面的自适应,其它页面也需要用类似的方法让AI实现。

注意,要实现屏幕自适应我们代码中的所有与大小尺寸相关的单位都不能使用px,而是使用rpx。

比如以下wxss代码中的单位都是rpx就是OK的。

二、游戏页面优化


Ai指令:

我正在用微信开发者工具开发一款小程序

现在需要你在这个基础上开发新功能,且不影响原功能,具体需求如下:

1、调整gaming页展示事件描述的容器,使其宽固定,高跟随里面的实际内容高度动态调整,但是需要设置一个最大高度。

2、当点击继续剧情使,容器内的内容展示超出最高高度时,需要自动滚动,将底部看不见的内容自动滚动上来,能全部看见,建议用scroll-view的scroll-into-view属性来实现自动滚动。

3、当一行内容过多时需要自动换行。

注意事项:

最重要的事情:每个修改的方法函数必现将修改后的完整的方法函数打印出来,不要省略原来方法中的任何代码。

1、不要修改额外的东西,当修改已经有的函数时,不要修改函数名。

2、不要在一个函数中实现多个功能方法,每个方法都单独实现,然后在需要的地方调用,注意所有函数集成到 Page 对象中

3、当某个函数方法被修改时,需要把修改后的完整的函数方法单独打印出来。

4、备注说明修改的代码块

5、新增文件/方法命名规范:首字母小写,如果是多个单词拼接的,则除首单词之外的其它单词首字母大写,示例:roleAttributeTemplate。

将gaming页的代码复制丢给Ai


等待AI输出结果,并按照AI的说明替换相关代码后运行如下。

已经实现了以上需求。

注意:Ai可能并不能一次性就解决问题,当我们替换AI的代码后,如果有没有实现的功能,需要持续反馈给Ai,让其修改,直至实现效果。

以下是我完全用AI开发的小游戏,欢迎体验。

--完--

http://www.xdnf.cn/news/14642.html

相关文章:

  • 基于python代码的通过爬虫方式实现TK下载视频(2025年6月)
  • 【期末速成】编译原理
  • 【好用但慎用】Windows 系统中将所有 WSL 发行版从 C 盘迁移到 非系统 盘的完整笔记(附 异常处理)
  • C++ 中 QVector 的判断与操作
  • 【Linux第四章】gcc、makefile、git、GDB
  • TensorFlow 安装与 GPU 驱动兼容(h800)
  • 编程基础:调用访问
  • 【设计模式】4.代理模式
  • 基于YOLO的智能车辆检测与记录系统
  • `customRef` 在实战中的使用:防抖、计算属性缓存和异步数据获取
  • 【StarRocks系列】建表优化
  • SpringBoot电脑商城项目--显示勾选+确认订单页收货地址
  • ZooKeeper 3.9.2 集群安装指南
  • Jupyter notebook调试:设置断点运行
  • Kubernetes 集群性能优化实战:从资源分配到调度策略
  • `teleport` 传送 API 的使用:在 Vue 3 中的最佳实践
  • 为WIN10微软输入法的全角切换Bug禁用Shift+Space组合键
  • C++ unordered_set基础概念、对象创建、赋值操作、数据插入、数据删除、代码练习 1 2
  • 前端开发面试题总结-vue3框架篇(二)
  • 《map和set的使用介绍》
  • stm32串口(uart)2转发到串口(uart)3实现
  • Qt实战:自定义二级选项框 | 附完整源码
  • 为车辆提供路径规划解决方案:技术演进、挑战与未来蓝图
  • 网络编程及原理(六):三次握手、四次挥手
  • 【软考高级系统架构论文】论NoSQL数据库技术及其应用
  • 通过事件过滤器拦截QRadioButton点击事件
  • 算法第38天|322.零钱兑换\139. 单词拆分
  • 数据分析和可视化:Py爬虫-XPath解析章节要点总结
  • 【Python进阶系列】第9篇:聊聊 Python 中常用的第三方库
  • C++递归应用