kopia lustrzana https://github.com/backface/turtlestitch
new hat block for "when this scene starts"
rodzic
72d8000f57
commit
62647c8dee
|
|
@ -35,6 +35,7 @@
|
|||
|
||||
### 2021-09-08
|
||||
* objects: changed category for "switch to scene" to control
|
||||
* blocks, objects, threads: new hat block for "when this scene starts"
|
||||
|
||||
### 2021-09-07
|
||||
* blocks, objects, threads: new change-of-scene event
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@
|
|||
<script src="src/morphic.js?version=2021-07-09"></script>
|
||||
<script src="src/symbols.js?version=2021-03-03"></script>
|
||||
<script src="src/widgets.js?version=2021-07-21"></script>
|
||||
<script src="src/blocks.js?version=2021-09-07"></script>
|
||||
<script src="src/threads.js?version=2021-09-07"></script>
|
||||
<script src="src/blocks.js?version=2021-09-08"></script>
|
||||
<script src="src/threads.js?version=2021-09-08"></script>
|
||||
<script src="src/objects.js?version=2021-09-08"></script>
|
||||
<script src="src/scenes.js?version=2021-07-21"></script>
|
||||
<script src="src/gui.js?version=2021-09-07"></script>
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@ CustomCommandBlockMorph, ToggleButtonMorph, DialMorph, SnapExtensions*/
|
|||
|
||||
// Global stuff ////////////////////////////////////////////////////////
|
||||
|
||||
modules.blocks = '2021-September-07';
|
||||
modules.blocks = '2021-September-08';
|
||||
|
||||
var SyntaxElementMorph;
|
||||
var BlockMorph;
|
||||
|
|
@ -416,8 +416,7 @@ SyntaxElementMorph.prototype.labelParts = {
|
|||
'mouse-departed' : ['mouse-departed'],
|
||||
'scrolled-up' : ['scrolled-up'],
|
||||
'scrolled-down' : ['scrolled-down'],
|
||||
'stopped' : ['stopped'], // experimental
|
||||
'entering a scene' : ['entering a scene'] // experimental
|
||||
'stopped' : ['stopped'] // experimental
|
||||
}
|
||||
},
|
||||
'%dates': {
|
||||
|
|
@ -3158,6 +3157,8 @@ BlockMorph.prototype.showMessageUsers = function () {
|
|||
message = '__shout__go__';
|
||||
} else if (this.selector === 'receiveOnClone') {
|
||||
message = '__clone__init__';
|
||||
} else if (this.selector === 'receiveOnScene') {
|
||||
message = '__scene__init__';
|
||||
} else if (inputs[0] instanceof InputSlotMorph) {
|
||||
message = inputs[0].evaluate();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -903,6 +903,11 @@ SpriteMorph.prototype.initBlocks = function () {
|
|||
},
|
||||
|
||||
// Scenes
|
||||
receiveOnScene: {
|
||||
type: 'hat',
|
||||
category: 'control',
|
||||
spec: 'when this scene starts'
|
||||
},
|
||||
doSwitchToScene: {
|
||||
type: 'command',
|
||||
category: 'control',
|
||||
|
|
@ -2507,8 +2512,8 @@ SpriteMorph.prototype.blockTemplates = function (category = 'motion') {
|
|||
blocks.push(block('receiveKey'));
|
||||
blocks.push(block('receiveInteraction'));
|
||||
blocks.push(block('receiveCondition'));
|
||||
blocks.push(block('receiveMessage'));
|
||||
blocks.push('-');
|
||||
blocks.push(block('receiveMessage'));
|
||||
blocks.push(block('doBroadcast'));
|
||||
blocks.push(block('doBroadcastAndWait'));
|
||||
blocks.push(block('doSend'));
|
||||
|
|
@ -2547,9 +2552,10 @@ SpriteMorph.prototype.blockTemplates = function (category = 'motion') {
|
|||
blocks.push(block('newClone'));
|
||||
blocks.push(block('removeClone'));
|
||||
blocks.push('-');
|
||||
blocks.push(block('doPauseAll'));
|
||||
blocks.push('-');
|
||||
blocks.push(block('receiveOnScene'));
|
||||
blocks.push(block('doSwitchToScene'));
|
||||
blocks.push('-');
|
||||
blocks.push(block('doPauseAll'));
|
||||
|
||||
} else if (category === 'sensing') {
|
||||
|
||||
|
|
@ -6092,6 +6098,9 @@ SpriteMorph.prototype.allHatBlocksFor = function (message) {
|
|||
if (morph.selector === 'receiveOnClone') {
|
||||
return message === '__clone__init__';
|
||||
}
|
||||
if (morph.selector === 'receiveOnScene') {
|
||||
return message === '__scene__init__';
|
||||
}
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
|
@ -8438,9 +8447,7 @@ StageMorph.prototype.fireChangeOfSceneEvent = function () {
|
|||
|
||||
this.children.concat(this).forEach(morph => {
|
||||
if (isSnapObject(morph)) {
|
||||
morph.allHatBlocksForInteraction(
|
||||
'entering a scene'
|
||||
).forEach(block =>
|
||||
morph.allHatBlocksFor('__scene__init__').forEach(block =>
|
||||
procs.push(this.threads.startProcess(
|
||||
block,
|
||||
morph,
|
||||
|
|
@ -8716,8 +8723,8 @@ StageMorph.prototype.blockTemplates = function (category = 'motion') {
|
|||
blocks.push(block('receiveKey'));
|
||||
blocks.push(block('receiveInteraction'));
|
||||
blocks.push(block('receiveCondition'));
|
||||
blocks.push(block('receiveMessage'));
|
||||
blocks.push('-');
|
||||
blocks.push(block('receiveMessage'));
|
||||
blocks.push(block('doBroadcast'));
|
||||
blocks.push(block('doBroadcastAndWait'));
|
||||
blocks.push(block('doSend'));
|
||||
|
|
@ -8754,9 +8761,10 @@ StageMorph.prototype.blockTemplates = function (category = 'motion') {
|
|||
blocks.push(block('createClone'));
|
||||
blocks.push(block('newClone'));
|
||||
blocks.push('-');
|
||||
blocks.push(block('doPauseAll'));
|
||||
blocks.push('-');
|
||||
blocks.push(block('receiveOnScene'));
|
||||
blocks.push(block('doSwitchToScene'));
|
||||
blocks.push('-');
|
||||
blocks.push(block('doPauseAll'));
|
||||
|
||||
} else if (category === 'sensing') {
|
||||
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ SnapExtensions, AlignmentMorph, TextMorph, Cloud*/
|
|||
|
||||
/*jshint esversion: 6*/
|
||||
|
||||
modules.threads = '2021-September-07';
|
||||
modules.threads = '2021-September-08';
|
||||
|
||||
var ThreadManager;
|
||||
var Process;
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue