Ich versuche, das bewegte Objekt innerhalb der Leinwand zu begrenzen, aber ich bekomme einige Schwierigkeiten, um Objekt mit Limit-Bereich auf der oberen und linken Seite zu bewegen und wenn ich das Objekt mit großer Größe skaliere, auch ich bin nicht in der Lage das sich bewegende Objekt auf der linken und oberen Seite der LeinwandObjekt innerhalb Canvas Boundary Limit bewegen
canvas.observe("object:moving", function(e){
var obj = e.target;
// if object is too big ignore
if(obj.currentHeight > obj.canvas.height || obj.currentWidth > obj.canvas.width){
return;
}
var halfw = obj.currentWidth/2;
var halfh = obj.currentHeight/2;
var bounds = {tl: {x: halfw, y:halfh},
br: {x: obj.canvas.width-halfw, y: obj.canvas.height-halfh}
};
// top-left corner
if(obj.top < bounds.tl.y || obj.left < bounds.tl.x){
obj.top = Math.max(obj.top, bounds.tl.y);
obj.left = Math.max(obj.left, bounds.tl.x)
}
// bot-right corner
if(obj.top > bounds.br.y || obj.left > bounds.br.x){
obj.top = Math.min(obj.top, bounds.br.y);
obj.left = Math.min(obj.left, bounds.br.x)
}
});
Gibt es trotzdem Objekte zu erzwingen, um die Leinwand zu verlassen? –
Frage stellen auf Stapel –
Es ist einfach Ja oder Nein Frage, wenn ja wie? Keine Notwendigkeit für zusätzliche Frage. Stack hat sehr egoistischen Community-Moderator, sie schließen die Frage mit negativem, wenn ich einfach Fragen stelle. –