Javascript Photoshop沿y轴移动图层

Javascript Photoshop沿y轴移动图层,javascript,photoshop,photoshop-script,Javascript,Photoshop,Photoshop Script,我正在编写一个脚本,它将移动一个层,向右、向左、向上或向下。这取决于层的哪个边在画布内 我已经设法使用边界[0]和边界[2]使层左右移动(x轴) 但当我试图让它向上或向下移动时,它仍然会向左/向右移动。是我弄错的号码吗 var Y1 = bounds[3].as('px'); var Height = app.activeDocument.height.as('px'); //move down if (Y1 < Height) { activeDocument.activeLayer.

我正在编写一个脚本,它将移动一个层,向右、向左、向上或向下。这取决于层的哪个边在画布内

我已经设法使用边界[0]和边界[2]使层左右移动(x轴)

但当我试图让它向上或向下移动时,它仍然会向左/向右移动。是我弄错的号码吗

var Y1 = bounds[3].as('px');
var Height = app.activeDocument.height.as('px');

//move down
if (Y1 < Height) {
activeDocument.activeLayer.translate(Height-Y1); 
}
var Y1=bounds[3]。as('px');
var Height=app.activeDocument.Height.as('px');
//下移
如果(Y1<高度){
activeDocument.activeLayer.translate(高度-Y1);
}

在这种情况下,您可能要做的第一件事就是检查。对于
.translate()
,我们可以找到以下内容:

因此,要水平移动,我们将使用
deltaX
和垂直移动
deltaY
,在您的代码中,您将给
.translate()
deltaX
,这样您的层将按预期水平移动。要将此pass
0
作为第一个参数,将您的
Height-Y1
作为第二个参数,请执行以下操作:

activeDocument.activeLayer.translate(0, Height - Y1);

在这种情况下,你可能要做的第一件事就是检查。对于
.translate()
,我们可以找到以下内容:

因此,要水平移动,我们将使用
deltaX
和垂直移动
deltaY
,在您的代码中,您将给
.translate()
deltaX
,这样您的层将按预期水平移动。要将此pass
0
作为第一个参数,将您的
Height-Y1
作为第二个参数,请执行以下操作:

activeDocument.activeLayer.translate(0, Height - Y1);

感谢您抽出时间回复。不幸的是,我仍然无法让它移动。至少现在它没有向左或向右移动。只是保持原样。在发布答案之前,我测试了你的代码,并且它是正确的:如果该层在文档的中间,它将被翻译到文档的底部。如果这对你不起作用,可能还有别的什么问题。嗨,谢尔盖,很抱歉花了这么长时间才回来。今天晚上,我再次测试了所有的东西,一切正常。从前几天起有些事情发生了变化;不知道是什么。谢谢你的帮助。很高兴听到这个消息!如果答案对你有用,请别忘了接受,这样问题就可以结束了谢谢你花时间回答。不幸的是,我仍然无法让它移动。至少现在它没有向左或向右移动。只是保持原样。在发布答案之前,我测试了你的代码,并且它是正确的:如果该层在文档的中间,它将被翻译到文档的底部。如果这对你不起作用,可能还有别的什么问题。嗨,谢尔盖,很抱歉花了这么长时间才回来。今天晚上,我再次测试了所有的东西,一切正常。从前几天起有些事情发生了变化;不知道是什么。谢谢你的帮助。很高兴听到这个消息!如果答案对你有用,请不要忘记接受,这样问题就结束了