Ejecuté este código en After Effects 22 usando ExtendScript y soy nuevo en todo esto.
Este script agrega un cuadro de lista con 2 botones (agregar/eliminar).
Mi meta es:
myComp = app.project.activeItem; mySolid = myComp.layers.addSolid([0,0,0], "Solid", myComp.width, myComp.height,1);Esto me ayudará y desde aquí puedo construir el mío propio.
// ScriptUI Listboxes var counter = 0; var window = new Window("palette", "Listbox", undefined); window.orientation = "column"; var listBox = window.add("listbox", undefined, []); listBox.selection = 0; listBox.size = [200, 100]; //app.project.label= ("ooooooooooooooooooo") var buttonGroup = window.add("group", undefined, "buttonGroup"); buttonGroup.orientation = "row"; var addButton = buttonGroup.add("button", undefined, "+"); addButton.size = [30, 30]; var minusButton = buttonGroup.add("button", undefined, "-"); minusButton.size = [30, 30]; addButton.onClick = function () { counter++; listBox.add("item", "Item_"+counter.toString()); } minusButton.onClick = function() { if (listBox.selection != null) { counter--; listBox.remove(listBox.selection); } } window.center(); window.show();Entonces, juntando esto con un par de sus otras publicaciones, creo que está intentando tener un script que agregará el texto de entrada de un cuadro de texto (texto de edición) a un cuadro de lista. Luego, cuando se hace doble clic en el elemento del cuadro de lista, si el texto del elemento del cuadro de lista es igual a new solid , entonces agrega un nuevo sólido a su composición. ¿Es esto correcto? (Todavía no puedo agregar comentarios porque no tengo el representante)
Si esto es correcto, el siguiente código puede estar cerca de lo que está buscando:
// // ScriptUI Listboxes var counter = 0; var window = new Window("palette", "Listbox", undefined); window.orientation = "column"; var edittext1 = window.add('edittext {properties: {name: "edittext1"}}'); edittext1.text = ""; edittext1.preferredSize.width = 200; var listBox = window.add("listbox", undefined, []); listBox.selection = 0; listBox.size = [200, 100]; var buttonGroup = window.add("group", undefined, "buttonGroup"); buttonGroup.orientation = "row"; var addButton = buttonGroup.add("button", undefined, "+"); addButton.size = [30, 30]; var minusButton = buttonGroup.add("button", undefined, "-"); minusButton.size = [30, 30]; addButton.onClick = function () { counter++; if (edittext1.text) { // If not empty listBox.add("item", edittext1.text); } else { listBox.add("item", "Item_" + counter); } } minusButton.onClick = function() { if(listBox.selection != null) { counter--; listBox.remove(listBox.selection); } } /////////////////////////////////////====================================================================================================== listBox.onDoubleClick = function () { // alert (listBox.selection); if (listBox.selection = "new solid") { alert('newSolid') addSolid() } } /////////////////////////////////////====================================================================================================== function addSolid(){ // main function myComp = app.project.activeItem; mySolid = myComp.layers.addSolid([0,0,0], "Solid", myComp.width, myComp.height,1); } window.center(); window.show();