js深入
摘要:// const test = {} // Object.defineProperty(test,'test',{ // value: 'test', // enumerable: true, // writable: true, // configurable: true // 可配置的,就是能用
阅读全文
posted @
2021-09-09 22:46
hhvfg
阅读(52)
推荐(0)
46.全排列
摘要:const arr = [1, 2, 3, 4] const p = [] const res = [] const visited = new Array(arr.length).fill(false) const f = (depth) => { if (depth.length arr.len
阅读全文
posted @
2021-09-09 11:30
hhvfg
阅读(51)
推荐(0)
5.最长回文子串
摘要:// 找出最长的回文子串 let s = 'ac' const judge = (s) => { let arr = Array.from(s) let mid = 0 if (arr.length % 2 0 ) { mid = arr.length / 2 -1 } else { mid = M
阅读全文
posted @
2021-09-09 10:28
hhvfg
阅读(19)
推荐(0)
不含重复元素的最长子串长度
摘要:// 不含重复元素的最长子串长度 let s = 'abcabbcb' const judge = (s) => { return Array.from(s).length Array.from(new Set(s)).length? true: false } const f = (s) => {
阅读全文
posted @
2021-09-09 10:17
hhvfg
阅读(69)
推荐(0)
最大和子数组-题号未知
摘要:const arrSum = (arr) => { return arr.reduce((a, b) => { return a+b }, 0) } const f = (arr) => { // ..... let max = -Infinity for (let i = 0;i < arr.le
阅读全文
posted @
2021-09-09 09:50
hhvfg
阅读(25)
推荐(0)
双人打僵尸小游戏开发--canvas(三.5)
摘要:这部分功能的实现过程中,笔者遇到了一个问题。 原本的drawShot函数是这么写的: const drawShot = () => { // cancelAnimationFrame(handle) // cRole.clearRect(0, 0, WIDTH, HEIGHT) // drawRol
阅读全文
posted @
2021-09-08 14:56
hhvfg
阅读(129)
推荐(0)
双人打僵尸小游戏开发--canvas(三.4)
摘要:当按下空格键时,有两个步骤。首先绘创建一个子弹类的实例,塞入子弹库数组 Ammunition中,其中的getAmmunPix函数用于根据当前role的位置和方向,确认枪口的位置。。然后调用drawShot函数执行,绘制出弹药库中的所有子弹类实例。drawShot函数如下所示: // 空格键触发射击动
阅读全文
posted @
2021-09-08 14:44
hhvfg
阅读(91)
推荐(0)
双人打僵尸小游戏开发--canvas(三.3)
摘要:(2). 通过方向键控制移动,按下空格射出子弹。 首先需要有一个全局函数,能够监听用户的按键值,其实就是onmousedown啦。 // 全局监听按键触发对应操作 document.onkeydown = (e) => { const target = Number(e.which) switch
阅读全文
posted @
2021-09-08 10:33
hhvfg
阅读(120)
推荐(0)
双人打僵尸小游戏开发--canvas(三.1)
摘要:我们通过canvasRole.getContext('2d')得到了个啥?官方说法是一个canvas上下文,实际看成一个canvas对象就行,拥有着众多属性,当然这不是一个普通对像。。。 在前文中,我们借助requestAnimationFrame函数,实现了众多圆球随机跳动的效果。其中所涉及到的知
阅读全文
posted @
2021-09-08 10:23
hhvfg
阅读(94)
推荐(0)
双人打僵尸小游戏开发--canvas(三..2)
摘要:下面,我们一步步的来实现上述的七点需求。 (1): 游戏的开始,我们需要一个函数initCanvas 来初始化游戏世界。具体包括,获取画布,创建并显示人物。代码如下: // 初始化游戏世界 const initCanvas = () => { const canvasRole: any = docu
阅读全文
posted @
2021-09-08 07:37
hhvfg
阅读(132)
推荐(0)
前端杂谈--浏览器渲染那些事儿
摘要:以前一直没太关注过浏览器的渲染机制,因为在日常开发中,你完成功能就行了,管什么浏览器渲染呢?但是吧,对于那些想要进阶自己、知晓前端一切的新时代农民工而言,这东西还是有必要了解一下的。 之前的理解很简单,浏览器怎么渲染的?前端获取到后端返回的资源,根据html代码生成dom数,根据css代码生成样式数
阅读全文
posted @
2021-09-07 08:08
hhvfg
阅读(48)
推荐(0)