我很難與EaselJS一起工作。基本上我想創建一個簡單的網格,並強調選擇的實際元素:EaselJS:改變鼠標點擊時的形狀填充顏色
var stageWidth = 800,
stageHeight = 600,
cell_size = 50,
w = 16,
h = 12,
n = w * h,
canvas,
stage,
background;
$(document).ready(function(){
canvas = $("#container")[0];
stage = new createjs.Stage(canvas);
var x_pos = 0,
y_pos = 0,
res = 0,
grid_el;
for(i=0;i<n;i++){
res = i%w;
if(i>0){
if(res===0){
x_pos = 0;
y_pos++;
} else {
x_pos++;
}
}
grid_el = new createjs.Shape();
grid_el.graphics.setStrokeStyle(2,"square").beginStroke("#000000");
grid_el.graphics.beginFill("#70FF85");
grid_el.graphics.rect(x_pos * cell_size,y_pos * cell_size,cell_size,cell_size);
grid_el.x_pos = x_pos * cell_size;
grid_el.y_pos = y_pos * cell_size;
grid_el.name = "quad";
stage.addChild(grid_el);
}
stage.update();
stage.onMouseDown = function(e){
console.log(e);
var quad = this.getObjectsUnderPoint(e.stageX,e.stageY);
var clone = quad[0].graphics.clone();
clone.beginFill("#51D9FF");
quad[0].graphics = new createjs.Graphics(clone);
stage.update();
}
});
我試圖克隆實際元素的圖形性能,改變填充顏色,然後更新的階段,但我只得到一個白色的元素,只是像它不認識新的圖形屬性。
感謝您的任何幫助。
嗯,這是一段時間,因爲我問這個問題,同時我使用了一些工作周圍的代碼來讓它工作。無論如何,這似乎是一個更好的解決方案,所以我會盡量調整我的功能:)感謝您的提示! – Ingro