2012-03-29 11 views

Antwort

0

Eine Schicht scheint nur in der Lage zu sein, sich mit Delta zu bewegen.

Um sich mit Delta zu bewegen, verwenden Sie die MyLayer.transform(DeltaX,DeltaY);, wo MyLayer eine Referenz auf die artLayer ist, die Sie verschieben möchten. Die Einheit von DeltaX und DeltaY sind die gleichen wie Ihr Lineal in Photoshop.

Ich schrieb diese kleine Funktion, um eine Ebene an eine absolute Position zu verschieben. Ich hoffe, dass dies für Sie von Nutzen sein wird ...

//****************************************** 
// MOVE LAYER TO 
// Author: Max Kielland 
// 
// Moves layer fLayer to the absolute 
// position fX,fY. The unit of fX and fY is 
// the same as the ruler setting. 

function MoveLayerTo(fLayer,fX,fY) { 

    var Position = fLayer.bounds; 
    Position[0] = fX - Position[0]; 
    Position[1] = fY - Position[1]; 

    fLayer.translate(-Position[0],-Position[1]); 
} 
0

Vielen Dank dafür! Aufgrund dieses Tippes habe ich ein Skript fertiggestellt, das (tausende von) Kartenkacheln herunterlädt ... ohne Sie hätte es nicht geschafft;)

Ich bin neu in 'Photoscripting', also möchte ich etwas (jetzt offensichtlich) hervorheben, das vielleicht auch andere Neulinge als ich eine Weile braucht: wenn du deine 'fX' und 'fY' berechnet hast 'Eingabe über einige mathematische Mittel, seien Sie vorsichtig, explizit fügen Sie die Einheit, die Sie verwenden, um Ihre Eingabe-Nummer, sonst werden Sie Dinge überall platzieren (waaaaaay aus der Leinwand in meinem Fall; P).

So:

MoveLayerTo(myLayerRef, myX + "px", myY + "px"). 

Dank viel wieder, und Prost!