turtlestitch/stitchcode/objects.js

57 wiersze
1.6 KiB
JavaScript
Czysty Zwykły widok Historia

/* Sprite */
2017-01-19 22:00:37 +00:00
// modified SpriteMorph turtlestitch functions
2017-01-19 22:00:37 +00:00
SpriteMorph.prototype.origForward = SpriteMorph.prototype.forward;
SpriteMorph.prototype.forward = function (steps) {
2017-01-19 22:00:37 +00:00
oldx = this.xPosition();
oldy = this.yPosition();
this.origForward(steps);
if (!cmdCache.hasSteps())
cmdCache.initPosition(oldx, oldy);
cmdCache.addMoveTo(this.xPosition() , this.yPosition() , this.isDown);
this.reDrawTrails();
};
2017-01-19 22:00:37 +00:00
SpriteMorph.prototype.origGotoXY = SpriteMorph.prototype.gotoXY;
SpriteMorph.prototype.gotoXY = function (x, y, justMe) {
2017-01-19 22:00:37 +00:00
oldx = this.xPosition();
oldy = this.yPosition();
console.log("jump in place - don't add.");
this.origGotoXY(x, y, justMe);
if ( Math.abs(this.xPosition()-oldx)<=1 && Math.abs(this.yPosition()-oldy)<=1 ) {
console.log("jump in place - don't add.");
} else {
2017-01-19 22:00:37 +00:00
if (!cmdCache.hasSteps())
cmdCache.initPosition(oldx, oldy);
cmdCache.addMoveTo(this.xPosition() , this.yPosition() , this.isDown);
this.reDrawTrails();
}
};
2017-01-19 22:00:37 +00:00
SpriteMorph.prototype.origClear = SpriteMorph.prototype.clear;
SpriteMorph.prototype.clear = function () {
this.origClear();
cmdCache.clear();
this.reDrawTrails();
};
2017-01-19 22:00:37 +00:00
SpriteMorph.prototype.reDrawTrails = function () {
this.parent.clearPenTrails();
2017-01-19 22:00:37 +00:00
reDraw(this.parent.penTrails());
};
2017-01-19 22:00:37 +00:00
/* Stage */
// modified StageMorph turtlestitch functions
2017-01-19 22:00:37 +00:00
StageMorph.prototype.referencePos = null;
StageMorph.prototype.mouseScroll = function (y, x) {
if (y > 0) {
cmdCache.zoomOut();
} else if (y < 0) {
cmdCache.zoomIn();
}
2017-01-19 22:00:37 +00:00
this.clearPenTrails();
reDraw(this.penTrails());
};