Added getTimeString to the runtime and made a few other small fixes.

This commit is contained in:
Shane M. Clements 2013-10-30 11:40:53 -06:00
parent 5482589da7
commit 311b411315
2 changed files with 22 additions and 4 deletions

View file

@ -176,6 +176,22 @@ Runtime.prototype.spriteNamed = function(n) {
});
return selected_sprite;
}
Runtime.prototype.getTimeString = function(which) {
// Return local time properties.
var now = new Date();
switch (which) {
case 'hour': return now.getHours();
case 'minute': return now.getMinutes();
case 'second': return now.getSeconds();
case 'year': return now.getFullYear(); // four digit year (e.g. 2012)
case 'month': return now.getMonth() + 1; // 1-12
case 'date': return now.getDate(); // 1-31
case 'day of week': return now.getDay() + 1; // 1-7, where 1 is Sunday
}
return ''; // shouldn't happen
}
// Reassigns z-indices for layer functions
Runtime.prototype.reassignZ = function(target, move) {

View file

@ -29,6 +29,8 @@ SensingPrims.prototype.addPrimsTo = function(primTable) {
primTable['distanceTo:'] = this.primDistanceTo;
primTable['getAttribute:of:'] = this.primGetAttribute;
primTable['timeAndDate'] = function(b){ return runtime.getTimeString(interp.arg(b, 0)); };
}
SensingPrims.prototype.primTouching = function(b) {
@ -124,9 +126,9 @@ var stageColorHitTest = function(target, color) {
var stageColorByColorHitTest = function(target, myColor, otherColor) {
var threshold_acceptable = function(a, b, c, x, y, z) {
diff_a = Math.abs(a-x);
diff_b = Math.abs(b-y);
diff_c = Math.abs(c-z);
var diff_a = Math.abs(a-x);
var diff_b = Math.abs(b-y);
var diff_c = Math.abs(c-z);
if (diff_a + diff_b + diff_c < 100) {
return true;
}
@ -154,7 +156,7 @@ var stageColorByColorHitTest = function(target, myColor, otherColor) {
var hitCanvas = document.createElement('canvas');
hitCanvas.width = 480;
hitCanvas.height = 360;
hitCtx = hitCanvas.getContext('2d');
var hitCtx = hitCanvas.getContext('2d');
$.each(runtime.sprites, function(i, sprite) {
if (sprite != target)
sprite.stamp(hitCtx, 100);