Nekoplay
by tnkiiNekoplay
使用Nekoplay可以直接在浏览器中制作网页游戏。
随处分享游戏
使用Nekoplay可以创建:
‣ 复古街机游戏
‣ 解谜和逻辑游戏
‣ 地牢探险和Roguelike游戏
‣ 休闲小游戏
‣ 游戏原型
示例
绘制图像
绘制文本
播放声音
定义函数
学习 →
介绍
使用Nekoplay可以创建2D游戏。
您只需要现代浏览器和网络连接。
在线界面
Nekoplay托管在:
nekoplay.niupleis.com
学习应该很简单,您可以跟随这个5课指南:
介绍
1. 游戏设置
2. 工具
3. 文本编辑器
4. 游戏
5. 最佳实践
API
要使用Nekoplay开发游戏,您需要熟悉API。
▹ audio••••••控制音频轨道
▹ camera•••••控制相机位置
▹ cursor•••••处理触摸手势和鼠标事件
▹ div••••••••HTML 元素
▹ draw•••••••在屏幕上绘制内容
▹ ease•••••••数值插值
▹ file•••••••保存、加载和删除数据
▹ get••••••••加载文件和资源
▹ hitbox•••••碰撞检测
▹ key••••••••检测键盘输入
▹ scancode•••检测物理键盘输入
▹ physics••••物理模块
▹ random•••••生成随机数
▹ set••••••••绘图设置
▹ scene••••••控制场景
▹ Android••••Kotlin 接口
Nekoscript
Nekoscript是专为Nekoplay设计的简单、富有表现力的脚本语言。
其语法与Javascript兼容。
您可以从编写普通Javascript代码开始,Nekoplay会自动解释并应用必要的转换。
‣ Nekoscript参考 - Nekoscript参考文档
‣ MDN JavaScript指南 - 学习JavaScript的完整官方参考
‣ 现代JavaScript教程 - 理解基础和高级概念的详细最新教程
开始制作游戏
1. 访问页面
2. 配置游戏
输入游戏名称、尺寸和图形设置。
这些设置可以稍后更改。
3. 开始编程
使用nekoscript为游戏编程。
通过阅读教程学习。
图像、音频或文件等资源需要从网络获取。
4. 导出游戏
点击文件 → 导出
检查游戏设置并点击继续
根据资源大小,过程可能需要一些时间,如果遇到错误请多次重试。
过程完成后,您的.zip文件将自动下载。
界面指南 ↗
API →
API
NekoPlay使用专为简单直接地制作2D游戏而设计的自有API。
该API包括draw.rectangle、@key.pressed、draw.sprite等函数。所有设计都让您无需依赖外部库或复杂配置即可编写游戏逻辑。
NekoPlay API不断更新,不仅修复错误,还随着引擎发展添加新功能和简化流程。
这样工作是因为NekoPlay专注于积极开发,适应创建游戏的新思路和新方法。
Api 1.4.3
▹ audio••••••控制音频轨道
▹ camera•••••控制相机位置
▹ cursor•••••处理触摸手势和鼠标事件
▹ div••••••••HTML 元素
▹ draw•••••••在屏幕上绘制内容
▹ ease•••••••数值插值
▹ file•••••••保存、加载和删除数据
▹ get••••••••加载文件和资源
▹ hitbox•••••碰撞检测
▹ key••••••••检测键盘输入
▹ scancode•••检测物理键盘输入
▹ physics••••物理模块
▹ random•••••生成随机数
▹ set••••••••绘图设置
▹ scene••••••控制场景
▹ Android••••Kotlin 接口
版本 →
当前版本
当前版本为1.4.3。
v1.4.3
(2025年11月16日)
导出到Windows
文件 → 导出 → Windows
模块 Windows
Windows.closeGame
Windows.minimize
Windows.maximize
Windows.fullscreen
v1.4.2
(2025年11月12日)
draw中的新函数
draw.animation()
错误修复: 导出到Android时的错误
v1.4.1
(2025年11月5日)
改进'nkp'文件的手动保存。
改进缩放逻辑。
audio中控制功能的改进。
错误修复: div中未定义'onclick'事件。
错误修复: camera中动态摄像机未初始化。
v1.4.0
(2025年11月3日)
新模块 physics
physics.material()
physics.contact()
physics.body()
physics.wire()
physics.chain()
physics.bumper()
physics.prism()
physics.tape()
physics.cable()
physics.gear()
physics.lock()
physics.spring()
physics.torsor()
physics.gravity()
camera中的新函数
camera.follow()
camera.frame()
camera.page()
cursor中的新函数
cursor.swipe()
cursor.scroll()
div中的新函数
div.progress()
audio中的新函数
<audio>.sfx()
<audio>.log()
Nekoscript
动态代码执行 eval()
新主题
vaporwave
变更: draw.circle中圆默认居中
错误修复: 鼠标状态保持为active
错误修复: 导出时div元素的默认样式未定义
错误修复: Android中未定义全屏类型
错误修复: every无法正确访问$dt
错误修复: wait导致错误
v1.3.0
(2025年10月15日)
导出到Android
文件 → 导出 → Android
Android 模块 - Kotlin接口
Android.closeGame
Android.showToast
Android.requestNotifications
Android.notification
Android.fileSet
Android.fileGet
Android.fileDel
Android.fileExists
Android.fileSize
Android.fileList
div.button: 添加带事件的按钮。
重命名模块 gesture → cursor
(为避免歧义)
新主题
卡片主题
虚空主题
魔法变量和函数现在用$书写
之前: @fps @dt @messages
现在: $fps $dt $messages
新图形: 带旋转的矩形
5值数组,最后一个是角度:[x, y, w, h, r]
示例:
draw.rectangle([0, 0, 480, 270, 45])
hitbox.collision([8, 8, 32, 32, 16], [16, 16, 24, 24, 35])
gesture.click([64, 64, 16, 20, 110])
Nekoscript
用'访问字符串外部对象: 'Hello ${name}'
现在可以不用global声明全局变量
typeof - 检查对象类型
twice - 每序列执行一次
otherwise - else的别名
purr - 定义函数 (func的别名)
meow - 控制台输出 (print的别名)
forever - 永久执行
sometimes - 有时执行
maybe - 概率执行
?[] - 随机变量
Nekoscript 参考 →
图形改进
错误修复: once在`main`中执行两次
错误修复: div元素在同步'load'时未重置
v1.2.0
(2025年9月4日)
div: HTML元素模块
div.input: 添加文本输入区域
命令行
信息在: 界面 - 第4课
Nekoscript
every
wait
message
on
once
remove
@messages
信息在: 游戏导向 和 常量
v1.1.0
(2025年7月18日)
gesture: 圆形区域检测
gesture.hover
gesture.active
gesture.click
gesture.released
与Nekoscript完全集成
draw模块功能移至set模块
keyboard模块变更
逻辑分为key和scancode两个模块
keyboard.pressedKeys → @keys
keyboard.pressedScancodes → @scancodes
新功能hitbox.inside
ease模块重构
移除audio.newAudio
使用get.audio
移除image.newImage
使用get.image
移除json模块
使用get模块
audio API重构
移除scene.load
scene.change支持"async"加载
基于iframe的显示
之前是canvas会导致延迟
v1.0.2
(2025年6月29日)
修复资源导出错误
修复触摸屏上gesture.getPosition错误
修复管道错误
v1.0.1
(2025年6月21日)
Nekoscript集成
v1.0.0
(2025年6月20日)
自动缩放
框架: 加载 → 循环
场景
全局脚本
Chromium支持
场景编辑器
脚本编辑器
实时同步
导出
导出为<iframe>
导出为<canvas>
导出包含index.html
保存游戏 .nkp
导入游戏 .nkp
保存场景 .nkscene
导入场景 .nkscene
保存脚本 .nkscript
导入脚本 .nkscript
语言
English
Español
Português
中文
日本語
한국어
维基
API
音频
加载音频 (url)
播放音频
暂停音频
停止音频
音频跳转
音量
音量平衡 (左/右)
2D相机
改变相机
重置相机
绘图
加载图像 (url)
绘制图像
绘制精灵
绘制矩形
绘制线条
绘制多边形
绘制圆形
绘制弧线
绘制文本
颜色
透明度
效果
滤镜
数值平滑
存储数据 (存档)
获取存储数据
修改/删除存储数据
鼠标输入
触摸输入
光标位置
点击位置
光标状态
计算光标状态和位置
矩形碰撞
多边形碰撞
获取游戏信息
帧率
游戏时间
场景时间
场景
加载文件
加载json (url)
加载文本文件 (url)
加载Blob (url)
加载二进制 (url)
键盘输入
按键状态
活动按键
随机数
随机决策
计算概率
加载场景
场景过渡
主题
night主题
eclipse主题
snow主题
power主题
space主题
tokyo主题
arcade主题
cyberpunk主题
retro主题
lsd主题
arizona主题