Я хотел бы создать шестиугольную сетку с Easeljs, но с определенной текстуры фона для каждой плитки, а некоторые плитки могут иметь один и тот же фоновое изображение (в данном примере Я поставил только одно фоновое изображение для стартеров).Easeljs шестигранной сетки с фоном для каждой плитки
Я выполнил гексагональную сетку, однако заполнение фонового изображения, которое я использовал, перерисовывается на всем холсте, тогда как я хочу, чтобы каждая плитка сетки имела свое фоновое изображение, так что фон не имеет «т иметь такое смещение, как в настоящее время:
Вот мой код, я использую beginBitmapFill:
$().ready(function() {
var stage, dist, rayon, texture, hexagons = [], hexagon;
stage = new createjs.Stage("canvas");
stage.enableMouseOver();
dist = 60;
var manifest = [
{src: "penguin3.png", id: "penguin3"}
];
var loader = new createjs.LoadQueue(false);
loader.addEventListener("complete", function() {
for (var y=0; y < 8; y++) {
for (var x=-Math.floor(y/2); x < -Math.floor(y/2)+8; x++) {
hexagon = new Hexagon(x, y, dist, loader.getResult('penguin3'), stage);
hexagons.push(hexagon);
stage.addChild(hexagon);
}
}
stage.hexagonsNumber = hexagons.length;
stage.update();
});
loader.loadManifest(manifest, true, "/images/");
});
function Hexagon(x, y, dist, texture, stage)
{
createjs.Shape.call(this);
this.coordsX = x;
this.coordsY = y;
this.dist = dist;
this.texture = texture;
this.stage = stage;
this.drawShape();
}
Hexagon.prototype = new createjs.Shape();
Hexagon.prototype.constructor = Hexagon;
Hexagon.prototype.getShapeCoordinates = function()
{
return {
x: 50 + this.dist * (this.coordsX + this.coordsY/2),
y: 50 + Math.sqrt(3) * this.dist * this.coordsY/2 ,
radius: this.dist/Math.sqrt(3)
};
};
Hexagon.prototype.drawShape = function()
{
var shapeCoordinates = this.getShapeCoordinates();
this.graphics
.beginBitmapFill(this.texture, 'no-repeat')
.beginStroke(createjs.Graphics.getRGB(0,0,0))
.drawPolyStar(shapeCoordinates.x, shapeCoordinates.y, shapeCoordinates.radius, 6, 0, 30)
.endFill();
};
Я новичок в Easeljs, чтобы я, может быть, сделать что-то неправильно. .. благодаря!
Ах, да, это имеет смысл перемещать шестиугольник, чем рисовать из координат (0,0), вы правы! Большое спасибо, что решает мою проблему :) – Arkandias