kopia lustrzana https://github.com/backface/turtlestitch
added "center" to drop-down options of location blocks
(GO TO, POINT TOWARDS, DISTANCE TO and DIRECTION TO)upd4.2
rodzic
562ec48883
commit
1f4602844e
|
|
@ -148,7 +148,7 @@ CustomCommandBlockMorph, SymbolMorph, ToggleButtonMorph, DialMorph*/
|
||||||
|
|
||||||
// Global stuff ////////////////////////////////////////////////////////
|
// Global stuff ////////////////////////////////////////////////////////
|
||||||
|
|
||||||
modules.blocks = '2018-April-16';
|
modules.blocks = '2018-May-02';
|
||||||
|
|
||||||
var SyntaxElementMorph;
|
var SyntaxElementMorph;
|
||||||
var BlockMorph;
|
var BlockMorph;
|
||||||
|
|
@ -8421,6 +8421,7 @@ InputSlotMorph.prototype.distancesMenu = function () {
|
||||||
dict['random position'] = ['random position'];
|
dict['random position'] = ['random position'];
|
||||||
}
|
}
|
||||||
dict['mouse-pointer'] = ['mouse-pointer'];
|
dict['mouse-pointer'] = ['mouse-pointer'];
|
||||||
|
dict['center'] = ['center'];
|
||||||
|
|
||||||
stage.children.forEach(function (morph) {
|
stage.children.forEach(function (morph) {
|
||||||
if (morph instanceof SpriteMorph && !morph.isTemporary) {
|
if (morph instanceof SpriteMorph && !morph.isTemporary) {
|
||||||
|
|
|
||||||
|
|
@ -4096,3 +4096,7 @@ in development:
|
||||||
180427
|
180427
|
||||||
------
|
------
|
||||||
* GUI: when creating a new sprite only randomize color and direction when shift-clicking
|
* GUI: when creating a new sprite only randomize color and direction when shift-clicking
|
||||||
|
|
||||||
|
180502
|
||||||
|
------
|
||||||
|
* Blocks, Threads: added "center" to drop-down options of location blocks (GO TO, POINT TOWARDS, DISTANCE TO and DIRECTION TO)
|
||||||
|
|
|
||||||
18
threads.js
18
threads.js
|
|
@ -62,7 +62,7 @@ StageMorph, SpriteMorph, StagePrompterMorph, Note, modules, isString, copy,
|
||||||
isNil, WatcherMorph, List, ListWatcherMorph, alert, console, TableMorph,
|
isNil, WatcherMorph, List, ListWatcherMorph, alert, console, TableMorph,
|
||||||
TableFrameMorph, ColorSlotMorph, isSnapObject*/
|
TableFrameMorph, ColorSlotMorph, isSnapObject*/
|
||||||
|
|
||||||
modules.threads = '2018-April-12';
|
modules.threads = '2018-May-02';
|
||||||
|
|
||||||
var ThreadManager;
|
var ThreadManager;
|
||||||
var Process;
|
var Process;
|
||||||
|
|
@ -2900,9 +2900,11 @@ Process.prototype.doFaceTowards = function (name) {
|
||||||
thatObj;
|
thatObj;
|
||||||
|
|
||||||
if (thisObj) {
|
if (thisObj) {
|
||||||
if (this.inputOption(name) === 'mouse-pointer') {
|
if (this.inputOption(name) === 'center') {
|
||||||
|
thisObj.faceToXY(0, 0);
|
||||||
|
} else if (this.inputOption(name) === 'mouse-pointer') {
|
||||||
thisObj.faceToXY(this.reportMouseX(), this.reportMouseY());
|
thisObj.faceToXY(this.reportMouseX(), this.reportMouseY());
|
||||||
} if (this.inputOption(name) === 'random position') {
|
} else if (this.inputOption(name) === 'random position') {
|
||||||
thisObj.setHeading(this.reportRandom(1, 36000) / 100);
|
thisObj.setHeading(this.reportRandom(1, 36000) / 100);
|
||||||
} else {
|
} else {
|
||||||
if (name instanceof List) {
|
if (name instanceof List) {
|
||||||
|
|
@ -2929,7 +2931,9 @@ Process.prototype.doGotoObject = function (name) {
|
||||||
stage;
|
stage;
|
||||||
|
|
||||||
if (thisObj) {
|
if (thisObj) {
|
||||||
if (this.inputOption(name) === 'mouse-pointer') {
|
if (this.inputOption(name) === 'center') {
|
||||||
|
thisObj.gotoXY(0, 0);
|
||||||
|
} else if (this.inputOption(name) === 'mouse-pointer') {
|
||||||
thisObj.gotoXY(this.reportMouseX(), this.reportMouseY());
|
thisObj.gotoXY(this.reportMouseX(), this.reportMouseY());
|
||||||
} else if (this.inputOption(name) === 'random position') {
|
} else if (this.inputOption(name) === 'random position') {
|
||||||
stage = thisObj.parentThatIsA(StageMorph);
|
stage = thisObj.parentThatIsA(StageMorph);
|
||||||
|
|
@ -3127,6 +3131,9 @@ Process.prototype.reportDistanceTo = function (name) {
|
||||||
point = rc;
|
point = rc;
|
||||||
if (this.inputOption(name) === 'mouse-pointer') {
|
if (this.inputOption(name) === 'mouse-pointer') {
|
||||||
point = thisObj.world().hand.position();
|
point = thisObj.world().hand.position();
|
||||||
|
} else if (this.inputOption(name) === 'center') {
|
||||||
|
return new Point(thisObj.xPosition(), thisObj.yPosition())
|
||||||
|
.distanceTo(new Point(0, 0));
|
||||||
} else if (name instanceof List) {
|
} else if (name instanceof List) {
|
||||||
return new Point(thisObj.xPosition(), thisObj.yPosition())
|
return new Point(thisObj.xPosition(), thisObj.yPosition())
|
||||||
.distanceTo(new Point(name.at(1), name.at(2)));
|
.distanceTo(new Point(name.at(1), name.at(2)));
|
||||||
|
|
@ -3149,6 +3156,9 @@ Process.prototype.reportDirectionTo = function (name) {
|
||||||
if (this.inputOption(name) === 'mouse-pointer') {
|
if (this.inputOption(name) === 'mouse-pointer') {
|
||||||
return thisObj.angleToXY(this.reportMouseX(), this.reportMouseY());
|
return thisObj.angleToXY(this.reportMouseX(), this.reportMouseY());
|
||||||
}
|
}
|
||||||
|
if (this.inputOption(name) === 'center') {
|
||||||
|
return thisObj.angleToXY(0, 0);
|
||||||
|
}
|
||||||
if (name instanceof List) {
|
if (name instanceof List) {
|
||||||
return thisObj.angleToXY(
|
return thisObj.angleToXY(
|
||||||
name.at(1),
|
name.at(1),
|
||||||
|
|
|
||||||
Ładowanie…
Reference in New Issue