热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

一个简易的DIY场景H5框架

第一次发项目,以供大家学习参考,可能有些简陋,若有不合理处,请大神们指教。最近在朋友圈出现了很多DIY类的H5游戏,通过添加拖拉摆放和组合元素,来DIY自定义一个场景并合成图片分享

第一次发项目,以供大家学习参考,可能有些简陋,若有不合理处,请大神们指教。

最近在朋友圈出现了很多DIY类的H5游戏,通过添加拖拉摆放和组合元素,来DIY自定义一个场景并合成图片分享出去的新H5展示形式。笔者也用操作DOM的形式做了一个类似项目,现在整合成一个简易的框架分享给大家,只需要根据自己的需要完成布局与样式的编写,以及按下面指示操作,就可以生成一个自己的空间定制H5。

github地址:https://github.com/kilojq/cus...

目录结构

├─  package.json        # 项目配置
├─  README.md           # 项目说明
├─  node_modules        # npm依赖包
├─  webpack.config.js   # webpack配置文件
├─  .babelrc            # babel配置
│
│
├─  src                 # 前端代码
│    │
│    ├─ App.js               #  项目入口文件
│    ├─ index.html           #  首页
│    ├─ data.js              #  图片数据文件,由build-data-json.js生成
│    ├─ css                  #  样式文件夹
│    ├─ js                   #  脚本文件夹
│    ├─ media                #  背景音乐文件夹 
│    └─ img                  #  图片文件夹
│
│
├─  utils               # 工具文件
│    │
│    └─ build-data-json.js   # 用于自动生成图片数据文件,并复制打包图片
│    
│
└  Demo                 # 案例文件

运行

安装依赖模块:

npm install

生成图片data.js图片数据文件:

npm run build-json

生成打包文件:

npm run build

app running at http://localhost:9000/:

npm start

注:运行第一次运行项目或是img文件夹里面的文件有变动时,运行 npm start 命令前需要先运行 npm run build-jsonnpm run build 命令,先生成或更新data.js文件

说明

项目由于需要按一定格式自动生成图片 json 数据,用于项目预加载以及图片拖拽元素的遍历生成,而 webpack 打包图片会打包处理文件,改变图片的目录结构,没法满足这一要求,所以我自己封装了方法来实现这个功能,即 utils/build-data-json.js ,可通过执行 npm run build-json 命令来实现。

这里图片预加载和页面中拖拽元素的图片引用的路径,都交给node去生成,要注意的是图片文件的放置要按要求来,页面UI界面相关的图片请统一放在 img/ 文件夹的根目录下,而选项图片请分类放在不同文件夹中,并将这些分类文件夹放在 img/Assest 目录里。这样项目运行时会根据分类文件夹,以文件夹名自动生成对于的元素菜单选项,如下图:

技术图片

如果要修改选项名,可通过配置入口文件 src/App.js 的 App.init()tabBtnNames 选项来实现,详见初始化配置部分。

效果:

技术图片

初始化配置

暂时只有选项名一项配置,后续将逐步更新其他的功能和配置选项,如果背景更换,元素是否可旋转,缩放等等功能。

var cOnfig= {
    tabBtnNames: {
        "Furniture": "家具",
        "Kid": "人物",
        "Cat": "猫",
        "Dog": "狗",
    }
}
App.init(config)

截图

技术图片

最后

项目案例中的图片借用了相关H5的图片,未做商用,若相关版权方觉得构成侵权,请联系我(QQ: 418291886),可立马删除。

本文转载于:一个简易的DIY场景H5框架

一个简易的DIY场景H5框架


推荐阅读
  • 回顾两年前春节期间的一个个人项目,该项目原本计划参加竞赛,但最终作为练习项目完成。独自完成了从编码到UI设计的全部工作,尽管代码量不大,但仍有一定的参考价值。本文将详细介绍该项目的背景、功能及技术实现。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • Requests库的基本使用方法
    本文介绍了Python中Requests库的基础用法,包括如何安装、GET和POST请求的实现、如何处理Cookies和Headers,以及如何解析JSON响应。相比urllib库,Requests库提供了更为简洁高效的接口来处理HTTP请求。 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • Windows操作系统提供了Encrypting File System (EFS)作为内置的数据加密工具,特别适用于对NTFS分区上的文件和文件夹进行加密处理。本文将详细介绍如何使用EFS加密文件夹,以及加密过程中的注意事项。 ... [详细]
  • 如何在PHP中安装Xdebug扩展
    本文介绍了如何从PECL下载并编译安装Xdebug扩展,以及如何配置PHP和PHPStorm以启用调试功能。 ... [详细]
  • 心理学经典:《思考致富》
    《思考致富》是由美国著名成功学大师拿破仑·希尔撰写的一部重要著作,该书基于希尔长达20年的深入研究和访谈,探讨了个人成功的核心要素。书中不仅揭示了成功的关键,还提供了一系列实用的方法和策略。 ... [详细]
  • 深入解析WebP图片格式及其应用
    随着互联网技术的发展,无论是PC端还是移动端,图片数据流量占据了很大比重。尤其在高分辨率屏幕普及的背景下,如何在保证图片质量的同时减少文件大小,成为了亟待解决的问题。本文将详细介绍Google推出的WebP图片格式,探讨其在实际项目中的应用及优化策略。 ... [详细]
  • 本文将详细介绍如何在二进制和十六进制之间进行准确的转换,并提供实际的代码示例来帮助理解这一过程。 ... [详细]
  • 小编给大家分享一下Vue3中如何提高开发效率,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获, ... [详细]
  • 提升移动应用用户体验的8个设计策略
    随着移动应用成为数字世界连接的关键桥梁,用户体验(UX)设计的重要性日益凸显。本文将探讨为何优质的UX设计对移动应用的成功至关重要,并分享8个实用的设计技巧,帮助开发者优化用户体验。 ... [详细]
  • 在将 Android Studio 从 3.0 升级到 3.1 版本后,遇到项目无法正常编译的问题,具体错误信息为:org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:processDemoProductDebugResources'。 ... [详细]
  • 使用TabActivity实现Android顶部选项卡功能
    本文介绍如何通过继承TabActivity来创建Android应用中的顶部选项卡。通过简单的步骤,您可以轻松地添加多个选项卡,并实现基本的界面切换功能。 ... [详细]
  • 张正友相机标定算法解析:无需棋盘格
    本文深入探讨了张正友教授于1998年提出的单平面标定技术,该方法结合了传统标定与自标定的优势,通过简易的棋盘格实现了高效准确的相机标定。 ... [详细]
author-avatar
周扒pi
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有