ユーザーが円に線を描いてから、線を含む円を回転させる必要があります。ただし、「グループ」を使用して円をグループ化し、線を描画すると、線は円に描画されません。
この後、グループを移動すると、線は円ではなく、レイヤーの他の場所に描画されます。
どんな助けや提案も大歓迎です。ありがとう
作業コピー: [開始] をクリックし、[元に戻す] ボタンの横にある円の横にある 2 つの赤い円をクリックします。
ここにコードがあります:私は最初にクリックでx座標とy座標を取得し、次にマウスの移動で線を引きます
petriDish.on("click", function(event) {
var item = new UndoObjects();
item.id= this.getId();
item.name = this.getName();
item.Xaxis = this.getX();
item.Yaxis = this.getY();
item.itemLayer = 'itemsLayer';
undoManager.push(item);
if(petridishGroup.getLayer().getName() == 'gamePlayLayer')
{
CanPerformStreaking();
petridishGroup.setDraggable(true);
gamePlayLayer.draw();
itemsLayer.draw();
document.body.style.cursor = "default";
x= event.layerX;
y= event.layerY;
startX = x;
startY = y;
// if click and were drawing then stop drawing
if(drawing)
{
drawing = false;
clearInterbal(mouseStopTimer);
}
else{
drawing = true;
MoveStopDetector();
}
}else
{
//this.setY(notificationLayer.getY()+120);
petridishGroup.moveTo(gamePlayLayer);
petriDish.setRadius(50);
itemsLayer.draw();
}
petriDish.draggable = false;
});
petriDish.on("mouseover mousemove", function(event) {
document.body.style.cursor = "pointer";
if(petridishGroup.getLayer().getName() != 'gamePlayLayer')
{
petriDish.setRadius(40);
itemsLayer.draw();
}
else{
if(drawing)
{
clearInterval(mouseStopTimer);
MoveStopDetector();
if(x >0 && y> 0 && drawing && allowStreaking)
{
var redLine = new Kinetic.Line({
points: [x,y, event.layerX, event.layerY],
stroke: "red",
strokeWidth: 3,
lineCap: "round",
lineJoin: "round"
});
x = event.layerX;
y = event.layerY;
petridishGroup.add(redLine);
petridishGroup.setDraggable(true);
petriDish.draggable=false;
gamePlayLayer.draw();
}
}
}
});