Comments (7)
one solution is to fix incorrect modification of this.time
when passedTime < 0.0
. but the inner processing logic is not such robust that maybe other triggers/conditions can lead to same error.
from dragonbonesjs.
for example:
// tick 1
this.time === 1000;
Date.now === 1100;
passedTime got 100;
this.time += 100;
this.time === 1100;
// change system time from 1100 to 900
// tick 2
this.time === 1100;
Date.now === 900;
passedTime got -200;
this.time -= -200;
this.time === 1300;
// tick 3
this.time === 1300;
Date.now === 901;
passedTime got -399;
this.time -= -399;
this.time === 1699;
// tick 4
this.time === 1699;
Date.now === 902;
passedTime got -796;
this.time -= -796;
this.time === 2495;
// tick N
this.time boom to Infinity
passedTime boom to -Infinity
from dragonbonesjs.
I also found the same mistake exists in the implemention of CSharp and Java, but I have not debug into the inner processing logic and I am not sure whether it will lead to infinite loop.
but it is ok in the implemention of CPP...(it does not use this.time
to calculate the time difference automatically although this.time
is wrong )
from dragonbonesjs.
thanks to @qingyangmoke 's commit fix/modifytime_2018_01_28
he fix same error when timeScale not equal to 1.0
here is PR commit 001c609
from dragonbonesjs.
clock 内部的系统时间不应该是一个递减的值,我们期望时间应该始终向前流动,所以才尝试修正负向的流逝时间,但是完全没有考虑到因此可能带来的问题,感谢提供的例子信息,我们会尝试让这个地方的逻辑更合理 :)
from dragonbonesjs.
回复及时啊:)
烦请关注/推动对应同事关注Java
,CSharp
,CPP
以及其他语言的对应实现问题,虽然其中CPP
实现没导致坏掉。
from dragonbonesjs.
一定会将其他语言的逻辑也都统一的,请放心:)
from dragonbonesjs.
Related Issues (20)
- 能不能像svga一样,不依赖egret...游戏引擎
- In Phaser 3 - Armature no wanna loading after scene changing! HOT 1
- Phaser 3 - bone order in animation don't works HOT 1
- Ohh... so many bugs guys! HOT 2
- Compile as a umd module HOT 1
- Where is the link Mac version of DragonBones? HOT 1
- pixijs getbone无效?
- iOS14模型卡顿明显,帧率严重下降
- Someone did broke a huge of code!
- Dragonbones for phaser 3 fixed version with improvments HOT 3
- 代码不维护了? HOT 1
- Integration with WebPack
- pixijs slot childs
- Dragonbones phaser library build broken? HOT 4
- cocos creator的demo确认能用么
- when will dragonbones supported phaser v3.54.0? HOT 4
- version about pixijs
- Wrong word on the site
- is there any api to convert dragonbones to movieclip
- how to auto detect version of json format?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dragonbonesjs.