mirror of
https://github.com/scratchfoundation/paper.js.git
synced 2025-03-13 16:33:28 -04:00
Implement onFrame event.delta & event.time.
This commit is contained in:
parent
b7f28140e7
commit
bd932a9242
1 changed files with 12 additions and 1 deletions
|
@ -149,13 +149,24 @@ var PaperScript = this.PaperScript = new function() {
|
|||
try {
|
||||
var onFrame = eval('onFrame');
|
||||
if (onFrame) {
|
||||
var lastTime;
|
||||
var totalTime = 0;
|
||||
function frame() {
|
||||
// Request next frame already
|
||||
DomEvent.requestAnimationFrame(frame, doc && doc.canvas);
|
||||
onFrame();
|
||||
var time = Date.now() / 1000;
|
||||
// Time elapsed since last redraw in seconds:
|
||||
var delta = lastTime ? time - lastTime : 0;
|
||||
// Time since first call of frame() in seconds:
|
||||
totalTime += delta;
|
||||
onFrame({
|
||||
delta: delta,
|
||||
time: totalTime
|
||||
});
|
||||
// Automatically redraw document each frame.
|
||||
if (doc)
|
||||
doc.redraw();
|
||||
lastTime = time;
|
||||
};
|
||||
// Call the onFrame handler and redraw the document:
|
||||
frame();
|
||||
|
|
Loading…
Reference in a new issue