fix outline

This commit is contained in:
Mashy 2019-03-05 11:44:45 +10:00
parent 7e2e44fc57
commit 5fa964c382
2 changed files with 22 additions and 22 deletions

View File

@ -1,10 +1,11 @@
const Phaser = require('phaser');
class LineBox extends Phaser.GameObjects.Graphics {
constructor(scene, x0, x1, y0, y1, speed) {
constructor(scene, x, y, width, height, colour, speed) {
super(scene);
this.x0 = x0; this.x1 = x1;
this.y0 = y0; this.y1 = y1;
this.colour = colour;
this.x0 = x; this.x1 = x + width;
this.y0 = y; this.y1 = y + height;
const margin = Math.abs(Math.floor((this.x1 - this.x0) / 4));
this.lineCoord = [this.x0 + margin, this.x1 - margin, this.y0, this.y0, 0];
this.speed = speed;
@ -13,7 +14,7 @@ class LineBox extends Phaser.GameObjects.Graphics {
update() {
this.clear();
let vertX = this.x1 + 2;
let vertX = this.x1;
let horizY = this.y0;
const genLine = () => {
switch (this.lineCoord[4]) {
@ -57,8 +58,7 @@ class LineBox extends Phaser.GameObjects.Graphics {
return delta[j];
});
}
this.lineStyle(5, 0xFF00FF, 1);
this.lineStyle(5, this.colour, 1);
this.lineBetween(this.lineCoord[0], horizY, this.lineCoord[1], horizY);
this.lineBetween(vertX, this.lineCoord[2], vertX, this.lineCoord[3]);
}

View File

@ -53,36 +53,36 @@ class HomeCrypList extends Phaser.Scene {
// Selection of cryps
// Cryp avatar and interaction box
const crypInteract = this.add
const cReady = this.add
.rectangle(ROW_X, ROW_Y + ROW_HEIGHT * 0.2, BOX_WIDTH * 2, ROW_HEIGHT, FILL)
.setInteractive()
.setOrigin(0);
crypInteract.setAlpha(0.2);
crypInteract.on('pointerdown', () => {
cReady.setAlpha(0.2);
cReady.on('pointerdown', () => {
lineGroup.clear(true, true);
if (this.activeCryps.includes(crypInteract)) {
remove(this.activeCryps, n => n === crypInteract);
crypInteract.setAlpha(0.2);
if (this.activeCryps.includes(cReady)) {
remove(this.activeCryps, n => n === cReady);
cReady.setAlpha(0.2);
} else {
this.activeCryps.push(crypInteract);
crypInteract.setAlpha(0.75);
this.activeCryps.push(cReady);
cReady.setAlpha(0.75);
lineGroup.add(this.add.existing(
new LineBox(this, crypInteract.x, crypInteract.y, crypInteract.width, crypInteract.height, crypInteract.fillColor, 3)
new LineBox(this, cReady.x, cReady.y, cReady.width, cReady.height, cReady.fillColor, 3)
));
}
});
crypInteract.itemSelect = () => {
crypInteract.setFillStyle(COLOURS.SELECT);
cReady.itemSelect = () => {
cReady.setFillStyle(COLOURS.SELECT);
};
crypInteract.itemDeselect = () => {
crypInteract.setFillStyle(FILL, ACTIVE_FILL);
cReady.itemDeselect = () => {
cReady.setFillStyle(FILL, ACTIVE_FILL);
};
crypInteract.cryp = cryp;
cReady.cryp = cryp;
this.add.image(
crypInteract.getCenter().x,
crypInteract.getCenter().y,
cReady.getCenter().x,
cReady.getCenter().y,
'aztec',
genAvatar(cryp.name)
);