Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

228
Visualizações
For bucle donde cada valor se distribuye correctamente

Tengo un bucle for en el que quiero distribuir una cierta cantidad de palabras con la misma longitud en una línea de tiempo.

Tengo variables que me dan la duración de cada texto, el inicio de donde se generarán las palabras y el final.

 var wordArray = []; for (t = 0; t < words.length; t++) { //This generates the textbox wordArray[wordArray.length] = currentComp.layers.addText(words[t]); if (t == 0) { //This makes the first textbox appear in the start wordArray[wordArray.length - 1].inPoint = start; //This makes the first textbox have the length with the value that divides it by the number of words wordArray[wordArray.length - 1].outPoint = wordArray[wordArray.length - 1].inPoint + textTime; //Here I am trying to make them all evenly distributed by multiplying the divided duration for the number of words that are already existing } else if (t < words.length - 2) { wordArray[wordArray.length - 1].inPoint = start + textTime * (wordArray.length - 1); wordArray[wordArray.length - 1].outPoint = end - textTime * (wordArray.length - 1); } else { //This is here to make the last word stop at the end of the text duration. wordArray[wordArray.length - 1].inPoint = start + textTime * (wordArray.length - 1); wordArray[wordArray.length - 1].outPoint = wordArray[wordArray.length - 1].inPoint + textTime; } }

El error viene al final, como se ve en la imagen. La palabra del final (resaltada en blanco) tiene menos longitud que la anterior, y la penúltima palabra tiene más longitud que todas las demás.

Soy consciente de que esto no es un problema de sintaxis, sino un problema matemático que parece que no puedo resolver. Gracias por adelantado

EDITAR: Encontré la respuesta y actualicé la sintaxis para que coincida.

La palabra al final (resaltada en blanco) tiene menos longitud que la anterior, y la penúltima palabra tiene más longitud que todas las demás palabras

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Actualicé la sintaxis para que coincida con el código correcto.

Resulta que el problema era que el espacio para cada palabra no se calculaba correctamente.

Lo hice funcionar calculando el inicio y el final de cada sección haciendo esto:

 var startDurationString = timeCalc[0].split(":"); var finalStartDurationString = startDurationString[1] + ":" + startDurationString[2] + ":" + startDurationString[3]; var startDuration = currentFormatToTime(finalStartDurationString, currentComp.frameRate); var endDurationString = timeCalc[1].split(":"); var finalEndDurationString = endDurationString[1] + ":" + endDurationString[2] + ":" + endDurationString[3]; var endDuration = currentFormatToTime(finalEndDurationString, currentComp.frameRate);

Luego, usé la diferencia del principio y el final y lo dividí por la longitud de las palabras.

 durationForEachText = (endDuration-startDuration) / numberOfWords.length;

Espero que ayude a alguien por ahí.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda