mirror of
https://github.com/piskelapp/piskel.git
synced 2023-08-10 21:12:52 +03:00
Saving and reading FPS from model
This commit is contained in:
@ -25,7 +25,7 @@ var Constants = {
|
|||||||
/*
|
/*
|
||||||
* Default entry point for piskel web service:
|
* Default entry point for piskel web service:
|
||||||
*/
|
*/
|
||||||
PISKEL_SERVICE_URL: 'http://2.piskel-app.appspot.com',
|
PISKEL_SERVICE_URL: 'http://3.piskel-app.appspot.com',
|
||||||
|
|
||||||
GRID_STROKE_WIDTH: 1,
|
GRID_STROKE_WIDTH: 1,
|
||||||
GRID_STROKE_COLOR: "lightgray"
|
GRID_STROKE_COLOR: "lightgray"
|
||||||
|
@ -22,8 +22,12 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
ns.AnimatedPreviewController.prototype.onFPSSliderChange = function(evt) {
|
ns.AnimatedPreviewController.prototype.onFPSSliderChange = function(evt) {
|
||||||
this.fps = parseInt($("#preview-fps")[0].value, 10);
|
this.setFPS(parseInt($("#preview-fps")[0].value, 10));
|
||||||
$("#display-fps").html(this.fps + " FPS")
|
};
|
||||||
|
|
||||||
|
ns.AnimatedPreviewController.prototype.setFPS = function (fps) {
|
||||||
|
this.fps = fps;
|
||||||
|
$("#display-fps").html(this.fps + " FPS");
|
||||||
};
|
};
|
||||||
|
|
||||||
ns.AnimatedPreviewController.prototype.render = function (delta) {
|
ns.AnimatedPreviewController.prototype.render = function (delta) {
|
||||||
|
@ -55,7 +55,7 @@
|
|||||||
$(window).resize($.proxy(this.startDPIUpdateTimer_, this));
|
$(window).resize($.proxy(this.startDPIUpdateTimer_, this));
|
||||||
|
|
||||||
$.subscribe(Events.FRAME_SIZE_CHANGED, $.proxy(this.updateDPI_, this));
|
$.subscribe(Events.FRAME_SIZE_CHANGED, $.proxy(this.updateDPI_, this));
|
||||||
$.subscribe(Events.GRID_DISPLAY_STATE_CHANGED, $.proxy(this.forceRendering_, this));
|
$.subscribe(Events.GRID_DISPLAY_STATE_CHANGED, $.proxy(this.forceRendering_, this));
|
||||||
};
|
};
|
||||||
|
|
||||||
ns.DrawingController.prototype.initMouseBehavior = function() {
|
ns.DrawingController.prototype.initMouseBehavior = function() {
|
||||||
@ -133,8 +133,8 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
ns.DrawingController.prototype.onMouseup_ = function (event) {
|
ns.DrawingController.prototype.onMouseup_ = function (event) {
|
||||||
if(this.isClicked || this.isRightClicked) {
|
if(this.isClicked || this.isRightClicked) {
|
||||||
// A mouse button was clicked on the drawing canvas before this mouseup event,
|
// A mouse button was clicked on the drawing canvas before this mouseup event,
|
||||||
@ -159,8 +159,8 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
ns.DrawingController.prototype.getRelativeCoordinates = function (clientX, clientY) {
|
ns.DrawingController.prototype.getRelativeCoordinates = function (clientX, clientY) {
|
||||||
var canvasPageOffset = this.container.offset();
|
var canvasPageOffset = this.container.offset();
|
||||||
return {
|
return {
|
||||||
@ -170,16 +170,16 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
ns.DrawingController.prototype.getSpriteCoordinates = function(event) {
|
ns.DrawingController.prototype.getSpriteCoordinates = function(event) {
|
||||||
var coords = this.getRelativeCoordinates(event.clientX, event.clientY);
|
var coords = this.getRelativeCoordinates(event.clientX, event.clientY);
|
||||||
return this.renderer.convertPixelCoordinatesIntoSpriteCoordinate(coords);
|
return this.renderer.convertPixelCoordinatesIntoSpriteCoordinate(coords);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
ns.DrawingController.prototype.getCurrentColor_ = function () {
|
ns.DrawingController.prototype.getCurrentColor_ = function () {
|
||||||
if(this.isRightClicked) {
|
if(this.isRightClicked) {
|
||||||
return this.secondaryColor;
|
return this.secondaryColor;
|
||||||
@ -189,8 +189,8 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
ns.DrawingController.prototype.onCanvasContextMenu_ = function (event) {
|
ns.DrawingController.prototype.onCanvasContextMenu_ = function (event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
@ -207,6 +207,9 @@
|
|||||||
var frame = this.framesheet.getCurrentFrame();
|
var frame = this.framesheet.getCurrentFrame();
|
||||||
var serializedFrame = frame.serialize();
|
var serializedFrame = frame.serialize();
|
||||||
if (this.serializedFrame != serializedFrame) {
|
if (this.serializedFrame != serializedFrame) {
|
||||||
|
if (!frame.isSameSize(this.overlayFrame)) {
|
||||||
|
this.overlayFrame = pskl.model.Frame.createEmptyFromFrame(frame);
|
||||||
|
}
|
||||||
this.serializedFrame = serializedFrame;
|
this.serializedFrame = serializedFrame;
|
||||||
this.renderer.render(frame);
|
this.renderer.render(frame);
|
||||||
}
|
}
|
||||||
@ -258,7 +261,6 @@
|
|||||||
*/
|
*/
|
||||||
ns.DrawingController.prototype.updateDPI_ = function() {
|
ns.DrawingController.prototype.updateDPI_ = function() {
|
||||||
var dpi = this.calculateDPI_();
|
var dpi = this.calculateDPI_();
|
||||||
console.log("dpi", dpi);
|
|
||||||
this.renderer.updateDPI(dpi);
|
this.renderer.updateDPI(dpi);
|
||||||
this.overlayRenderer.updateDPI(dpi);
|
this.overlayRenderer.updateDPI(dpi);
|
||||||
this.forceRendering_();
|
this.forceRendering_();
|
||||||
|
@ -111,4 +111,8 @@
|
|||||||
this.setPixels(this.previousStates[this.stateIndex]);
|
this.setPixels(this.previousStates[this.stateIndex]);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ns.Frame.prototype.isSameSize = function (otherFrame) {
|
||||||
|
return this.getHeight() == otherFrame.getHeight() && this.getWidth() == otherFrame.getWidth();
|
||||||
|
};
|
||||||
})();
|
})();
|
@ -64,33 +64,42 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load a framesheet from a string that might have been persisted in db / localstorage
|
* Load a framesheet from a model that might have been persisted in db / localstorage
|
||||||
* Overrides existing frames.
|
* Overrides existing frames.
|
||||||
* @param {String} serialized
|
* @param {String} serialized
|
||||||
*/
|
*/
|
||||||
ns.FrameSheet.prototype.deserialize = function (serialized) {
|
ns.FrameSheet.prototype.deserialize = function (serialized) {
|
||||||
try {
|
try {
|
||||||
var frameConfigurations = JSON.parse(serialized);
|
this.load(JSON.parse(serialized));
|
||||||
this.frames = [];
|
|
||||||
for (var i = 0 ; i < frameConfigurations.length ; i++) {
|
|
||||||
var frameCfg = frameConfigurations[i];
|
|
||||||
this.addFrame(new ns.Frame(frameCfg));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.hasFrameAtIndex(0)) {
|
|
||||||
this.height = this.getFrameByIndex(0).getHeight();
|
|
||||||
this.width = this.getFrameByIndex(0).getWidth();
|
|
||||||
this.setCurrentFrameIndex(0);
|
|
||||||
$.publish(Events.FRAME_SIZE_CHANGED);
|
|
||||||
}
|
|
||||||
|
|
||||||
$.publish(Events.FRAMESHEET_RESET);
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
throw "Could not load serialized framesheet : " + e.message
|
throw "Could not load serialized framesheet : " + e.message
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load a framesheet from a model that might have been persisted in db / localstorage
|
||||||
|
* Overrides existing frames.
|
||||||
|
* @param {String} serialized
|
||||||
|
*/
|
||||||
|
ns.FrameSheet.prototype.load = function (framesheet) {
|
||||||
|
this.frames = [];
|
||||||
|
for (var i = 0 ; i < framesheet.length ; i++) {
|
||||||
|
var frameCfg = framesheet[i];
|
||||||
|
this.addFrame(new ns.Frame(frameCfg));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.hasFrameAtIndex(0)) {
|
||||||
|
this.height = this.getFrameByIndex(0).getHeight();
|
||||||
|
this.width = this.getFrameByIndex(0).getWidth();
|
||||||
|
this.setCurrentFrameIndex(0);
|
||||||
|
$.publish(Events.FRAME_SIZE_CHANGED);
|
||||||
|
}
|
||||||
|
|
||||||
|
$.publish(Events.FRAMESHEET_RESET);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
ns.FrameSheet.prototype.hasFrameAtIndex = function(index) {
|
ns.FrameSheet.prototype.hasFrameAtIndex = function(index) {
|
||||||
return (index >= 0 && index < this.getFrameCount());
|
return (index >= 0 && index < this.getFrameCount());
|
||||||
};
|
};
|
||||||
|
@ -128,7 +128,9 @@ $.namespace("pskl");
|
|||||||
xhr.responseType = 'text';
|
xhr.responseType = 'text';
|
||||||
|
|
||||||
xhr.onload = function(e) {
|
xhr.onload = function(e) {
|
||||||
frameSheet.deserialize(this.responseText);
|
var res = JSON.parse(this.responseText);
|
||||||
|
frameSheet.load(res.framesheet);
|
||||||
|
piskel.animationController.setFPS(res.fps);
|
||||||
$.publish(Events.HIDE_NOTIFICATION);
|
$.publish(Events.HIDE_NOTIFICATION);
|
||||||
piskel.finishInit();
|
piskel.finishInit();
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user