网站首页 > 技术文章 正文
我计划做一个小游戏开发的连载教程,涉及的游戏包括:2048,连连看,走出迷宫,扫雷,拼图,贪吃蛇,数独,人机对战五子棋,消消看,俄罗斯方块等,也许还会有其它游戏,比如:泡泡龙,要看我的能力和精力了;
其实以上10款游戏是我6年前写好的,当时能力受限,没能完成泡泡龙的开发,就一直搁置了,这是我心中的一个遗憾;现在,重新阅读旧代码,感觉写得很烂,难以拿出手,所以打算采用新的架构设计,用现在所掌握的技术重新开发一遍,力争做到在手机和电脑上都可以很好呈现;
由于这周开始比较忙了,工作比较累,工作日的晚上我也想休息一下,可能无法每天一篇了,但我会尽力而为;本篇我们来个轻松一点的教程:小游戏开发项目搭建
我新版本小游戏计划采用vite + vue3 + vue-router + canvas,开发用的编程语言是JavaScript,我曾经想过使用typescript,但害怕很多童鞋不熟悉typescript,经过思考,还是用JavaScrip比较好;vite是Vuejs作者开源的一个基于Rollup和esbuild的打包工具,很容易上手,大家可以去vite官网了解一下,我们的游戏代码中会使用一些vue3的组合式API,大家可以到vuejs官网学习一下,很简单的;由于我们的游戏界面是使用canvas绘制的,所以需要使用大量canvas API,大家可以到mdn了解一下canvas API,不需要一定很熟悉,用到的API我都会简单介绍的,争取让所有童鞋都能够理解;
现在,我们开始搭建起项目。首先,在小游戏项目存放目录打开cmd,运行以下命令初始化一个vue3的项目,我使用的yarn,也推荐大家使用,我假定童鞋们都会使用npm或yarn;
# yarn
>>> yarn create vite h5-games --template vue
# npm 6.x
>>> npm init vite@latest h5-games --template vue
# npm 7+, 需要额外的双横线
>>> npm init vite@latest h5-games -- --template vue
项目创建完成后,进入h5-games目录,安装依赖
>>> cd h5-games
>>> yarn
依赖安装完成后,我们就可以运行以下命令启动项目了;然后,我们打开浏览器,地址栏输入:http://localhost:3000,就可以访问我们的网站了;
yarn dev
现在,我们添加一些依赖,首先安装vue-router@4.x
yarn add vue-router@4
然后,添加用于支持less的开发环境依赖
yarn add less -D
然后,在src目录创建一个views文件夹,并在该文件夹新增2个文件:Home.vue,Game.vue,创建一些占位代码,如下这样:
// Home.vue
<template>
<div>Home</div>
</template>
// Game.vue
<template>
<div>Game</div>
</template>
然后,将App.vue文件代码替换为:
<template>
<router-view />
</template>
<style lang="less">
* {
box-sizing: border-box;
padding: 0;
margin: 0;
}
html {
font-size: 14px;
}
body {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
background-color: #fff;
}
li {
list-style: none;
}
a, canvas {
cursor: pointer;
-webkit-tap-highlight-color: transparent;
}
canvas {
user-select: none;
transform: translateZ(0);
backface-visibility: hidden;
perspective: 1000px;
}
a {
text-decoration: none;
}
</style>
然后,在src目录创建router.js文件,代码如下:
import { createRouter, createWebHashHistory } from 'vue-router'
export default createRouter({
history: createWebHashHistory(),
routes: [
{
path: '/',
component: () => import('./views/Home.vue')
},
{
path: '/:id',
name: 'game',
component: () => import('./views/Game.vue')
}
]
})
然后,将main.js文件代码替换为:
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
const app = createApp(App)
app.use(router)
app.mount('#app')
然后,结束开发服务,运行yarn dev重新启动,确保访问http://localhost:3000网址时,页面左上角显示Home,访问http://localhost:3000/#/33网址时,页面左上角显示Game;最后,给大家放张代码截图;
这就是我们的小游戏基础项目搭建,希望童鞋们都能理解,感谢阅读!
猜你喜欢
- 2024-12-19 this is a test This is a test message.
- 2024-12-19 写给前端同学的Nginx配置指南 前端nginx 配置详解
- 2024-12-19 web前端开发 | 对小程序的理解及分包
- 2024-12-19 汽车大灯灯泡前有黑色的东西,会不会影响行车安全
- 2024-12-19 开源旅游小程序-前端+后端程序,源码开放,支持二次开发
- 2024-12-19 PS抠形体轮廓有出现白边,快速去除小技巧
- 2024-12-19 这个交互式个人博客能让你眼前一亮??? ?
- 2024-12-19 引擎盖一边缝隙宽一边窄 汽车缝隙不均
- 2024-12-19 Node.js 知识点总结(1) node.js的理解
- 2024-12-19 2024为什么前端都应该掌握Nextjs 或 Nuxtjs
你 发表评论:
欢迎- 05-11FANUC修改前端目录教程
- 05-11前端分享-Set你不知道的事
- 05-11jq+ajax+bootstrap改了一个动态分页的表格
- 05-11千万级大表分页查询效率剧降,你会怎么办?
- 05-11Elasticsearch深度分页
- 05-11如何写一个简单的分页
- 05-11手速太快引发分页翻车?前端竞态陷阱揭秘
- 05-11「linux」Socket缓存是如何影响TCP性能的?
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端懒加载 (45)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle约束 (46)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)