not really known
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.
 
 
 
 
 

77 lines
1.9 KiB

function Dot(stage,x,y,colours,index,radius,game,xpos,ypos){
this.colour = index;
this.colours = colours;
this.radius = radius;
this.circle = null;
this.clickable = true;
this.x = x;
this.y = y;
this.setCircle = function(){
this.circle.x = this.x;
this.circle.y = this.y;
stage.addChild(this.circle);
}
this.setColour = function(index){
this.circle.graphics.clear().beginFill(this.colours[index]).drawCircle(0,0,this.radius).endFill();
this.colour = index;
}
this.flipSelf = function(){
//console.log("flip");
if (this.colour==0){
this.colour = 1;
this.setColour(1);
} else {
this.colour = 0;
this.setColour(0);
}
}
this.setClickListener = function(){
var c = this.circle;
var d = this;
var g = game;
this.circle.on("click", function (evt) {
if (d.clickable==true){
g.flip(xpos,ypos);
}
});
}
this.showSmile = function(){
var s = new createjs.Shape();
var g = s.graphics;
var scale = 150;
var colour = "";
if (this.colours[this.colour]=="#000"||this.colours[this.colour]=="#000000"){
colour = "#FFFFFF";
} else {
colour = "#000000";
}
g.setStrokeStyle(10/scale*this.radius, 'round', 'round');
g.beginStroke(colour);
g.beginFill();
g.drawCircle(0, 0, 100/scale*this.radius);
g.beginFill();
g.arc(0, 0, 60/scale*this.radius, 0, Math.PI);
g.beginStroke();
g.beginFill(colour);
g.drawCircle(-30/scale*this.radius, -30/scale*this.radius, 15/scale*this.radius);
g.drawCircle(30/scale*this.radius, -30/scale*this.radius, 15/scale*this.radius);
s.x = this.circle.x;
s.y = this.circle.y;
stage.addChild(s);
//console.log(s);
}
this.init = function(){
var circle = new createjs.Shape();
circle.graphics.beginFill(this.colours[this.colour]).drawCircle(0,0,this.radius).endFill();
this.circle = circle;
this.setCircle();
this.setClickListener();
//console.log(this.circle);
}
}