summaryrefslogtreecommitdiff
path: root/objects.js
diff options
context:
space:
mode:
authorGubolin <gubolin@fantasymail.de>2014-08-13 13:35:14 +0200
committerGubolin <gubolin@fantasymail.de>2014-08-13 13:35:14 +0200
commit6560149027b29c4e2844e3bd52e8731379fb1b91 (patch)
tree9af881c5563669705ee10187962149d2230fee7b /objects.js
parente55c5e035a46c2a3353ce3f21bca3daf6b3fee6c (diff)
downloadsnap-6560149027b29c4e2844e3bd52e8731379fb1b91.tar.gz
snap-6560149027b29c4e2844e3bd52e8731379fb1b91.zip
add motion reporters
Diffstat (limited to 'objects.js')
-rw-r--r--objects.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/objects.js b/objects.js
index 37d66b2..9eba6a8 100644
--- a/objects.js
+++ b/objects.js
@@ -785,6 +785,18 @@ SpriteMorph.prototype.initBlocks = function () {
category: 'sensing',
spec: 'color %clr is touching %clr ?'
},
+ reportCameraMotion: {
+ only: SpriteMorph,
+ type: 'predicate',
+ category: 'sensing',
+ spec: 'camera motion at my position?'
+ },
+ reportCameraDirection: {
+ only: SpriteMorph,
+ type: 'reporter',
+ category: 'sensing',
+ spec: 'camera motion direction'
+ },
colorFiltered: {
dev: true,
type: 'reporter',
@@ -1868,6 +1880,9 @@ SpriteMorph.prototype.blockTemplates = function (category) {
blocks.push(block('reportTouchingColor'));
blocks.push(block('reportColorIsTouchingColor'));
blocks.push('-');
+ blocks.push(block('reportCameraMotion'));
+ blocks.push(block('reportCameraDirection'));
+ blocks.push('-');
blocks.push(block('doAsk'));
blocks.push(watcherToggle('getLastAnswer'));
blocks.push(block('getLastAnswer'));
@@ -4269,6 +4284,7 @@ StageMorph.prototype.init = function (globals) {
this.lastAnswer = ''; // last user input, do not persist
this.activeSounds = []; // do not persist
this.lastCameraCanvas = null;
+ this.lastCameraMotion = new Point(0, 0);
this.trailsCanvas = null;
this.isThreadSafe = false;