Giter Club home page Giter Club logo

Demo

简介

如题,用js/canvas还原Phigros游戏画面,属于个人兴趣项目,仅用于学习和测试;

模拟器代码部分为作者独立编写,与《Phigros》游戏本体无关,您因使用或修改代码所造成的一切后果由您自己承担;

不提供游戏本体安装包及逆向工具/教程,也不提供谱面下载;

模拟器并不拥有官方素材(如音符贴图/打击音效/结算UI)的版权,如有侵权请联系模拟器作者下架相关内容。

感谢@Mac-Fus提供虚拟机支持

感谢@星星awa提供Safari适配思路

更新日志

[1.4.19] - 2022.6.11

优化

  • 优化UA识别策略 (针对iPad/Safari)
  • 优化字体渲染 (调整为Mina+NotoSans)

修复

  • 修复长度超过一定值的Hold在旋转一定角度时不正常显示的bug

[1.4.18] - 2022.5.23

更改

  • 微调NotepositionX与画面宽度的比值 (由1/18改为9/160)

修复

  • 修复部分官方谱面Note显示异常的bug (感谢@MayLight39提供反馈)

[1.4.17] - 2022.5.17

新内容

  • 新增图片加载检测

优化

  • 针对UA标识为iOS和MacOS的设备禁用图片缓存

[1.4.16] - 2022.5.1

新内容

  • 修改音乐变速时支持存档(不同速度安排不同存档位)
  • 现在结算界面会显示具体变速数值(修改音乐变速时生效)

优化

  • 优化第三方js的加载逻辑和相关提示
  • 现在文本输入溢出时会缩排(即超过一定长度时缩小字号)

更改

  • 显示定位点Note定位文字改为判定线序号±Note序号+Note类型
    • (例如0号判定线上方的0号Note,如果是Tap则定位文字为0+0t)

修复

  • 修复了系统时间可能的自动修正导致谱面瞬移的bug

[1.4.15] - 2022.3.31

新内容

  • 新增pec谱面Note方向数值检测
  • 没有别的更新了qwq

修复

  • 修复了部分包含时间异常事件的谱面不正常显示的bug

已删除

  • 移除HyperMode

[1.4.14] - 2021-12-23

新内容

  • 新增功能:谱面镜像(实时生效)
  • 新增功能:音乐变速(非实时生效,启用时无法存档)
  • 新增Early/Late特效复选框(测试功能)

更改

  • 现在信息选项卡无信息时会显示一条文案

[1.4.13] - 2021-11-22

新内容

  • 新增HyperMode:更加严格的判定和结算(测试功能)
  • 新增Great判定:40-80ms(显示为绿色特效,HyperMode特有)
  • 新增Early/Late统计(结算界面点击切换)

更改

  • 针对低帧率画面调整打击判定,提升稳定性
  • 暂停时点击画面不再触发打击判定

修复

  • 修复了部分设备非全屏触摸点向上错位的bug

[1.4.12] - 2021-11-15

新内容

  • 新增zip模块兼容性检测(测试功能)

修复

  • 修复了画面高度小于一定值时全屏触摸点向下错位的bug
  • 修复了pec谱面结尾的n指令无法正常读取的bug

已删除

  • 移除可选链操作符和WebAssembly兼容性检测
  • 移除视频录制功能

[1.4.11] - 2021-10-23

新内容

  • 新增pec谱面事件时间检测(测试功能)

更改

  • Hold添加多押高亮(与官方v2.0.0一致)

修复

  • 修复了画面高度大于一定值时部分Note无法正常显示的bug
  • 修复了pec谱面结尾的n指令无法正常读取的bug

[1.4.10] - 2021-10-10

更改

  • 画面左上角播放进度:暂停时会显示(Paused)

修复

  • 修复了info.csv配置不当导致谱面显示错误的bug
  • 修复了进入结算界面之前重新开始仍会结算的bug

[1.4.9] - 2021-10-03

更改

  • 画面左上角播放进度:当分钟小于10时不再补0

修复

  • 修复了因上版本播放逻辑造成音频撕裂的bug(将播放逻辑回退至1.4.7)
  • 修复了过渡动画结束前判定时间内的Note可以被打击的bug
  • 修复了进入结算界面之前重新开始仍会结算的bug

[1.4.8] - 2021-09-21

优化

  • 优化音频播放逻辑,使音频与谱面保持同步

修复

  • 修复了过渡动画结束前判定时间内的Note可以被打击的bug
  • 修复了进入结算界面之前重新开始仍会结算的bug
  • 修复了部分不支持视频录制的浏览器无法使用模拟器的bug

[1.4.7] - 2021-09-20

新内容

  • 新增浏览器兼容性检测(测试功能)
  • 新增pec谱面异常Note和负数Alpha检测(测试功能)

优化

  • 为iPhone全面屏提供适配

[1.4.6] - 2021-09-15

新内容

  • 隐藏文件:zip内包含以.开头的文件将被隐藏,不会显示在选项框

优化

  • 优化图像和字体渲染
  • 为Safari浏览器适配全屏功能

更改

  • Hold连续打击特效间隔现在与判定线bpm成反比
  • Autoplay开启时,结算画面不再显示"+0"
  • 产生Bad判定的Note现在会跟随判定线
  • pec谱面默认偏移由-150ms改为-175ms

[1.4.5] - 2021-09-10

新内容

  • 新增键盘操作,感受极其生草的游戏体验(测试功能)

优化

  • 为Safari浏览器适配离屏自动暂停功能

更改

  • 若Bad判定范围内的Tap前方存在未打击的DragFlick将不触发Bad判定
  • 暂停快捷键由Space(空格)改为Shift(左右Shift均可)
  • 调整了结算界面AUTO PLAY的显示位置

[1.4.4] - 2021-09-09

新内容

  • 新增触摸反馈背景模糊复选框(实时生效)
  • 新增本地存档(仅在关闭Autoplay并开启过渡动画时存档)

优化

  • 对Safari浏览器进行部分适配
  • 优化文件读取逻辑,现在能够支持更多文件类型
  • 优化图像渲染

更改

  • 结算界面背景音乐会随等级变化(仅在进入结算界面前生效)

[1.4.3] - 2021-09-02

新内容

  • 新增功能:谱面延时(非实时生效)
  • 添加防止模拟器泛滥的提示
  • 新增错误提示(现在导入不包含音乐的zip文件也会报错)

优化

  • 优化页面布局

更改

  • Hold渲染由倒序改为顺序(其余Note渲染顺序仍为倒序)
  • 导入zip:背景图片由必需改为可选(无图片时将替换为纯白背景)
  • 过渡动画由逐帧控制改为计时器控制

修复

  • 修复了过渡开始动画判定线颜色不随FC/AP指示器变化的bug

[1.4.2] - 2021-09-01

更改

  • 双击判定区域由圆形改为矩形

修复

  • 修复了无法判定HoldTime小于0.2s的Hold的bug

[1.4.1] - 2021-09-01

新内容

  • 新增画面双击判定:左上角暂停,右上角重新开始

优化

  • 优化触摸点定位逻辑

更改

  • 增大画面双击判定范围(现在与画面文字大小成正比)

修复

  • 修复了开启显示定位点时无法统计note数目的bug
  • 修复了逐帧判定导致严重吃音的bug
  • 修复了结算界面"φ"评级有几率错误地显示为“V”的bug

[1.4.0] - 2021-08-31

新内容

  • 新增FC/AP指示器复选框(实时生效)
  • 新增游玩模式(测试功能,需关闭Autoplay复选框)
  • 新增结算界面(测试功能,在歌曲结束后出现,需开启过渡动画复选框)
  • 新增错误提示(导入非zip文件或不包含谱面的zip文件均会报错)

优化

  • 优化图片颜色渲染机制

更改

  • 打击特效动画更加接近官方(1.6.11)
  • 单个打击特效时长由30tick改为500ms
  • 切换全屏的方式改为双击画面右下角

修复

  • 修复了关于pec谱面第一个bp指令延时不为0导致谱面错误偏移的bug

[1.3.2] - 2021-08-16

优化

  • 优化绘制逻辑,提升性能

修复

  • 修复无判定线事件的谱面无法播放的问题

更改

  • Note定位文字改为判定线序号±Note序号(例如0号判定线上方的第0个Note定位文字为0+0)

[1.3.1] - 2021-08-11

新内容

  • 新增功能:视频录制(测试功能,录制时无法暂停)

更改

  • 实装info.csvline.csv,简介新增悬浮提示
  • 连击字样combo改为Autoplay
  • 显示定位点:画面左下角显示不同种类已打击Note的实时数量,负数Note以半透明显示

[1.3.0] - 2021-07-11

新内容

  • 对pec谱面的bpm变速功能进行适配
  • 新增功能:过渡动画(包含开头淡入和结尾淡出,不包含结算)
  • 新增输入框(曲绘、谱师),对应过渡动画
  • 通过添加line.csv以修改判定线贴图(测试功能)
  • 通过添加info.csv以自动填写谱面信息(测试功能)

优化

  • 优化zip文件读取逻辑(数组→对象)
  • 优化判定线和背景的绘制顺序
  • 调整背景和UI对不同尺寸屏幕的适配
  • 打击特效动画采用缓动函数
  • 调整打击音效与官方v1.6.10一致
  • 优化播放/停止暂停/继续按钮相关逻辑

更改

  • 宽高比下拉列表新增10:7(适配iPad Pro 11),将256:175改为19:13(适配Phi Editor)
  • 显示定位点:判定线数字透明度随判定线透明度变化,Note打击后变为半透明
  • Hold尾判调整为提前0.2秒得分
  • Hold连续打击特效间隔由12tick缩短为9tick

修复

  • 修复了部分谱面Note打击时间异常的bug
  • 修复了有关pec谱面判定线事件time不精确导致排序错误的bug
  • 修复了点击停止按钮后按住的Hold无法关闭导致连击得分溢出的bug

[1.2.2] - 2021-07-03

新内容

  • 显示定位点现在能对Note进行定位(测试功能)

修复

  • 修复包含文件夹的zip无法正确加载的问题
  • 修复了部分谱面Note速度异常及Hold错位的bug

更改

  • 谱面默认速度:1.01.2(json),1/5.751/7.0(pec)
  • 打击特效颜色:#fce491(Perfect),#9ed5f3(Good)

[1.2.1] - 2021-06-22

新内容

  • 添加下拉列表(宽高比、按键缩放、背景变暗)
  • 对pec谱面的Fake Note进行适配(测试功能)

修复

  • 修复了有关pec判定线演出的若干bug

[1.2.0] - 2021-06-12

新内容

  • 支持导入pec(暂未适配Fake NoteAlpha值扩展)

[1.1.0] - 2021-05-04

新内容

  • 支持导入zip、选择谱面及一些基本操作

已删除

  • 暂时移除模拟Demo

[1.0.1] - 2021-04-18

更改

  • 模拟Demo改为Phigros愚人节谱Spasmodic SP

[1.0.0] - 2021-01-28

sceatcher3's Projects

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.