From 6560149027b29c4e2844e3bd52e8731379fb1b91 Mon Sep 17 00:00:00 2001 From: Gubolin Date: Wed, 13 Aug 2014 13:35:14 +0200 Subject: add motion reporters --- objects.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'objects.js') 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; -- cgit v1.3.1