功能:
按下 Enter
后,将数字从 0
渐变到 100
或反向渐变。
注释:
使用 event.preventDefault();
来阻断鼠标原本的滚动功能。
使用 Math.sin
或其它方法来改变渐变速度。
仓库:
https://github.com/LazyKnightX/samples/tree/main/samples/html/html-002
参考:
功能:
按下 Enter
后,将数字从 0
渐变到 100
或反向渐变。
注释:
使用 event.preventDefault();
来阻断鼠标原本的滚动功能。
使用 Math.sin
或其它方法来改变渐变速度。
仓库:
https://github.com/LazyKnightX/samples/tree/main/samples/html/html-002
参考:
核心:
addEventListener("wheel", (event) => {});
注释:
使用 event.preventDefault();
来阻断鼠标原本的滚动功能。
仓库:
https://github.com/LazyKnightX/samples/tree/main/samples/html/html-001
参考:
index.html
1 | <!DOCTYPE html> |
script.js
1 | let c = 1; |
通过如下方式编写注释来实现不同事件的智能提示。
1 | ---@class Player |
通过如下方式编写注释来实现不同属性的智能提示。
1 | plr:inc_attr('@攻击力', 100) |
这是今天在工作中遇见的一个有趣的动态数据的实现需求。
构成:
销售品的最终价格数据会在两个地方使用:
我们的实现逻辑可以分为手动刷新和实时演算。
手动刷新:
修改价格相关参数后,手动刷新商店价格。
这种做法意味着每一次修改价格参数后都需要运行一次刷新方法。
可能会出现由于编写者疏忽或者不同编写者协作不清楚规则导致价格没有实时刷新。
实时演算:
由于无论是界面信息还是执行销售都一定会执行一次获取价格的操作,我们可以把最终价格的演算直接放到“获取”这一操作中。
我在这里采用了实时演算的做法,获取最终价格是低频操作,这里产生的计算开销几乎可以忽略不计。
同时由于影响价格的参数可能会是多方面的,手动刷新出错率高,实时演算可以让后续开发不用顾忌这个问题。
如何设计回收?
回收的基础是你创建了一个程序对象,这个对象占用了一定的程序资源。
当这个对象使用完成以后,你需要解除它占用的程序资源。
在基于任意工具的二次开发工作中,这些工具提供了对象本身的创建和删除API。
在这种情况下,如果创建了这个对象以后,你为它添加了额外的功能模块,那你就需要在这个对象被删除的时候,一并删除额外的这些功能模块。
所有的回收逻辑都是基于此建立起来的。
如果回收设计出现难点,往往是回收流程逻辑的设计缺陷。
如果程序流程设计不清晰,在后期运行中就会遗忘某些东西有没有成功被回收,自然就会导致回收失败。
回收有没有成功?
回收的时间点有没有设计清晰?
所有的组件有没有遗漏?
这些工作的关键在于及时和仔细,容不得疏忽。
前期的每一个疏忽会变成后期的孔洞,这是程序开发的难点。
游戏开发中要维护大量的游戏逻辑事件。
如果底层的事件逻辑没有设计清楚,在进行游戏内容开发的时候就会束手束脚,或是频繁被不完善的底层逻辑干扰。
头疼。
逻辑:
演示图:下载
参考:魔兽3坐标图
想要修改魔兽3小地图的尺寸和位置,必须在地图初始化时进行修改。
如果使用Lua进行地图逻辑开发,同时项目有大量的脚本需要加载,可能会导致游戏实际运行时已经绕开了地图初始化的时间点。
在目前实践中发现,最好直接通过WE触发器修改小地图,然后在Lua脚本中进行别的操作。
2024-5-21 03:40:18
体验了一下LuaRocks。
Luarocks 3.11.0 在 Lua 5.4.6 情况下安装模块,始终给出下方提醒。
Warning: Failed searching manifest: Failed downloading … - proxy not supported
Google也没有找到相关解决办法,这太蠢了。
下载Lua源码,复制下面仓库中的Compile.bat,放到源代码目录下运行。
https://github.com/Pharap/CompilingLua
形成目录结构:
1 | /lua-x.x.x |
注意下方路径需要添加到PATH中。
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
可能需要安装MSVC v140。
如果不需要非得编译源码,只希望使用Lua并且不特别在意版本,可以使用 Lua for Windows (Lua 5.1) 。
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia-plus根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true