Tutorial de Scratch -- Salida textual

        Primero, analicemos los parámetros que deben establecerse para un módulo textual (bloque de construcción personalizado) (tenga en cuenta que aquí primero propondré una forma convencional y simple de escribir, y luego describiré más detalladamente otras versiones optimizadas)

1. Contenido: para un texto , su contenido debe ser obligatorio (de lo contrario, todavía usa palabra por palabra, a la derecha). Aquí, el contenido es todo el texto que aparece después de la verbatimización, es decir, es la oración completa que quieres decir al final. Hay muchas formas de intervención de contenido , que se pueden presentar en forma de listas, variables o incluso entrada directa Aquí usamos tres bloques de construcción como ejemplos:

        En la verbatimización de la que hablaremos más adelante, el script del módulo de verbatimización se colocará en un bloque de construcción personalizado que contenga la columna de parámetro"contenido".deparámetro)(palabra clave .

2. Duración de la visualización: Cualquier declaración de voz que no necesite ser interrumpida por otros códigos tendrá una duración de voz , de modo que pueda mostrarse durante un período de tiempo específico. Sin embargo, al configurar diferentes caracteres o diferentes estados, se puede ajustar el valor de la duración de la conversación. Por lo tanto, el valor de este parámetro todavía tiene su necesidad de establecerse en muchos casos. Por lo tanto, el parámetro de "duración de visualización" también se requiere en el bloque de creación personalizado

Los dos anteriores son los dos valores de parámetros que creo que deben llevarse         en la forma de usar bloques de construcción personalizados . Entre ellos, el "contenido" es lo más importante (incluso cuando no necesita el cambio de velocidad, no necesita agregar el parámetro de duración del habla, solo lleve el parámetro "contenido". Teniendo en cuenta la aplicabilidad universal, nosotros directamente elegir dos parámetros como algoritmo de nivel inferior). Por lo tanto, los bloques de construcción personalizados pueden hacer un magnífico debut.

Una forma más sencilla de escribir bloques de construcción personalizados palabra por palabra (parámetros dobles)

        A continuación, comenzamos a explorar las variables necesarias para la literalización. Esto requiere el estudio de la lógica operativa de la misma verbatimización. Una salida textual ideal es mostrar el primer carácter del texto de salida al principio, y seguir continuamente la posición del nuevo carácter en todo el texto durante el proceso de ejecución , y agregarlo El texto que se mostrará esta vez, de modo que finalmente se muestran todos los caracteres. Entonces, es obvio que la clave para establecer variables radica en el "texto mostrado" y la "posición"

(Primero declare que las variables aquí en realidad tienen una mejor solución, simplemente configure el "texto mostrado", vea la versión optimizada al final del artículo. Usar dos variables aquí es equivalente a un paso de desmontaje, lo cual es útil para una nueva comprensión tierna )

1. Texto mostrado: es decir, las palabras realmente mostradas en cada paso de la verbatimización . Para dar un ejemplo fácil de entender: en un texto como "¡Hola CCW!", la primera llamada del módulo de verbatimización mostrará "H", y la segunda vez será "Él"... Cada vez que sea se muestra por separado El texto es transmitido por esta variable.

2. Número de serie textual: De hecho, es la "posición" mencionada anteriormente , pero utiliza una forma de pensar que es más fácil de entender en sc. Determina qué nuevos caracteres se agregarán cada vez que se muestre un fragmento de texto individualmente. Todavía tome el "¡Hola CCW!" como ejemplo. Después de que se muestre "H", el número de serie literal aumenta a 2, y el siguiente paso es usar el número de serie literal para decir el segundo carácter (es decir, la letra "e") de "¡Hola CCW!" y agréguelo al texto que se mostrará, mostrando así "Él".

        Entonces se puede ver que el proceso central de verbatimización no es más que la operación circular de las dos variables del texto mostrado y el número de serie literal . Por lo tanto, podemos lograr el efecto que acabamos de mencionar a través del siguiente código:

El proceso central de los cambios de variables literales

        Luego, conecte directamente el código de la instrucción de salida , es decir, el script de "say___() segundos"——

declaración de salida cohesiva

        De esta manera, todo el efecto textual ya se puede presentar de forma intuitiva. Ahora agreguemos la ejecución repetida y hagamos que funcione. Pero cabe señalar que la cantidad de ejecuciones repetidas debe ser la cantidad de caracteres en el contenido, para no causar errores innecesarios causados ​​​​por la cantidad de bucles.

Repita la ejecución, ejecute palabra por palabra

        Después de hacer esto, los amigos impacientes pueden conectar directamente el código anterior al bloque de construcción personalizado. Pero no te preocupes, no olvides la inicialización crítica:

Agregar inicialización, ahora todo el módulo está casi completo

        Ahora, llame al módulo textual con varios eventos, como presionar la bandera verde , y agregue su texto y valor preestablecidos en los dos espacios en blanco de contenido y duración de visualización . Aquí está la versión completa de la palabra muy simple de dos argumentos :

Dos parámetros, dos variables, para conseguir el efecto

        Optimización de versiones: También puede introducir los siguientes parámetros para mejorar las funciones que desea lograr, como : el tiempo de espera para cada salida, el tiempo de espera después de la verbatimización, etc.

        Por supuesto, también puedes intentar utilizar otras variables como la velocidad (speed) , el tiempo de espera , etc. para conseguir los mismos o mejores resultados. Aquí he recopilado los métodos de escritura de otros tres estudiantes de la comunidad que han dado tutoriales palabra por palabra. Estos métodos de escritura tienen sus propias ventajas y desventajas, y puedes elegir según tu propia discreción:

        Este código es físicamente equivalente a nuestro método de escritura de parámetros dobles en la denominación y el uso de variables y algunos parámetros . Sin embargo, en su versión de escritura, se introducen dos nuevos parámetros, el tiempo de espera (n) y el número de palabras únicas de salida (a) . El primero puede usarse para el intervalo de tiempo entre cada texto de salida , y el segundo puede limitar el número de caracteres agregados a cada texto de actualización . En comparación con el método de escritura de doble parámetro, la dificultad aumenta ligeramente, pero el efecto logrado sigue siendo muy ideal, lo que favorece la expresividad visual cuando la trama avanza.

        Lo más importante es que combina nuestro "número de serie textual" y las "palabras de salida actuales" en uno , y usa directamente "la cantidad de caracteres para decir + a (a = 1 en nuestro script)" se dio cuenta de esta función.

        El método de escritura que recopilé en Internet es más cercano a nuestro método de escritura. También usa los mismos parámetros dobles y variables dobles, y la dificultad es relativamente baja. La única diferencia es que al final del código, agrega una espera adicional. parámetro de tiempo . , para evitar que el jugador oculte el contenido del texto sin verlo claramente.

        Cambié a una idea de programación común: recursividad. No he probado la eficiencia de este método de escritura (se siente mejor), pero lo cierto es que el algoritmo recursivo aquí se usa muy apropiadamente. Y aun así te sugiero que sigas el ejemplo de este compañero y nombras variables y parámetros en inglés (¿al menos se ve más profesional? Jajaja, aunque también estoy acostumbrado a usar chino)


Finalmente, recuerde que mencioné anteriormente en el artículo que después de simplificar nuestro método de escritura, la función equivalente se puede realizar con una sola variable . Aquí utilizo dos imágenes para describir brevemente el principio y el efecto del producto terminado simplificado——

Código equivalente, que se puede reducir en una variable

efecto terminado

Si puede entender la razón por la cual los dos son equivalentes, se recomienda que use directamente una variable para implementar la función.


Agregado: Así que reescribí una nueva versión:

esto funciona muy bien


        Bueno, eso es todo por mi artículo . Le invitamos a dejar activamente un mensaje en el área de comentarios para presentar sus propias opiniones o comentarios sobre este tutorial. Si te gusta, recuerda recogerlo ~ Gracias a todos ~

Supongo que te gusta

Origin blog.csdn.net/leyang0910/article/details/131947357
Recomendado
Clasificación