mirror of
https://github.com/pyscript/pyscript.git
synced 2025-12-19 10:17:23 -05:00
* Apply prettier to css, js, html, md, ts, and yml As a followup I will add prettier to the .pre-commit config. This patch is 100% generated by prettier. I used a forked version of prettier that understands the py-script tag. See https://github.com/hoodmane/pyscript-prettier-precommit for more info. * Apply old pre-commit * Revert some problems * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Revert some changes * More changes * Fix pre-commit * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
57 lines
1.2 KiB
JavaScript
57 lines
1.2 KiB
JavaScript
(function () {
|
|
if (typeof Mario === "undefined") window.Mario = {};
|
|
|
|
var Sprite = (Mario.Sprite = function (img, pos, size, speed, frames, once) {
|
|
this.pos = pos;
|
|
this.size = size;
|
|
this.speed = speed;
|
|
this._index = 0;
|
|
this.img = img;
|
|
this.once = once;
|
|
this.frames = frames;
|
|
});
|
|
|
|
Sprite.prototype.update = function (dt, gameTime) {
|
|
if (gameTime && gameTime == this.lastUpdated) return;
|
|
this._index += this.speed * dt;
|
|
if (gameTime) this.lastUpdated = gameTime;
|
|
};
|
|
|
|
Sprite.prototype.setFrame = function (frame) {
|
|
this._index = frame;
|
|
};
|
|
|
|
Sprite.prototype.render = function (ctx, posx, posy, vX, vY) {
|
|
var frame;
|
|
|
|
if (this.speed > 0) {
|
|
var max = this.frames.length;
|
|
var idx = Math.floor(this._index);
|
|
frame = this.frames[idx % max];
|
|
|
|
if (this.once && idx >= max) {
|
|
this.done = true;
|
|
return;
|
|
}
|
|
} else {
|
|
frame = 0;
|
|
}
|
|
|
|
var x = this.pos[0];
|
|
var y = this.pos[1];
|
|
|
|
x += frame * this.size[0];
|
|
ctx.drawImage(
|
|
resources.get(this.img),
|
|
x + 1 / 3,
|
|
y + 1 / 3,
|
|
this.size[0] - 2 / 3,
|
|
this.size[1] - 2 / 3,
|
|
Math.round(posx - vX),
|
|
Math.round(posy - vY),
|
|
this.size[0],
|
|
this.size[1],
|
|
);
|
|
};
|
|
})();
|