是。簡短的答案。並參考你的例子:如果MakeNewActionSet是一個函數,你可以有效地替換另一個。
MakeNewActionSet("Set 1", DialogModes.NO);
function MakeNewActionSet(setnumber, dialogue)
{
var idMk = charIDToTypeID("Mk ");
var desc21 = new ActionDescriptor();
var idNw = charIDToTypeID("Nw ");
var desc22 = new ActionDescriptor();
var idNm = charIDToTypeID("Nm ");
desc22.putString(idNm, setnumber); // set
var idASet = charIDToTypeID("ASet");
desc21.putObject(idNw, idASet, desc22);
executeAction(idMk, desc21, dialogue); //dialogue
}
雖然動作腳本代碼是醜陋的和不可讀的,但它做的工作。有時,讓腳本偵聽器記錄您想要的內容會更容易。其他時候回頭參數化是有意義的。例如,我在這裏有一個動作腳本代碼,它將執行轉換(旋轉,偏移和縮放),我只是將它封裝爲函數 - 這使得它更易於閱讀。
// function transform it
function transformIt(scaleX, scaleY, dx, dy, rot)
{
// =======================================================
var id3561 = charIDToTypeID("Trnf");
var desc725 = new ActionDescriptor();
var id3562 = charIDToTypeID("null");
var ref430 = new ActionReference();
var id3563 = charIDToTypeID("Lyr ");
var id3564 = charIDToTypeID("Ordn");
var id3565 = charIDToTypeID("Trgt");
ref430.putEnumerated(id3563, id3564, id3565);
desc725.putReference(id3562, ref430);
var id3566 = charIDToTypeID("FTcs");
var id3567 = charIDToTypeID("QCSt");
var id3568 = charIDToTypeID("Qcsa");
desc725.putEnumerated(id3566, id3567, id3568);
var id3569 = charIDToTypeID("Ofst");
var desc726 = new ActionDescriptor();
var id3570 = charIDToTypeID("Hrzn");
var id3571 = charIDToTypeID("#Pxl");
desc726.putUnitDouble(id3570, id3571, dx);
var id3572 = charIDToTypeID("Vrtc");
var id3573 = charIDToTypeID("#Pxl");
desc726.putUnitDouble(id3572, id3573, dy);
var id3574 = charIDToTypeID("Ofst");
desc725.putObject(id3569, id3574, desc726);
var id3575 = charIDToTypeID("Wdth");
var id3576 = charIDToTypeID("#Prc");
desc725.putUnitDouble(id3575, id3576, scaleX);
var id3577 = charIDToTypeID("Hght");
var id3578 = charIDToTypeID("#Prc");
desc725.putUnitDouble(id3577, id3578, scaleY);
var id3579 = charIDToTypeID("Angl");
var id3580 = charIDToTypeID("#Ang");
desc725.putUnitDouble(id3579, id3580, rot);
var id3581 = charIDToTypeID("Lnkd");
desc725.putBoolean(id3581, true);
executeAction(id3561, desc725, DialogModes.NO);
}
我希望這有助於。