You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
2.2 KiB
80 lines
2.2 KiB
11 years ago
|
function ClockUI( stage, gameState ){
|
||
|
var that = this;
|
||
|
|
||
|
this.minuteRadius = 40;
|
||
|
this.hourRadius = 0.7 * this.minuteRadius;
|
||
|
this.clockX = 300;
|
||
|
this.clockY = 100;
|
||
|
|
||
|
this.getClockAngles = function( ){
|
||
|
var currTime = new Date( gameState.currentTime );
|
||
|
var hourAngle = 720 * ( currTime.getHours() / 24 ) - 90;
|
||
|
var minuteAngle = 360 * ( currTime.getMinutes() / 60 ) - 90;
|
||
|
return [ hourAngle, minuteAngle ];
|
||
|
}
|
||
|
|
||
|
var minuteLine = new createjs.Shape();
|
||
|
minuteWidth = this.minuteRadius;
|
||
|
minuteHeight = 1;
|
||
|
minuteLine.graphics.beginFill('black').drawRect( 0, 0, minuteWidth, minuteHeight );
|
||
|
minuteLine.regX = 0;
|
||
|
minuteLine.regY = minuteHeight / 2;
|
||
|
minuteLine.x = this.clockX;
|
||
|
minuteLine.y = this.clockY;
|
||
|
|
||
|
var hourLine = new createjs.Shape();
|
||
|
hourWidth = this.hourRadius;
|
||
|
hourHeight = 1;
|
||
|
hourLine.graphics.beginFill('black').drawRect( 0, 0, hourWidth, hourHeight );
|
||
|
hourLine.regX = 0;
|
||
|
hourLine.regY = hourHeight / 2;
|
||
|
hourLine.x = this.clockX;
|
||
|
hourLine.y = this.clockY;
|
||
|
|
||
|
stage.addChild( minuteLine );
|
||
|
stage.addChild( hourLine );
|
||
|
return {
|
||
|
tick: function(){
|
||
|
var angles = that.getClockAngles();
|
||
|
hourLine.rotation = angles[0];
|
||
|
minuteLine.rotation = angles[1];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
function OvenUI( stage ){
|
||
|
var that = this;
|
||
|
|
||
|
this.ovenLight = new createjs.Shape();
|
||
|
this.analogClock = "";
|
||
|
this.text = new createjs.Text( "325F", "50px Arial", "#ff7700" );
|
||
|
this.text.x = 70;
|
||
|
this.text.y = 100;
|
||
|
this.text.textBaseline = "alphabetic";
|
||
|
|
||
|
//Create a Shape DisplayObject.
|
||
|
this.circle = new createjs.Shape();
|
||
|
this.circle.graphics.beginFill( "red" ).drawCircle( 0, 0, 40 );
|
||
|
this.ovenLight.graphics.beginFill( "red" ).drawCircle( 223, 73, 5 );
|
||
|
|
||
|
//Set position of Shape instance.
|
||
|
this.circle.x = this.circle.y = 50;
|
||
|
|
||
|
this.picture = new createjs.Bitmap( "res/Base_Game_Screen.png" );
|
||
|
//this.picture.scaleX = this.picture.scaleY = 0.5;
|
||
|
stage.addChild( this.picture );
|
||
|
stage.addChild( this.circle );
|
||
|
stage.addChild( this.ovenLight );
|
||
|
stage.addChild( this.text );
|
||
|
return {
|
||
|
tick: function(){
|
||
|
// Circle will move 10 units to the right.
|
||
|
that.circle.x += 1;
|
||
|
|
||
|
// Will cause the circle to wrap back
|
||
|
if ( that.circle.x > stage.canvas.width ) { that.circle.x = 0; }
|
||
|
}
|
||
|
}
|
||
|
}
|