Transcripciones
1. Introducción: Hola a todos. Mi nombre es Hadeel, y esto vuelve a lo básico. Tu guía para procesar Internet aparte en este curso aprenderá los entes. de la codificación y el procesamiento, y tendremos un montón de ejemplos para practicar los fundamentos de cualquier creación de arte genital . Cuando comencé la codificación creativa, miré hacia todos los que están mucho más avanzados y siempre me pregunté cómo podrían hacerlo. Paso días tratando de aprender, pero lo que no me di cuenta es que no comprendí completamente lo básico. Por eso te traigo esta clase. A medida que creo clases de arte más generativo, quiero estar seguro de que hay una que enseñe los bloques constructivos así como mostrar tu recurso es una inspiración para tener un repositorio general de información. De ahí en esta clase pasen primero por el ey de procesamiento para entender cómo funciona, aprenderemos a programar y procesar desde la inicialización de variables
programación orientada a objetos para que luego podamos sumergirnos en los conceptos básicos de diseño de arte generativo con un montón de ejemplos ayudándote a descifrar las diferentes técnicas. Artistas genitales que emplean bien su trabajo después de pasar por las diversas formas de guardar y exportar tu trabajo en función del tipo de proyecto que estás creando. Y por último pero no menos importante, voy a compartir con ustedes. Algún recurso es una inspiración que me ayudó a aprender y crear obras de arte más generativas. Ahora dejarán de arrastrar el central, más allá y empecemos a aprender.
2. Capítulo 1: UI del procesamiento: antes de que empecemos, cualquier cosa tendrá que salir procesando, Por
supuesto. De acuerdo, Entonces antes de descargar el procesamiento o solo quiero mostrarte algunas cosas que puedes hacer ahora , lo primero que debes saber del sitio Web o cualquier lenguaje de programación cuando estás empezando es la referencia cebo. Siempre tiene que buscar la documentación porque la documentación te mostrará todo lo que necesitas saber sobre ese programa y cómo usarlo. Digamos que quiero crear un círculo. Entonces voy a ir a Judy Primitives dentro de forma, y se puede ver el círculo por aquí para que pueda entrar en círculo. Puedo ver un ejemplo que puede usar. A veces tiene, um a veces muestra cómo va a quedar este ejemplo a veces vas a tener que usar el ejemplo dentro del procesamiento solo para ver cómo se ve. Y luego te va a dar una descripción y, ah, los parámetros o la sintaxis de cómo usarlo, y luego los parámetros que vas a usar dentro de ella y lo que devuelve. Si fueran tendencias, cualquier cosa y entonces te va a mostrar las funciones o propiedades relacionadas,
um, um, de esa forma o esa función o propiedad en la que vas a entrar. Y si vas a la página de referencia, puedes ver que hay muchas cosas que puedes aprender sobre el procesamiento. Utilizo una lengua muy, muy diminuta de toda esta página de documentación. Um, y puede hacer mucho. Entonces imagina lo que puedes hacerlo. Puedes usar todos estos. También hay una sección tutorial, pero voy a cada vez que estoy atascado algo que no puedo recordar cómo hacerlo o si
quiero o dirigir a alguien para que aprenda sobre el procesamiento que simplemente los dirigiría aquí porque hay tantos videos y artículos y cómo crear ciertas cosas. Por lo que hay grandes tutoriales por aquí, y tienen diferentes temas. O si entro en imágenes y píxeles, se
puede ver que es un artículo u opuesto donde se pueden ver muchos ejemplos y explica , Ah, muchas de las cosas que se pueden usar con imágenes y píxeles. Por lo que es bastante útil si alguna vez necesitas aprender un poco más que los cursos que
puede que encuentres en línea como mi curso. Y luego también está la sección de ejemplo en la sección Ejemplo. Se pueden ver ejemplos relativos a los diferentes temas en el procesamiento. Entonces digamos color y yo voy a Hugh. Se puede ver un ejemplo de cómo usarías Hugh, por ejemplo. Entonces para esto, en
realidad está cambiando el tono a medida que suben y bajan de la pantalla. Y luego va a crear rectángulos a medida que voy al lado derecho de mi costado. Por lo que estos son muy útiles para que puedas tener una idea de todo en el procesamiento que puedes usar. No, también
hay libros por aquí que puedes leer puedes comprar y esperar. Es Es para principalmente para principiantes, pero parte de ella es bastante útil, y soy uno de mis favoritos es la naturaleza del código. En realidad, um, porque todo se trata de simulaciones, y me encantan las simulaciones, y este libro está disponible en línea de forma gratuita. Si vas a la página web, hay otro lado izquierdo, como el procesamiento de aprendizaje. Tiene muchos grandes ejemplos. Algunos de estos libros, como Thes dos, son de Casey Reyes, quien es uno de mis artistas favoritos. Bueno, entonces vamos a la página de descargas. ¿ De acuerdo? Ahora, en la página de descargas, solo
vas a elegir tu sistema, y te lo va a descargar. No voy a mirar ahora mismo, porque porque realmente lo tendrá descargado. De acuerdo, así que vamos a ir a procesar después de que descargó para revisar el tú Yo Ok, vamos a pasar por el Tú, digo
puedo entender lo que estoy haciendo cuando ejecuto el programa o paro el programa. O si queremos plantarle algo al Cónsul, ya
sabes dónde está todo. Entonces lo primero que quiero mostrarte es el juego y con un botón de correr y parar, y estos básicamente ganaron los programas y lo detienen para que no hagan nada especial en este momento, se
puede ver que el tamaño predeterminado es en realidad 100 pixels por 100 píxeles. Y por eso suele cambiar el tamaño del para primero. Cuando, cuando por primera vez empiezo a programar algo porque este no es un tamaño ideal para nada. De verdad. De acuerdo, siguiente es el debug Ah, botón. Y parece un pequeño bicho. Y si haces click. En realidad podría obtener esta ventana vacía donde tienes un nombre y un valor. Y aquí es donde puedes ver tus variables cuando estás depurando y puedes ver que aquí todo cambió. Todos los botones cambiaron. Sé que tienes un botón de depuración,
uh, uh, lo que significa ejecutarlo en modo de depuración. Entonces si tienes errores y no puedes encontrar esos errores, la depuración notada es bastante decente, y te ayuda a encontrar por qué cierta variable no está vacía, ejemplo, o por qué es tu círculo no se mueve o tu formas o lo que sea. Y Destro's tú cada variable que tienes un punto de ruptura delante y qué valor
tienen . Pero no necesariamente uso esto cuando quiero una depuración. Me gusta imprimir cosas, el cónsul usando la función de línea de impresión. Simplemente prefiero hacerlo de esa manera para otros lenguajes de programación. Yo también hago lo mismo. Simplemente imprimo cosas al cónsul. Um, solo
hay unos momentos donde una depuración usada, pero si de verdad miras,
si lo usabas antes en otros lenguajes de programación, entonces te recomiendo ver a Daniel Schiffman ver video de YouTube en lo profundo del bugger D te
ayudará a entender cómo usarlo s o Generalmente, lo que haces es jugar el programa, y a medida que lo juegas donde pones puntos de descanso, vas a ver las variables aquí con sus valores en términos. A lo mejor los valores aire, no bien. Y eso te ayuda a entender por qué algo no está funcionando y qué es. Lo que es tan poderoso del cabrón D, a diferencia de tu imprenta al consejo es que todo el programa realmente se detuvo. Por lo que toda la animación se detiene y solo puedes usar esto para pasar por los pasos. Entonces si estuvieras dentro de ah, Loop y no sabes,
no entendemos por qué algo no está funcionando y blanco o qué valores se están
presentando en realidad ,
Uh, Uh, para tus formas o para lo que sea necesitas, Teoh, consigue esa variable. Entonces esta es una buena manera de depurar tu abrigo porque entonces solo puedes pisar y puedes
pasarlo paso a paso. Y luego está el continue, que permite saltar por encima de algo. Y luego vuelve a tener un botón de parada. No voy a explicar esto porque realmente no lo uso, así que no entiendo completamente cómo funciona todo. Caminé el video de Daniel Schiffman, pero creo que es mejor si lo miras tú mismo. Si quieres usarla alguna. Si lo apagas que todo simplemente vuelve a la normalidad, y entonces esta es una parte muy importante en el procesamiento para mucha gente a la que le gusta usar. Otros descargadores de programas fueron bien utilizados Teoh otros lenguajes de programación y uno un uso que para crear arte generativo. Normalmente hago mis clases en Java eso en modo Java, pero hay otros modos por aquí. Ah, hay un frío p cinco Js, que es básicamente otro marco, por lo que es similar al procesamiento, pero está construido en JavaScript en lugar de Java, y solían tener un editor como este. Pero ahora solo tienen un editor Web, y creo que es mucho más simple y fácil de usar porque me refiero a P cinco vestido, o JavaScript está destinado para la Web, así que es mucho más fácil usarlo en realidad en un navegador que si tú, porque si utilizas este modo que cada vez que lo ejecutes, te abrirá un navegador, y me parece realmente molesto porque el editor Web tiene un tú mucho más simple donde
realmente puedes ver tu trabajo directamente en el lado derecho de tu pantalla, y en realidad puedes hacerlo. Ah, creo que la realidad. Entonces a medida que
codificas, puedes ver tu olor de código funcionando, que es lo que es bastante bonito. Pero no me gusta el vestido cinco sólo porque es mucho más lento para ciertas cosas. Um, creo que el procesamiento es mucho poderoso para mucho más rápido, en mi opinión, Um, tal vez porque está en un navegador, no lo sé. Pero si ya tienes el script Java usado antes, y si crees que es mucho más fácil usar el vestido de P cinco que hacerlo, también
puedes seguir mis tutoriales usando Java. Y puedes traducir todo eso en soltar un guión. Por lo que depende de ti cómo quieres usar el procesamiento. Él lo quiere usar con modo drama o vestido P cinco. También hay un modo pitón. Nunca he usado esto realmente antes, así que realmente no sé cómo funciona, pero hay uno. Entonces si usaste Python antes, esto va a ser de ayuda para ti. Entonces, cuando descargues el software por primera vez, no
vas a ver todos estos modos. En realidad sólo vas a ver empate. Um, creo que sólo es gota. Entonces si quieres agregar los otros modos justo a ellos, solo los agregué para mostrarte que hay otros modos. ¿ Y piensas como en agg? No, solo para mostrarte realmente mejor, um, puedes ver que también hay un modo android Hay nuestro para procesar si alguna vez has usado nuestro para el análisis de datos, um, y datos visualización. Esto también es genial. Um, sí. Realmente no sé mucho de los comerciantes, pero sé que había usado mucho con el procesamiento, así que tal vez puedas comprobar eso si sabes algo al respecto. Está bien. A continuación puedes ver el archivo o el tap. Aquí es donde tienes tu archivo de boceto o tu boceto. Básicamente, los archivos de
procesamiento se llaman bocetos solo porque producen arte, y luego tienes grifos por aquí, así que si quieres agregar una nueva pestaña, puedes llamarlo como sea. Por lo que voy a colorear solo nuevo tap y puedes tener un nuevo archivo. Entonces todos estos iban a ser. Cuando guardes esto, todo esto va a estar dentro de la carpeta de boceto. Entonces cuando guardes cualquier boceto de procesamiento, va a crear una carpeta y cada archivo que agregues aquí lo va a agregar a esa carpeta. Ah, y esta es una gran manera si quieres organizar tus archivos. Por lo general, cuando
creo clases, las pongo aquí. Um, y vas a aprender más sobre las clases más adelante en esta clase. Ah, si quiero quizá tener paletas de colores que voy a añadir un nuevo archivo para eso sólo dos cosas
separadas. Y para hacerlo más limpio, te hace mucho más fácil navegar por tu código porque tener todo en una pila es ideal porque has hecho mucho tu ir a la escuela, y eso no está bien. No te va a ayudar. Eso sólo va a hacer las cosas más difíciles para ti. De acuerdo, Y luego está la numeración mentira numerando por aquí. Esto es genial para la depuración. Por lo general ahí es cuando lo uso, pero realmente no miro los números de línea. También es bueno para explicar lo que quieres explicarle a alguien simplemente diciéndoles que para mirar una cierta línea, es mucho más fácil simplemente dejarles mirar a través de todo el programa. Por último pero no menos importante, está la consola. Esta es mi parte favorita cada vez que quiero una depuración o ver algo visualmente Ah, a veces algunas de las cosas que estás justo aquí en tu código no van a aparecer en la ilustración. lo que las posiciones, por ejemplo, los números no se van a mostrar a menos que agregues un texto, obuses tu pantalla y adjuntes la posición a eso. Entonces se pueden ver los números. Aparte de eso, no
voy a ver ningún valor. Entonces si quieres ver eso, puedes imprimirlo al cabildo. También vamos a pasar por eso al final del tractor . Entonces vamos a ver cómo funciona la línea de impresión de amigo en cómo podemos usar todo esto. Y luego, si tienes errores, ya sea sintaxis, errores, eso si escribo algo, puedes ver los errores por aquí, son muy útiles para arreglar tus horas. Entonces si realmente quieres mirar en el área y copiar el nuestro mensaje, y entonces puedes ir a buscarlo. ¿ Lo son Google? Y aquí también, se pueden ver errores. Entonces, cualesquiera que sean los problemas
que tengas, puedes ver aquí y luego te va a decir en qué tap está encendido. Entonces si está en este top o en estas cosas, y entonces te va a mostrar qué es lo que va a mentir en su eso Si tu nuestro 12 online entonces te
va a decir que el error está realmente ahí. De acuerdo, así que esto más o menos sólo hay que saber del tú yo Es bastante sencillo. No hay mucho para ello, Senador. Puedes seguirme conmigo mucho más fácil porque no sabías dónde está todo. Entonces si te dije que abrieras una nueva pestaña, ya
sabes a dónde ir. Si te dijera que mires la consola, ya
sabes donde esto vamos a ir a la siguiente sección donde realmente podemos aprender sobre programación
3. Capítulo 2: Java en procesamiento: en este capítulo, es crucial la práctica de papá junto a mí familiarizarse con los conceptos. Siempre es mejor probarlo tú mismo. Es personal. Experiencia se pega mejor. Practicaremos en este tractor es todo lo que se utiliza en la programación en general y en el procesamiento. Específicamente, la primera mitad más o menos será sobre los conceptos básicos de programación como variables, control de
flujo y funciones y clases. Y en la otra mitad se discutirán las variables del sistema y las funciones que no necesitas
crear tú mismo. Entradas del usuario a través del ratón o teclado y la herramienta más utilizada en muchos
proyectos de arte generativo . Aleatoriedad. Y por último, hablaremos un poco de una parte muy importante de la codificación que a menudo es descuidada por los principiantes , que fue la estructura de código y la organización que abarcará anotar tu código y separarlo en múltiples archivos. Ahora vamos a crear un nuevo archivo de procesamiento y empecemos
4. Entorno: uh Entonces antes de empezar a explicar o aprovechar tipos de datos y variables y clases y
funciones y todas esas cosas, necesito explicar el entorno. Primero, eso como puedes ver frente a ti, tengo dos funciones, y solo voy a llamarlas función, y vas a aprender más sobre el traductor y cómo crear las tuyas propias. Pero los's vienen de forma nativa con el procesamiento. Entonces en el centro de la función, pones todo lo que quieres que se inicialice o se ejecute una vez, por lo que no es para animar. Por lo general, no es para mostrar formas si, a menos que sea sólo ah, forma que como la base de tu diseño que solo quieres hacer unas y luego porque
quieres crear algo dentro de la función de dibujo, donde bucles una y otra vez. Entonces solo pones en el conjunto de funciones. Y en la función de sorteo, pones todo lo que quieres que se haga una y otra vez. Por lo que es un bucle sin fin. Es básicamente un bucle infinito, así que lo que pongas ahí dentro, se va a hacer infinitamente una y otra vez. Entonces si quiero dibujar un círculo ahí dentro. Va a dibujar el mismo círculo una y otra vez encima de él encima encima de sí mismo, hasta que detengas el programa. Entonces hasta que toquemos el botón de parada, básicamente, la razón por la que quiero que sepas de estos es porque vamos a estar trabajando en la función de
configuración y dibujo todo el tiempo. Voy a necesitar un lugar donde lo configures todo y otro lugar donde puedas animar si alguna vez necesitas animar cosas. Y básicamente puedes recrear la función draw usando un loop del que hablaremos más tarde llamado a while loop donde dirías, mientras que cierto Y esto es algo que muchos programadores de python hacen siempre que quieran algo para correr hasta que quieran parar, se toma. Haz eso escribiendo un bucle que nunca termina y al instante. Por lo que lo crearon para ti, donde puedes dibujar cualquier cosa dentro de ella. Hay una manera de detenerlo y de tal vez dibujar secado estático dentro de la gota Funcionó. Ya he hecho esto antes, uh, y mis otros cursos y puedes usar la función no loo para eso, sepan que la función en vivo va a detener esto de bucle. Entonces va a ser algo similar al conjunto de funciones donde todo dentro de la función
doctoral se va a hacer una vez. Y luego también hay otra función que es muy útil siempre que quieras un dibujamos algo. Entonces si detienes loop y tienes una función de sorteo, Pero entonces quieres que el usuario haga clic tal vez en la pantalla para sacar una nueva virgen del dibujo , um, ¿
alguna podrías usar? Uh, dibujamos función para eso. Entonces tal vez pueda decir, y lo voy a escribir en comentarios si se presiona un ratón y si, donde yo Esto es lo que llaman código de estudio. Cuando escribes cosas en comentarios, solo Teoh racionaliza lo que estabas haciendo, así que lo voy a escribir en Supercuts. No es necesariamente un código real que escribiría, Así que si se presiona cantidades, entonces quiero que lideren el sorteo. Simplemente voy a dibujar con razón así porque no quiero escribirlo dentro de los comentarios. Simplemente es para que puedas ver que es de color que es una función real en el procesamiento. Entonces dibujamos. Entonces si quiero Oh, cada vez que haga clic en el ratón, se va a redibujar. Por lo que dibujamos básicamente va a ejecutar de nuevo todo dentro de la función de sorteo. Entonces cada vez que llames, nosotros dibujamos, va a llamar a la función de sorteo. Digamos que quiero dibujar un círculo y quiero intentarlo de nuevo. Podría simplemente hacer redibujar cada vez que un mouse recopila o cada vez que se hace clic en un teclado. No importa. Ah, cuando quieres estar seco, tal
vez pueda secarse. Dibujamos cada 10 fotogramas más o menos. De acuerdo, eso sólo hay que saber del medio ambiente. Uh, sólo hay que saber es el conjunto de funciones ejecuta unas que caen función repite. Y luego, si quieres detener la función de sorteo de una golpiza, solo
puedes usar la función de no look, y puedes usar el redibujo de sintoísta. Basta con llamar de nuevo a la función de sorteo para ejecutar todo lo que hay dentro. Otra vez un hígado. Ahora entremos al siguiente modelo
5. Integers y flotadores: almacenar información variable en memoria en diferentes tipos de datos como números y texto en este módulo discutirá dos tipos de números. Enteros en carrozas. Dado que los enteros son números enteros, son geniales para contar o para cualquier funcionalidad que no requiera precisión. flotadores, Losflotadores,
por otro lado, son más precisos, por lo que son útiles para los cálculos de división. Por ejemplo, digamos que quiero dividir la pantalla en rectángulos iguales. Y a flote es el camino a seguir como enteros alrededor de los números, lo que agrega más brechas no deseadas al turismo. flotadores son geniales para múltiples usos, algunos de los cuales son colocar elementos en el lienzo, establecer un tamaño o animar. Entonces, ¿cómo se definen esos dos tipos de datos para definir alguna variable? Se utiliza la palabra clave de tipo de datos aquí Es dentro o flotar un nombre de su elección y valor. Hay instancias en las que no asignaría un valor a una etapa de definición variable, y eso se verá así y el procesamiento. A pesar de que los números se inicializan con un valor de cero por defecto, veamos un ejemplo
6. Ejemplo: Integers y flotadores: es demostrar donde aprendimos de enteros y flotadores. Lo primero que quiero hacer es hablar un poco del ejemplo que voy a crear. Por lo que dijimos que entra y carrozas son geniales para Anna conociendo a Frandsen. Entonces voy a crear una animación muy pequeñita solo para mostrarte cómo usar variables y específicamente en tickers en carrozas. De acuerdo, voy a usar una función de forma llamada círculo. Me voy a quedar con círculo para todas estas demostraciones Y este tractor, sólo porque aún no he introducido las funciones de toma, así que no voy a incluir demasiadas. Sólo va a ser un círculo, y voy a explicar cómo funcionan. Uh, sólo por el bien de estas manifestaciones para empezar con el círculo, voy a dibujar el círculo sólo para mostrarles cómo se ve. Entonces podemos usar las variables. Por lo que Circle requiere tres argumentos. El 1er 1 es la exposición en pantalla. El 2do 1 es la posición blanca en la pantalla, y el 3er 1 es de tamaño. Entonces para el 1er 1 lo voy a poner en medio de la pantalla. Ya que nuestra pantalla tiene un tamaño de 400 por 400 píxeles. Por lo que el medio va a ser de 200 manos en el eje Y. Yo también voy a hacer 200, y luego le voy a dar un tamaño de 20. Ahora bien, ya
sabemos que esta es la exposición, y ¿por qué posición? Para mover este círculo, voy a tener que cambiar estas en variables para poder incrementarlas. Ahora, si acabo de ganar esto ahora mismo, voy a tener un círculo en medio de la pantalla. Pero quiero moverlo. Yo quiero moverlo a la derecha o a la izquierda o una superior e inferior. De acuerdo, así que hablamos antes sobre la configuración y el empate. Entonces voy a crear una animación y no hacer que un círculo dibuje una y otra vez. Tengo que en el color de fondo aquí. Entonces cada vez que va a dibujar color de fondo y luego el círculo, si los voy a aprender, el círculo así que va a parecer como si ya tuviera un círculo. No soy muchos encima el uno del otro, e iba a lucir más limpio cuando antes era, sabes, poco glitchy porque tiene demasiados encima el uno del otro. De acuerdo, ahora quiero mover la posición X. Entonces lo que voy a hacer es crear un entero y lo voy a llamar X, Y le voy a dar un valor inicial de cero. Aunque no hagas esto, los valores iniciales por el falso héroe. Pero me gusta hacerlo. Sólo para poder saber que quería empezar por cero. ¿ De acuerdo? No, para animarlo, voy a escribir X y luego más el valor antiguo de X plus del valor anual o este
valor de paso lo voy a hacer yo sé que esto parece un poco raro usar la misma variable y
otra vez dentro de sí mismo. Pero, um, lo que estoy haciendo, básicamente, es asignar y usted valora a la vieja variable en lugar de tener muchas variables, lo cual no tiene ningún sentido. Porque si quiero hacer una animación de 10 fotogramas que voy a tener 10 x ah, variables, o voy a tener un bucle for para crear todas esas variables para mí, lo cual no tiene sentido. Entonces? Entonces la forma en que harías esto es sólo hacer X, que significa la vieja X que tenemos por aquí una señal es el viejo valor de X. Así que esto es algo como tú X. Están diciendo Ok, ahora X va a igualar lo que fuera antes. Además, digamos uno, Así que quiero que mi tamaño de paso sea de un píxel. No, si yo Si corro esto, no pasará nada porque realmente no lo usé aquí en mi círculo. Entonces ahora sólo podría hacer X en lugar de los 200. Ahora esto no lo va a arrancar. 200 va a empezar en cero. Pero eso está bien. Si quisiera empezar un 200 que voy a tener que inicializarlo un 200. Y hagámoslo por ahora, sólo para hacer el ejemplo de Es más simple, ya
sabes que se va a mover del centro a la derecha. Ahora esto se mueve porque empezó un 200 entonces cada vez, agregando ganas a ella. Entonces es 201 202 203 y no podemos necesariamente ver o simplemente porque el recuento de fotogramas es por defecto, 30 fotogramas por segundo y así no necesariamente vemos. ¿ Lo ves? Movimientos, cada píxel. No. Si quiero que sea más lento, solo
puedo hacer 0.5, pero no va a funcionar. De eso hablé cuando dije Si quiero un movimiento más preciso o si y uno de ah
más preciso, posicionamiento, entonces voy a necesitar voltear. Entonces voy a cambiar esto a flote y va a funcionar. Y ahora puedo ser aún más preciso con mis movimientos. Entonces si quería ser muy, muy lento, puedo hacer 0.5. También puedo hacer 0.1, que va a ser muy lento. Um, y eso es útil cuando estás creando un dibujo. Entonces si quiero dibujar esto y quiero o quitar fondo, se
va a dibujar va a ser más suave. Pero si hago más uno, entonces va a ser baúl aquí. Y si lo hago, más tres va a ser incluso Trunk aquí y así sucesivamente y demás por el movimiento es muy rápido. Entonces se está moviendo. En realidad, tres grandes almas cada paso cada franco y esto es algo dependiendo de lo que estés buscando. A algunas personas les gusta ese baúl. Te ves, algunas personas estilo, tienen muy borracho e movimientos de gente estilo tienen movimiento muy suave Que parece una pintura al final. Por lo que depende de lo que estés buscando, lo que quieras crear. Ahora bien, si quiero moverme en el lado opuesto, solo
puedo decir un menos tres en su lugar y éste se va a mover hacia el revés, y podemos hacer lo mismo por qué solo está flotando de ancho y empecemos a los 200 y luego Voy a cambiar esto por por qué. Y ahora esto se va a mover al lado izquierdo realmente rápido y hacia abajo, um, pendiente. Entonces si quería ser muy diagonal, entonces voy a venir sólo tres y van a ser 45 grados. Iba a ir por la esquina, así que eso es básicamente lo que puedes hacer con las carrozas y en el vestido. Y definitivamente hay un montón de ejemplos que van a surgir pronto que usarán carrozas e introducirán mucho. Entonces en cada demostración, son que van a venir después de que los tipos de datos va a ser algo que vuelva a utilizar algunos de estos tipos de datos. Por lo que si perfeccionas estos, puedes ir fácilmente a los siguientes módulos.
7. Color: Este tipo de datos es un poco diferente, pero todo lo que necesitamos saber al respecto es que es almacena colores de los valores de Fred Green, azul y Alfa. Esos valores van de 0 a 2 55 El tipo de datos de color se utiliza con las
funciones de trazo de llenado , que visitarán más adelante para declarar una variable de color. Agregas la palabra clave color antes de tu nombre de variable para el valor. Hay diferentes formas de almacenarlo. Puedes usar un código hexadecimal o usar la función de color con 13 o cuatro parámetros. Si usas un parámetro, estás almacenando un valor de escala de grises de negro a blanco. Si usas tres, entonces estás almacenando un espectro RGB de colores, es
decir, cualquier color que sea el resultado de combinar un poco de rojo, un poco verde y un poco azul. Digamos que tienes 255 para rojo, cero para azul y cero para verde. Entonces tienes un color rojo brillante. Lo mismo vale para el azul y el verde. El cuarto parámetro es para el valor alfa o en otros términos, el valor de pase A. La transparencia puede agregar otro color a tu escena sin agregar otro valor de color. Para entender mejor este tipo de datos, te
recomiendo probarlo tú mismo. Esa es nuestra clave para ver un ejemplo
8. Ejemplo: color: bien para el ejemplo de color. Quiero empezar hablando de la función de fondo donde la función de fondo
realmente está usando los datos de color. Y como expliqué en el video, cuando uso solo una variable, entonces estoy usando un valor del negro al blanco. Por lo que del 0 al 55. Por lo que ahora tengo un fondo de blanco. Y si cambio esto a cero, voy a tener un fondo es negro. Entonces esto es básicamente color. Uh, en el video, dije que usamos color mayormente con funciones de Phil y trazo, y eso es correcto. Esos aire, las funciones que uso con las formas. Pero olvidé mencionar la función de fondo, que también utiliza el color del tipo de datos. Y esta es una granja usando 200 me da genial. Entonces voy a volver. Teoh, espera. Sólo porque eso es con lo que empiezo, normalmente antes de establecer realmente un diseño y ella es mi paleta de colores, vale. Y para definir una variable de color. Como dije, usamos el tipo de datos de color, y luego puedes darle el nombre que creas que es apropiado. Entonces nosotros desde queremos decir si quiero tener un color azul. Yo sólo quiero llamarlo azul. Sólo intentarlo Da sentido a los valores con el nombre de la variable. Solo para que te sea más fácil una vez que comiences a trabajar en proyectos más grandes va a ser mucho más difícil para ti ir y venir a entender qué variables estás creando y por qué. Ah, estás renunciando a esas variables que realmente no me gustan al crear variables con una palanca excepto si es algo que es bastante común que mucha gente lo use. Y no voy a usar el azul sólo porque Blue es en realidad nativo del procesamiento. De acuerdo, Así que voy a crear tres variables de color llamadas, um rdd. Por lo que el 1er 1 está dandotener el color rojo. Y dije, Teoh Guy explicó que hay varias maneras en que Teoh inicializa una variable de color. Una de ellas es usar un código hexadecimal, que es lo que suelo usar en si es en mis clases o en mis proyectos personales, porque es mucho más fácil usar seis figuras que usar una función de color entero con 3 a 4 parámetros, especialmente si tienes un valor Alfa. Entonces pero para esta demostración, te
voy a mostrar también la función de la persona que llama. Entonces para un rojo voy a hacer a 55 son Así que tenemos RGB en la función de color para valores. Eso le voy a dar el valor más alto al rojo y luego no le voy a dar ningún valor al verde y tu valor por el azul solo para darle un color rojo brillante Y entonces voy a usar a Jeanne para el verde va a hacer lo mismo. Voy a dar cero por radicalismo. Uno un rojo nuevo. Yo quiero un color verde completo y no quiero ningún azul. Yo voy a hacer lo mismo por el azul. Entonces si alguien que usa tu programa o si alguna vez comparte tu programa con alguien, van a entender que esto significa rojo y esto significa verde y esto significa azul. Entonces esto es lo suficientemente descriptivo solo porque las funciones de color ya están explicando lo que estás tratando de establecer. Usa tus mejores juicios cuando estés creando tus nombres de variables. Depende de ti cómo quieres crearlos, pero solo hazlos lo suficientemente descriptivos para que todos puedan entenderlos aunque seas el único que mira este código y luego usemos estos valores para colorear nuestros círculos. Voy a seguir con los círculos otra vez porque aún no hemos introducido las funciones de forma . Entonces quiero usar solo una cosa para no confundirte. De acuerdo, lo
voy a poner en medio de la pantalla, así que voy a hacer sólo 200. 200 porque nuestra pantalla es de 400 por 400. Um, y la mitad de eso son 200. Y luego le voy a dar un tamaño de 20 en realidad, hagámoslo un poco más grande. Entonces le voy a dar un tamaño de 100 y luego a colorear esto. Entonces si juegas esto ahora mismo, puedes ver que es blanco con trazo negro. Por lo que estos son en realidad los valores por defecto para la función de trazo y relleno. Ah, pero vamos a cambiar eso. Entonces voy a hacer Phil. Voy a darle el color rojo. Yo quiero elegir la lata roja. No, puede ver que tiene un relleno rojo, pero ahora el trazo sigue siendo el color negro desarrollado negro. Por lo general, lo que hago es solo usar la función de medicamento para la nariz y esto elimina el derrame cerebral. Uh, puedes cambiar el color de tu trazo, así que tal vez quiero darle un color verde, Su color grupal, están creados. Y puedo ver. Y se puede ver que lo que hice aquí, usé un trazo dentro de la configuración y solía llenar dentro de la función de dibujo. Depende de ti cómo quieras hacer esto, porque está basado en tu programa. Ah, para esto, Por ejemplo, yo no necesariamente pongo el trazo aquí a menos que quiera el mismo trazo para que todo en mi programa sea así. Pero si lo quiero específico a solo un círculo y lo voy a poner por aquí Así que lo que pase debajo del trazo Fillon por aquí, va a ser de color. Por lo que ahora Circle va a tener un relleno rojo y un trazo verde. Pero entonces si creo otro círculo y en realidad lo vamos a poner a cero para a 15 y 200 dado el tamaño de 100 sé si ejecuto esto, va a tener el mismo color. Entonces si quiero cambiarlo, solo
puedo anular eso escribiendo otra función de relleno, y este momento de malestar podría ser variable, que es mi color azul. Y voy a dejar el trazo igual así que todavía va a tener el golpe de reina. Pero si también quiero cambiar el trazo por éste, tengo que escribirlo antes de eso. Entonces solo le voy a dar un trazo rojo, va a tener un trazo rojo. Entonces lo que sea que lo pongas antes de la forma, lo va a colorear con esos colores. Entonces si no quiero un derrame cerebral para este, solo puedo hacerlo de un golpe. No va a tener ningún derrame cerebral. Entonces sí, así es como anula los colores. Entonces esta vez te voy a mostrar cómo crearlo usando código hexadecimal. Entonces vas a hacer lo mismo. Es un color, así que todavía va a tener un tipo de datos de color, y luego voy a hacer sólo un color blanco, y luego va a albergar nuestro símbolo y seis s. así que esto en realidad me va a dar un color blanco. Entonces si lo pongo por aquí, uh, vamos a crear un color negro para que podamos cambiarlo y ver cómo parece que se involucra. Llámalo negro, y también uso un código hexadecimal. Y para el negro, en
realidad son seis ceros. La primera vez que voy a usar el blanco, y luego voy a cambiar este dedo de negro. Ya verás que se va a trenes a negro por lo que los hacks van realmente funcionan de la misma manera que funciona
la función de color, pero es mucho más pequeño. Es más fácil encontrar cuando vas a adobe color o cooler o cualquiera de esos sitios web donde
tienes paletas de colores. Y si tienes multitud de colores, entonces es mucho más sencillo escribirlo de esta manera que escribir la función de color una y
otra vez. Y aunque quieras copiar el color de cualquiera de esos sitios web, es mucho más sencillo usar para copiar un color, luego copiar un impuesto que copiar los tres números que van dentro de la función de color. Y una cosa que no he explicado en mi video en mi video explicación es que estos código
hexadecimal para ir de 0 a 9. Por lo que cada uno lo hizo realmente va de 0 a 9 y luego de un dedo del pie después de la A T F son equivalentes a 10 a 15. Pero debido a que estos airean seis dígitos por lo que lo sustituyeron Ah, lo que necesitaran, qué letras en su lugar? Además, por
eso hay una combinación de dígitos y caracteres que para blanco completo, vas a ir al último valor, que es seis EFS. Y luego, si quieres ir al negro, entonces no tienes valores en absoluto. Entonces todo son ceros. Es básicamente como de 0 a 55 a 55 es el valor más alto. Entonces es el más brillante. Por lo que es blanco y cero no es color ni valor. Entonces es negro. Eso es más o menos todo lo que necesitamos saber sobre el color y vamos a pasar por ejemplos en el siguiente capítulo es, bueno, podemos ver cómo se usa el color un poco más.
9. Boolean: Nuestro siguiente tipo de datos es útil para alternar entre dos estados. Eso se debe a que sólo tiene dos valores posibles. Verdadero y falso. Es equivalente a un interruptor de encendido y apagado en nuestra vida diaria. También hay tipos devueltos en condición. ALS, por ejemplo, Comprobando si un número es igual a mayor que nuestro listado que otro número resultará en verdadero
o falso. Aprenderemos más sobre las als de condición más adelante. En este curso, Cem usa ejemplos para miles de millones estaría tocando entre dos colores diferentes, basado en la posición de un elemento en nuestro campus para comprobar de dos elementos aire colisionando o para limitar alguna animación para definir toro te inclina seguir la misma sintaxis es los tipos de
datos anteriores, pero con la palabra clave Boolean en su lugar. Y el valor predeterminado para este tipo de datos es falso. Aquí tienes un ejemplo. Código
10. Ejemplo: Boolean: De acuerdo, hablemos un poco de miles de millones. Entonces para lingotes es tres ejemplo va a ser un poco más duro. solo porque requiere condicional es exhibir su poder. Te voy a mostrar muchos ejemplo usando condicional o usándolo una declaración if y van a ser muy fáciles de entender sólo porque son muy similares a cómo hablas en inglés o en cualquier otro idioma usando zor condicional cuando quieras para decírselo a alguien. Si algo sucede, entonces podría pasar algo más. De acuerdo,
entonces, ¿cómo empiezas? Um, si recuerdas del video de explicación, ponemos esto en impuestos comienza con una palabra clave, y se llaman lingotes porque llevan el nombre de alguien llamado George Boole. Puedes leer más sobre ello online si te gusta la que conoces, Lo que necesitamos saber aquí es que necesitamos la palabra clave Boolean para crear una variable con un valor verdadero o falso. La mayoría de las veces se asocia con la condición ALS. Lo que básicamente sucede es que el si condicional, devuelve tipos de datos de lingotes, por lo que devuelve ya sea verdadero o falso, por lo que te dirá? Sí, el padecimiento se significó o saber que el padecimiento estaba intacto. Entonces sí, ahí es donde suelo tratar con lingotes. Por lo que no necesariamente encarezco miles de millones todo el tiempo. A veces si quiero alternar algo basado en apagado interruptor seco. Si quisiera ser como si lo usan como entrada del usuario, digamos que quieres crear una ilustración y o una generativa nuestra creación, y quieres que la persona elija si quiere que sea de color o en blanco y negro , o si quieren ver el diseño en blanco y negro o en color. Después puedes usar un lingote para decir blanco y negro y luego ponerlo en caídas. Pero cuando la persona hace clic en una serie de clics y algo que cambiaría el diseño en blanco y negro que esa variable booleana va, Teoh cambia a verdadero, lo que va a producir un diseño que está en blanco y negro. Entonces básicamente tratando lo que quieres de ella, Um, así que hoy vamos a Teoh hacer un ejemplo con color ya que acabamos de aprender sobre el color. Entonces solo voy a hacer lo que acabo de hablar. Entonces lo voy a llamar escala de grises variable,
y lo voy a hacer falso,
en realidad, en realidad, empecemos con True. Entonces cuando empiezo, quiero que la ilustración esté en escala de grises. Entonces voy a dibujar un círculo otra vez. Lo voy a tener en el medio y lo voy a tener 100 pixeles y luego voy a usar a Phil, ¿de acuerdo? Y en lugar de crear una variable de color, solo
voy a poner el color directamente dentro de la función de relleno porque también
toman las mismas cosas que toma la función de color. Por lo que toman RGB un vientre Alfa para el cuarto parámetro. Entonces solo voy a hacer un color arbitrario porque sé que voy a usar un condicional f. No tienes que preocuparte por esto, pero esta es la única forma que puedo demostrar de Julian. Uhm, sólo
voy a decir que si la escala de grises es verdadera, voy a tener un relleno de gris Y luego si la escala de grises es igual a falso, voy a tener este color. Entonces ahora mismo es cierto y va a ser en escala de grises. Pero si cambio, este dedo cae, pero va a ser este color naranja brillante. Pero así es básicamente como vas a crear un lingote. Um, todo lo que necesitas saber ahora en esta etapa es cómo se crea un lingote. No vamos a crear ejemplos usando miles de millones en toda esta clase, pero vamos a usar, si condicionales, es mucho. Por lo que estos básicamente usaban al matón en tipo de datos detrás de pantalla. Ah dijo en este momento escala de grises igual a verdadero va a devolver una fecha a la vez. Entonces es trekking si el valor de una escala de grises es igual a verdadero, y va a devolver si es verdadero o falso. Entonces cuando esto era falso, esto en realidad se volvió falso, así que no lo hizo uno, y entonces esto fue cierto porque la gran habilidad es en realidad, falsa. Y así este se ejecuta. No tienes que preocuparte si las condiciones vamos a hablar más a detalle sobre ellas. Cuando los ejemplos para ellos voy a venir. Entonces sólo necesitas saber es que Villines regresan verdadero o falso? Y eso, aunque utilizó la mayoría del tiempo con condicionales
11. Personajes y cuerdas: si estás mirando el dedo del pie en impuestos a tu Dennard de arte o hacer algunas operaciones simples como cargar una imagen, entonces necesitas las cadenas de tipo de datos de cadena. Aaron Array de caracteres, que es otro tipo de datos y caracteres de procesamiento, fueron útiles para realizar un seguimiento. Si se hace clic en una letra en el teclado o para deconstruir una cadena las usará en un
ejemplo en la sección de tipo de tractor para conocer de nuevo a las fortalezas. Digamos que queremos una carga un archivo. Debilitar. Almacene su nombre en una variable como así necesitaremos de nuevo la palabra clave. Esta vez es string y luego el nombre de la variable y finalmente el valor. No obstante, esta vez el valor tiene que ser almacenado en comillas dobles, por lo que no confundimos el procesamiento. Si el procesamiento ve un montón de tableros sin cotizaciones, espera
que sean variables, y arrojará un error afirmando que las variables están en definidas. Además, cuenta que tiene que ser comillas dobles para cadenas porque las comillas simples son para caracteres. El procesamiento arrojará un error de todos modos, así que no te preocupes si no memoriza todo esto de inmediato. Aquí tienes un mini ejemplo rápido para ti
12. Ejemplo: charas y strings: De acuerdo, hablemos de personajes y cuerdas. Quiero empezar definiendo un personaje y una ampolla de cuerdas con cuerdas. Y luego hablaremos un poco más de personajes porque las cadenas a suelen usarse con más frecuencia y los caracteres en,
ah, ah, muchos de los lenguajes de programación, no solo el procesamiento. De acuerdo, String es el único tipo de datos del tipo de datos que expliqué que tiene una letra mayúscula para el teclado. Por lo que todos los demás que usamos comienzan con una letra pequeña. Por lo que terminar en realidad empieza para la letra pequeña. Ah, flotar letra pequeña color también. El bullying y la cadena de caracteres es la única. Ahora tiene una letra mayúscula. No funcionará con una letra pequeña. Y solo para seguir la convención de cada clase de programación por ahí que enseñe programación a principiantes, voy a hacer una cadena hola mundo. Entonces hola. El mundo es básicamente un primer programa que todo el mundo,
uh, uh, corre en cualquier lenguaje de programación o cualquier cosa que se relacione con la programación. Entonces si quieres hacer un desarrollador Web y van a empezar con hola mundo Así que
voy a simplemente Genial, um, una cadena. Voy a llamarlo. Hola. derecho esta bebida. Hola, mundo. Esto es básicamente cuando una cadena es, um cómo usarías esto. Por lo general lo utilizarías donde funciona el texto. Entonces si quieres escribir,
um, um, el texto, esta grúa, utilizas la función de texto puedes usar hola dentro de ella, y luego puedes establecer la posición de donde quieres que esté. Voy a ponerlo en el centro otra vez, y no vamos a ver nada sólo por defecto. El color de relleno es en realidad blanco, Así que voy a cambiar ese dedo negro para que podamos ver algo, y podemos ver Hola. Mundo está en la pantalla en 202 100. Por lo que en realidad está en el centro. Lo harías porque no está alineado. Centro. Es una línea a la izquierda. Por lo que el lado izquierdo de la frase o la frase está en realidad en el centro. Hay otras funciones de las que baliza podemos hablar más adelante. Y los ejemplos cuando hablamos un poco más de texto, um, y podemos ver cómo podemos alinear todo eso. Y ahora, si quieres usar la variable de carácter, solo
puedes hacer carácter, y puedes nombrarlo como quieras. Por lo general no defino personajes de esta manera, así que es un poquito eran nombrarlo. Pero digamos que quiero llamarlo ahorro y le voy a dar el personaje s. y como mencioné en Explicación Video para Cuerdas, son comillas dobles para personajes. Es una sola cita. No te dejará hacerlo al revés y va a terminar cínico y bien, así que no necesariamente lo inicializo de esta manera. Por lo general, cómo usamos los personajes es cuando quiero guardar una imagen. Entonces si quería pista de una persona hizo clic en el botón S, entonces quería guardar una imagen. Digamos que tal vez quieres que la persona cambie las formas en tu diseño. Entonces tal vez creaste dos diseños diferentes con uno usando círculos y el otro usando, uh, cuadrados y en base al personaje al que están haciendo clic en el teclado, quieres cambiarlos. Entonces por s digamos que los quieres. Teoh dibujo que querías, diseñado para cambiar a cuadrados, y luego si está usando la letra C, entonces quieres cambiar ese signo a círculo y usarías eso dentro de ellos una función llamada deprimida o tecla liberada. Entonces siempre que el teclado esté realmente presionado, puede entender las letras que estás presionando para que podamos comprobar si esta letra es realidad Preston la tecla que se presiona. Entonces haz esto o haz aquello. Esto es sólo demostración para ver cómo se define una cadena en un carácter y cómo se puede utilizar. Entonces aquí usamos divertido como escribimos la frase dentro de la variable Hola dentro de la función de
texto. Sí, y aprenderemos más sobre el texto o tipo y la sección de tipo fuera del Tractor tres.
13. Arrays: último pero no menos importante en tipos de datos, para este curso, es el tipo de datos de matriz, que básicamente abarca todos los demás A raise store múltiples valores, y una variable se opone a los tipos de datos mencionados anteriormente, y los valores son aquellos tipos de datos anteriormente mencionados. Por ejemplo, podemos usar un raise para almacenar múltiples colores y usarlos para colorear formas aleatoriamente usando el mismo nombre de variable. Imagínese si quisiéramos almacenar cinco colores para usar su escena. Se necesitarán cinco líneas de solo variables de color. Eso es un poco absurdo, en
realidad restrictivo a la larga como raise open. Tantas puertas para nosotros. Ya veremos esa mañana los ejemplos del siguiente tractor. Veamos ahora cómo podemos definir un aumento Para empezar, tenemos que saber qué tipo de datos queremos. Una tienda. Sigamos con nuestro color. Ejemplo para una matriz de colores necesitará la palabra clave color, pero esta vez la seguiremos con dos corchetes vacíos. Esta es nuestra indicación de que es una matriz seguirá eso con un nombre de variable. A mí me gusta pegarme con los nombres de variables pleura porque tienen más sentido. Existen múltiples formas de declarar un aumento. Puede tener inicialización vacía o puede asignar valores directamente. La regla general es agregar los valores directamente en la etapa definitoria si tienes un pequeño número de valores constantes, esa suele ser mi matriz de colores, sin embargo, si necesitas agregar más valores más tarde que solo state y tamaño inicial para la matriz, igual que por lo general funcionan para posiciones de elementos de partida, entre otras cosas. Otra cosa muy diferente de un aumento es que cuando los
usas, hay que usar el nombre de la variable y la posición del valor solicitado dentro corchetes. Y algo muy importante a tener en cuenta aquí es que las posiciones parten de cero, no una. Entonces si necesitas el valor de la primera posición, usarás cero para la segunda, usarás una y así sucesivamente. Veamos un ejemplo rápido
14. Ejemplo: Arrays: por allanó su altura. Básicamente puedes usar cualquiera de los tipos de datos que hemos utilizado antes y array de crédito fuera de él. Es básicamente una lista de valores dentro de una variable fuera de cierto tipo de datos. Voy a seguir con el ejemplo de color porque es el más usado en mis proyectos , y creo que es mucho más fácil para ti verlo. Howie creó porque para mis otras clases o para cualquier clase próxima, voy a usar esto muy a menudo de ello. Entonces voy a empezar con el tipo de datos de color. Y como dijimos para indicar que es una matriz, tendrás que anuncios entre corchetes. Esto es básicamente solo decirte que estamos diciendo que procesamos eso. Por cierto, esta no es una variable de color regular. En realidad es Nobre, así que
sí, va a contener una matriz de colores o una lista de colores, y luego puedes nombrarlo como quieras. Por supuesto, siempre
tienes a Teoh abstenerse de usar el mismo nombre de variable que el tipo de datos. Trabajó porque no va a funcionar ya que es nativa de procesamiento, pero para un aumento, suelo usar el mismo él duradero Así que para los colores, o uso paleta o usé colores sólo porque se usa color. Pero los colores no es porque usualmente uso el plural para indicar que es una matriz cuando
lo uso fuera en algún otro lugar del programa, pesar de que Reyes realmente te diga que hay un aumento solo por la forma en que
se usan y en todo el programa son muy diferentes a las variables regulares. Pero me gusta usar colores o me gusta usar plural sólo porque es mucho más fácil para mí. Teoh dilo cada vez que hablo bien, hay porque es mucho más fácil para mí pensar en un aumento de esa manera. Y luego dije que hay dos formas de definir un aumento para los colores. Te voy a mostrar la forma directa de asignar valores a la matriz de colores que está usando las llaves y directamente poniendo el valor ahí dentro. Y luego te voy a mostrar el otro camino. Nadie puede usar también, que también se usa mucho, o más a menudo que directamente así, porque la mayoría de las veces cuando usó un aumento, quiere almacenar muchos valores que se inicializan a lo largo de la programa. Entonces, como loop, por ejemplo, genera posiciones en el programa, entonces quieres guardarlo y eso. Muy bien, así que no necesariamente queremos establecer directamente los valores dentro de esa matriz antes de los colores variables o para los colores. Justo donde solo quieres un conjunto de colores para usar a lo largo del programa, ¿
Entonces? Sí. Definitivamente asignarlo directamente es el camino a seguir. De acuerdo, así que te voy a mostrar también. Howie, suele ir y elegir mi paleta de colores. Entonces paso por color dot adobe dot com, y tengo mi caja de seguridad parece, y solo voy a usar esta, pero puedes ir a revisar la otra. Consulta las tendencias. Drones basados en lo que tienen en manos ba. Estos son todos los proyectos en el nuevo proyecto que ahora están sobre mí manos en esas secciones, y hay un montón de colores en diferentes categorías. Y luego puedes ir a la sección de explorar y él también puede buscar mis colores. Repetir, escriba naranja. Se pueden ver todas las paletas de carbón que tienen el color o dentro de ellas. Um, ya
tengo un set en mi biblioteca. Sólo voy a usar este, y voy a copiar y pegar estos colores aquí. Entonces, ¿por esto usar código hexadecimal? Porque es mucho más sencillo copiar y pegar porque solo tienes que copiar el código hexadecimal y pegarlo . De acuerdo, sé si estamos en el programa porque no hemos usado Array no es hacer nada. Entonces, en realidad volvamos a dibujar círculo, es centro de la pantalla. Simplemente no le daré ni golpe por ahora. También puedes usar la función de relleno Norte cualquier punto donde quieras solo un trazo y no, Phil. De acuerdo, así que por ahora, solo
vamos a usar esto y luego dentro del Phil ah, función, voy a usar la matriz de colores. Sepa si dijo Aziz está en el video explicativo. Si quería todos esos cinco colores, es un poco absurdo usar cinco variables. Es mucho más sencillo usar una matriz de colores. Ahora bien, si queremos usar uno de estos colores menos, quiero usar el primer color. Y como lo mencioné nuevamente en el video Explicación, utilicé el nombre de la variable como cualquier otra variable. Pero en cambio voy a usar los corchetes especiales y luego dentro aquí, en la etapa de definiciones, no necesariamente necesitas insertar nada aquí. Es sólo una indicación de que, por cierto, se
trata de una matriz y no de una variable regular. Pero aquí, vas a tener que establecer una posición porque estás llamando a los valores ahora mismo. Entonces si uso el 1er 1 en un raise, empiezan con cero y terminan con uno menos que la longitud de la matriz de colores. Ahora tenemos cinco. El último en realidad va a ser una posición para es 0123 y cuatro. Si quiero usar el 1er 1 solo voy a hacer cero. Y esto en realidad va a tomar el color en la primera posición. Y si quiero usar el 2do 1 voy a usar uno. Vamos a usar todos ellos para ver la ropa que realmente tenemos, y luego dos para el 3er 1 tres y cuatro. Ahora, ¿qué pasa si realmente uso algo o una posición que no existe aquí? Entonces digamos que el 55 no existe. Entonces si olvidas que las posiciones dentro de una matriz comienzan con cero y terminas haciendo 123 y cuatro. Y el último va a ser cinco. Pensando que van a ser cinco, vas a tener un error. Entonces básicamente te van a decir lluvia pollas fuera de equilibrio excepción que pueden para realizar lo que estés pidiendo. Sólo porque aquí hay un error y Ray índice fuera de balance. Excepción significa que vas fuera de la matriz fuera de las posiciones dentro de la matriz. Entonces no hay una posición cinco solo hay 0123 y cuatro, y esto es un muy útil son en realidad muchas veces cuando uso un bucle y quiero
pasar por todo el derecho, sobre todo si tienes una gran matriz que no ves el tamaño de la misma por aquí, tiendes a meterte en este er lote. Y ver esto solo te hace entender de inmediato que oh, tal vez en realidad estoy usando una posición. Así que en realidad vas a mirar en la posición de las matrices que estás usando para averiguar por qué en realidad va fuera de los límites. Sí, así que solo quería mostrarte que sí, Pero si vas de 0 a 1 menos que la longitud, entonces estás bien para ir. Otra forma de definir, um, variables. En el ejemplo, video realmente mencionó que se puede utilizar para almacenar posiciones. Entonces voy a hacer otra matriz donde voy a almacenar. Flota los valores y también de nuevo, Ah, vamos a usar corchetes para indicar que está en Ray. Voy a sólo posiciones seguras porque es un conjunto de posiciones. Y esta vez no puedo establecer una serie de posiciones directamente, generalmente porque uso posiciones donde almaceno posiciones ya que las generan dentro de cuatro Loop, que vamos a ver algunos módulos más adelante, ya que ellos no leí esas posiciones, las voy a almacenar en las posiciones de distancia por el camino con Inicializar un rayo vacío en el trabajo más y el procesamiento es usar la nueva palabra clave y luego usar de nuevo el tipo de datos,
uh, uh, así que solo haz flotar. Entonces de nuevo, los corchetes. Pero esta vez, en lugar de tener corchetes vacíos, porque en este momento estamos inicializando una variable vacía. Pero necesitamos saber con cuántos vamos a empezar. Es que es un valor inicial, por lo que puedes escribir lo que sea y luego puedes expandirlo más adelante si quieres. Con la mayoría del tiempo, ya
sabemos cuántos vamos a usar. Entonces para un andador aleatorio, por ejemplo, fuera, que es un ejemplo por el que vamos a pasar y tractor tres. Pero puedes empezar con 400 caminantes aleatorios o 1000. Depende del look que vayas por. Entonces ahora mismo, digamos que voy a empezar con cinco médicos, ¿de acuerdo? No voy a pasar por generar esas posiciones, pero te voy a mostrar cómo lo harías uno por uno. Entonces ahora mismo no tenemos cinco. Por lo que para el 1er 1 pusimos que su posición cero. Entonces sólo voy a hacer posiciones. Y entonces básicamente le estoy diciendo al programa que en la posición cero, quiero en valor de tienda de 200. Digamos y solo ten en cuenta que estos son valores únicos, por lo que en realidad no son accidentes mis valores. Simplemente lo llamo posicionamientos esto para que sea más fácil, pero tendría más sentido si lo llamo tal vez exposiciones. Entonces solo voy a hacer eso por ahora. Y voy a hacer lo mismo por aquí, Así que se van a llamar exposiciones en su lugar, Um, que podamos sustituirla por aquí, y luego el 1er 1 le voy a dar un valor de 200. Hagamos otra. Entonces esta va a ser la exposición en la posición uno en la matriz y vamos a darle cualquier valor
aleatorio, y luego voy a hacer uno y cero, para que puedan ver un gran cambio por aquí. Um, por el de posición a lo voy a hacer cero. Vas a tener que hacer esto para tres y cuatro también. Por eso bucles o mejor. Porque entonces puedes pasar por todo el asunto y generar valores ahí. Entonces ahora voy a usar la Exposición cero aquí mismo, y vas a ver que va a conseguir el valor 200 por aquí. Vale, El problema aquí es que no tengo trazo, y así no lo puedes ver porque el relleno predeterminado es en realidad Siria blanca, y puedes ver el círculo por aquí. De acuerdo, Ahora, hagamos posición para ver un gran cambio. Ahora es la exposición está en realidad en cero. No, voy a tocarla. En realidad lo veo. En realidad la exposición es agregar cero y La razón por la que Círculo se corta a la mitad es porque se dibuja desde el centro, por lo que su centro está en realidad en posición. X añadir cero. Esto es todo lo que necesitamos saber sobre los tipos de datos en la siguiente sección. En realidad estamos pasando por los otros conceptos y el procesamiento, como, si es condicional, es bucles y funciones y clases y objetos.
15. Condicionales: declaraciones condicionales son una gran manera de controlar el flujo de tu abrigo. Están conectados al tipo de datos de lingotes porque la condición se evalúa como verdadera
o falsa. Si una condición evalúa como verdadera el bloque de código relativo a ella se ejecuta. De lo contrario, no pasó nada o si para encontrar el bloque de código asociado con el falso valor se ejecuta. Esto se usa en cualquier ejemplo donde se quiera separar a funcionalidades basadas en una condición. Digamos que quiero establecer el tamaño de mi forma en función de la posición en el eje X relativa a la línea central. Si está del lado izquierdo, quería ser pequeño, y si está del lado derecho, quería ser grande. Esto,
sin embargo,
no es sin embargo, muy realista, porque en la vida real podemos tener más de dos condiciones que también se pueden hacer en procesamiento utilizando dos o más condiciones diferentes que pueden evaluar a cierto en cierto tiempo de los programas vida viendo la sintaxis tendrá más sentido aquí. Para escribir una sentencia condicional, necesita la palabra clave si sigue dos paréntesis, continúe la condición, por ejemplo, X es mayor que 10. Entonces para llaves que rodean el código que necesita ejecutar dirá que el tamaño será cinco de la variable X es en realidad mayor que 10. Entonces se ejecutará el código. De lo contrario, no pasará nada a menos que definamos una declaración else. ejecuta la sentencia else, si la condición es falsa. Ahora bien, ¿qué pasa si necesitamos esas múltiples condiciones? Bueno, acabamos de añadir otra cosa. Si con paréntesis siguiendo la palabra clave Theis, ahora
hagamos que la condición X sea mayor a 30 y haremos el tamaño 10. ¿ Saber si la variable X es mayor a 10? Obtenemos el tamaño de cinco. De lo contrario del hacha es mayor a 30 que los tamaños. 10. Y por último, si ninguna de estas condiciones fuera cierta, entonces se ejecuta el bloque else. Puedes tener tantas declaraciones más if como necesites después de tu primera sentencia F, y siempre puedes eliminar la declaración L final si no tienes un uso para ella. Esta información gratuita Hay otra forma de escribir la condición ALS usando una sentencia switch. No voy a entrar en ella porque el F condicionado al procesamiento es suficiente, pero siéntete libre de comprobarlo en la página de documentación de procesamiento. Encabezemos ahora a nuestro condicional es ejemplo
16. Ejemplo: condicionales: en este ejemplo condicional, vamos a aprender un poco más sobre condicional. Entonces aprendimos en la sección de explicación sólo porque hay mucho más de lo que quiero
hablar de eso necesitó un poco más de ejemplo en una demostración. Y sólo voy a demostrar el f condicional sólo porque switch es algo que puedes entrar a la documentación y entender una vez que aprendas todo sobre el si condicional, mayormente porque solo uso, si condicional, la mayoría del tiempo. Aunque entres en el código de otras personas, vas a ver si condiciona ALS más de lo que vas a ver declaraciones de cambio. En Python, por ejemplo, ni siquiera
hay una sentencia switch. Solo hay y si condicional, um, pero sí, siéntete asustado de usarlo si sientes que es mejor que leas entonces y si condicional , una vez que entiendas cómo usar todo esto para controlar el fluir,
lo que sea que se vaya a mostrar, voy a cubrir algunas cosas que vas a ver mucho en el abrigo de la gente, y voy a hablar de un ejemplo que he usado en miles de millones y leer tasa sobre eso porque hay cosas que voy a arreglar en ese ejemplo. Entonces, empecemos con eso. En un ejemplo anterior, usé lingotes y lo hice falso. Y luego aquí,
dije, dije, Si la escala de grises es igual a cierto, entonces haz algo de lo contrario haz otra cosa. Entonces esto es lo que aprendimos al respecto. Condición ALS. Um, no
hablé de los dos signos iguales antes, um, en esta clase, pero vamos a hablar de ello dentro de la manifestación porque es mucho más fácil
verlo en acción que simplemente verlo en un explicación con alguna animación. De acuerdo, entonces la mayoría del tiempo, no
vas a ver, sobre todo con gente que
tiene más experiencia en programación, no lo vas a ver. Estos dos signos iguales si el valor contra el que vamos a comprobar es de mil 000.000
tipos de datos , por lo que ya sea verdadero o falso, la mayoría de las veces, vas a ver el código así si escala de grises. Entonces esto básicamente significa si escala de grises es igual a verdadero. Ah, pero es muy redundante escribir escala de grises igual a cierto, el código va a funcionar. Pero también puedes simplemente hacerlo de esta manera, porque si esto todo es cierto. Entonces, si escala de grises es igual al verdadero trabajo Onley, el código dentro de la condición solo se ejecutará si escala de grises es igual a dos. Cierto. Entonces si esto es cierto, entonces ¿por qué trek? Si es igual a verdadero una vez, es porque el valor ya es cierto. Entonces esto va a ser corridas para que no tengamos que decir escala de grises es igual a dos verdaderos o si es igual a valores predeterminados. Ahora bien, si quieres comprobar si es igual a dos caídas, solo
puedes hacer un signo de exclamación. Un signo de exclamación significa no así, si no escala de grises que significa lo contrario de lo que es Gail ahora mismo. Entonces ahora mismo es cierto. Entonces aquí va a ser falso. Entonces si esto fue falso, esto va a ser cierto porque es decir si no es el valor aquí adentro, Entonces si no es falso, entonces haz algo aquí. Es un poco confuso al principio una vez que empiezas a aprender esto, pero solo entiende que son dos valores y puedes recordarlo fácilmente en el futuro. Ya que lo practicas la mayoría de las veces, no
tengo noticias. No a menos que no vaya a usar un bloque else. Entonces si no uso esto. A lo mejor voy a usar no porque sólo estoy trekking si no lo es. Y eso es lo que quiero que se ejecute un código y no me importa ninguna otra cosa, pero sí, normalmente sólo haría si algo es cierto. Entonces solo pon la variable y me comprobará si es cierto o falso mirando al Valle. Entonces ahora mismo, si Escala gris Así que está buscando que sea verdad para que esto se ejecute, pero ahora es falso. Entonces esto va a ser falso y no va a correr, Vamos a saber en lugar de las caídas de maíz, comprobar valores. Entonces hagamos dos en culturas, y solo lo voy a llamar X e Y. los
voy a poner en dos líneas diferentes sólo porque les voy a dar valor ahí arriba. Entonces hagamos este 10 por ejemplo, y hagamos esto cinco porque no sé cómo podemos comprobar si X es igual o mayor por qué,
por ejemplo, vamos a usar esos operadores de comparación para rastrear eso? Entonces es exactamente lo que aprendimos en la clase de matemáticas. Vamos a hacer X. Pero en lugar de sólo escribir un igual normal porque en la programación, un signo igual es un tiempo de asignación. Entonces no va a funcionar para esta expresión. Si queremos una pista de algo es igual a algo. Entonces si hago esto, entonces es pensar como si estuviera asignando por qué a la variable X y me va a dar el tipo de desajuste que los enteros, que es X, no coincide con los lingotes porque dentro de y si condicional, hay que tener un lingote y para tener un booleano, vas a tener que igualar para comprobar si algo es igual a algo. Ahora bien, esto es en realidad un condicional. Entonces es X igual dedo del pie Por qué, no
es así me va a dar un falso Así que lo que sea que esté aquí va a correr y la pista que vamos a imprimir comunidad de línea, correcto. Y luego fuera te voy a hacer mal, y vamos a ver que está mal porque X en realidad no equivale a cinco. Entonces si cambio esto a 10 ahora, vamos a ponernos correctos. Y la razón por la que esto está imprimiendo mucho es porque la función de sorteo está en bucle, por lo que podemos simplemente detener ese bucle de colocación sólo por el bien de esta demostración. OK, ahora voy a devolver esto a cinco,
va a volver del dedo del pie Ron. Pero esta vez voy a comprobar si no es igual Julio. Entonces voy a comprobar si X no es igual de dedo del pie. ¿ Por qué? Al usar el no operador frente al igual Ahora sólo necesita uno igual porque no está presente. Y así esta es en realidad una condición que va a producir unos valores booleanos o bien verdaderos o falsos, Y no es igual, Así que nos va a dar lo correcto. Y eso es correcto. Ahora hay otros operadores de comparación, como Greater Than me va a dar correcta, porque X es mayor de lo que también vamos a hacer mayor que o igual. Y va a ser correcto sólo porque mayor o igual significa mayor o igual . Cualquiera de esos dos bastará. Y luego si reviso también menos que y también hay menos que e igual para comprobar menos nos
va a dar mal, porque X definitivamente no es menos que y luego menos que o igual. Y me va a dar mal porque no lo es. No es ni o, uh, si son 10 entonces me va a dar correcto sólo porque uno de estos dos es correcto Así que X es igual de dedo del pie. ¿ Por qué? No es menos que pero es igual. Entonces me va a dar correcto. Ahora, como estoy hablando, dije alguna o varias veces Así que voy a introducir otra variable llamada Z, y eso es para demostrar diferentes operadores que podemos usar dentro de Zoe's condicionales. Bueno, voy a darle un valor arbitrario, Así que aquí, voy a dar por y voy a comprobar si X es igual a
yY entonces voy a usar este operador de aspecto extraño usando dos líneas rectas. Entonces en mi teclado, los
confinaste con la barra inclinada hacia atrás. Entonces con un cambio en barra hacia atrás, vamos a conseguir uno de estos. Entonces dos de estos nos van a dar o Ok, Entonces lo que estoy diciendo en este momento es si x es igual a
yEntonces si X es igual al Grable, por qué o X es mayor que Z, entonces ejecuta esto así o es muy indulgente. Va a buscar sólo un valor verdadero. Entonces si alguna de estas condiciones es cierta, esto va a pan. Ahora bien, ambas condiciones eran ciertas. Pero, ¿y si lo hago? X es menos tanfetaminas. Todavía me va a dar correcta porque X es igual a y y esto es cierto. Y así estoy diciendo o que esta condición es cierta o esta condición es cierta. Si alguno de ellos es Drew, entonces dame lo correcto. No obstante, si pongo aquí y en lugar de o y estos aire a Amper Sands, esto me va a dar mal. El motivo de esto es porque el 1% o el operador y es mucho más estricto. Es decir que no voy a ser verdad a menos que thes dibujara un verdadero. Entonces si esto es cierto y esto es cierto, entonces voy a ser correcto. Entonces es muy estricto. Entonces si uno de estos dos valores es falso, entonces no se va a correr toda la cabra dentro de eso si condiciones. Entonces va a ir al otro paseo Si hay otra cuadra inmediatamente. Ahora, si cambio esto a verdadero y corro, esto me va a dar lo correcto, porque ahora es feliz. Ya que esto es cierto y la hermana otra vez, esto podría ser confuso para algunos de ustedes empezando. Pero mientras lo practicas, vas a ver que es de sentido común y que es muy fácil de entender. OK, así que ahora hagamos otra cosa. Si ahora vamos a cambiar un poco este ejemplo porque correcto e incorrecto son sólo dos valores. No quiero hacer de esto un condicional de tres bloques. Entonces sólo voy a decir iguales. Y luego si X es mayor que por qué voy a imprimir mayor o incluso mejor, X es mayor. Y entonces aquí, sólo
voy a decir, por qué es mayor. Entonces ahora si X es igual, Teoh, por qué vamos a conseguir iguales, y luego si X es mayor, vamos a conseguir X es mayor. Y ahora, si por qué es mayor, nos vamos a hacer más sabios. Entonces así es básicamente como usar else con condicional Es muy simple. Una vez que entiendas un bloque f else, puedes entender lo demás si es fácil, porque va en el medio y puedes tener tantos como quieras también, en lugar de imprimir. Sé que he introducido print Len antes de hablar realmente de ello, pero también se puede hacer texto para todos estos. Entonces en lugar de imprimirle al ayuntamiento por aquí, solo
puedes escribirlo dentro de tu boceto lo voy a poner en medio de la pantalla antes de que lo ejecutemos. Vamos a tener que cambiar el dedo del pie de relleno negro porque la sensación predeterminada es blanca y Texas no
va a mostrar porque toma del valor de la píldora. Y ahora dice, ¿Por qué es mayor y cambiemos y Dice X es mayor ahora y luego finalmente, va a decir igual y bueno, eso es todo lo que necesitas saber. Si condicion als siguiente, hablaremos de bucles y qué podemos hacer con bucles.
17. Loops: en este módulo hablará de mi concepto favorito y bucles de programación para no influir ti para elegir un favorito, pero creo que una declaración que nos ayude a evitar la redundancia mientras se agrega a la obra de arte es increíble. Los bucles hacen maravillas por su cuenta, pero también son geniales. Si se combina con un raise, podemos recorrer un array mediante el uso de la variable de aireación en bucles como la posición de los elementos de
arrays, permitiéndonos pasar por toda la matriz. Podemos usar bucles para dibujar una multitud de formas, obtener acceso a cada elemento en array o incluso actuar a una matriz para la sintaxis. Hay dos formas de escribir bucles en función de lo que necesites. Si sabes cuántas raciones vas a tener que un bucle de cuatro es perfecto. No obstante, si buscas bucear hasta que una condición sea verdadera, no conocer el número exacto de repeticiones que un bucle while es el camino a seguir. Para un bucle de cuatro, necesita la palabra clave de cuatro, seguida de paréntesis que contienen tres componentes, una inicialización, una condición y un er incremental. Sea lo que sea que entre, las llaves que viene después se repetirán tantas veces como se especifica en los paréntesis . El for loop variable puede ser un entero o flote, pero como mencionamos anteriormente, entra y flota. Difieren. Las industrias están destinadas a la contabilidad. Por lo tanto, si estás usando los bucles, los elementos de matriz de acceso
del dedo del pie, por ejemplo, que tus variables inicializadas tienen que ser de tipo en los títulos. Veamos ahora cómo definir un bucle while. Para eso, también
necesitarás tres componentes importantes en la inicialización. Después, en la siguiente línea, la palabra clave mientras sigue los paréntesis que contienen la condición y, por último, bloque de código
insider. Después de que todo se ejecute, agregamos el er incremental. Un problema con el que puedes tropezar con más frecuencia en loops while que en cuatro bucles es un
bucle infinito . Esto puede bloquear su software. Los bucles infinitos ocurren cuando nunca se cumple una condición, y eso ocurre cuando tienes un incremental tu variable o, si tienes razón, la condición incorrecta. Es hora de un mini ejemplo
18. Ejemplo: bucles: Ahora que vamos a hablar de bucles, revisitemos o corramos. Uno de los ejemplos que creamos en un alza son las posiciones, Ray. Entonces voy a recrear que si quieres posiciones de valores flotantes, entonces vamos a crear una matriz llamada Float y los corchetes significan array. Y luego lo voy a llamar exposiciones. Voy a darle cinco posiciones. Algunos solo pueden decir tu flotador, así que inicialízalo con cinco celdas vacías. Ahora, última vez dijimos, si quieres incluir valores o generar valores dentro de las exposiciones, debilita, solo di exposiciones. Y luego 0123 y cuatro Así cinco valles. Pero esto no tiene sentido. Porque ¿y si tengo 100 valores por aquí? No voy a hacer de 0 a 100. O sea, del 0 al 5 ya es un estricto. En cambio, sólo
puedo hacer un cuatro vivido dentro de cuatro bucle. Dijimos que comenzamos con un Isar inicial. Inicialmente, había básicamente una variable, así que cualquier variable que normalmente crea fuera de tus funciones por aquí, puedes crear por aquí la mayoría del tiempo vamos a ver gente usando I y J. Yo uso I para mi primer for loop. A veces si anidas para bucles, entonces usas uno yo uno j porque no puedes anidar con la misma variable. Entonces voy a simplemente hacer y me fijo para índice porque almacena el índice de para el
bucle for y luego lo voy a inicializar con cero. Entonces este es mi Isar inicial, y luego tengo una condición. Ya sabemos leer las condiciones de nuestro último tractor y la mayoría de este alto . Y al usarlo con un aumento, vas a ver la condición comprobando si el índice es menos prohibir la longitud de los rayos. Voy a escribir eso y luego te explicaré menos que exposiciones. Y voy a usar la propiedad para un aumento llamado longitud. Y si se nota en el medio, siempre uso cínico y la razón por la que me acostumbraba a Coghlan's y he usado esto lo largo del programa. Mucho es terminar una línea de código. Entonces si no lo haces y esta línea de código con un cínico y vas a conseguir un error porque tu programa no sabrá dónde popa, dónde terminar, Así que aquí estoy diciendo, OK, ya
terminé con esto, así que lo voy a terminar con un punto y coma. Entonces lo mismo entra aquí dentro de cuatro bucles. Voy a terminar cada sección camino el punto y coma Porque quería caminar por esto solo y luego por esto solo y por la última sección del amor. Y luego voy a incrementar antes de incremental. Cuando explico a este extranjero, la condición aquí es comprobar el yo si es menor que las exposiciones de esa longitud. Entonces ahora la longitud aquí es de cinco. Entonces es comprobar si tengo menos de cinco años. Entonces mientras sea menos de cinco, el valor del incremento va a subir donde el incremento va a hacer mi ojo aquí, subir el valor de I. Así que va a ser de 0 a 1 a 2 a 3 a cuatro hasta que llegue a uno menos de cinco. Entonces una vez que llegue a uno menos de cinco, entonces va a parar. Y luego el er incremental que escribí en mi video explicación I plus si recuerdas de nuestros enteros y flotadores ejemplo, nos incremental X como así. Entonces este es un er incremental implementamos el viejo valor de X por uno, y empezamos dentro de la vieja variable. Ahora esto podría hacerse de otra manera. También se puede hacer de esta manera. Entonces esto es decir incrementos X por uno y comenzó dentro de X. Esta es una taquigrafía. También hay menos menos, así que en realidad es degritar Menting por uno. Y luego, si quieres incrementar por valor diferente, porque eso es algo que también hicimos dentro de sus enteros y flotadores Ejemplo, que es como So Así lo hizo dulce. Y esto básicamente significa lo mismo. X incremental lo hizo por tres y debilitarse hacer menos bien, y esto va a declamar significado por tres. Por lo que estos airean solo las manos cortas y hace que tu código sea mucho más limpio en lugar de escribir esto
así que solo puedes leerlo así que es mucho más simple. Es más fácil de entender, y es más agradable mirar en tu código. Entonces eso es básicamente lo que estoy haciendo aquí. Estoy implementando por uno. También puedo hacer más igual libre por lo que puedo incrementar cada tres valores. Él puede hacer esto si quieres crear una cuadrícula, yo no necesariamente creo una gran esta manera. Pero he visto personas que han creado cuadrículas comprobando si es si el ojo es menor que el ancho y luego a medida que van los incrementos por las celdas con
eso, depende de ti cómo quieres usar esto. Normalmente me incremento en uno, y luego hago mis cálculos dentro de mi bucle for. Vamos a incrementarnos en uno ahora mismo. Y luego voy a cerrar los paréntesis y voy a abrir mis llaves para escribir mi abrigo aquí adentro porque ahora vamos a hacer exactamente lo que hicimos antes de usar las exposiciones cero y uno y dos y tres. Pero en cambio sólo voy a hacer exposiciones y dentro de los corchetes, voy a poner el índice y luego voy a darlo sobre ti. Entonces digamos que quiero darle un valor aleatorio, tal vez de cero a tecnología. Y también imprimamos exposiciones solo para ver los valores dentro de ella. Se puede ver que te da exactamente lo que hacíamos antes cuando asignamos un valor al puesto al 01 Entonces 123 y cuatro. Entonces está diciendo que ahora, dentro de la matriz de exposiciones en la posición cero. Tenemos este valor aleatorio en la Posición uno. Tenemos este valor. Entonces tenemos esto flotando apenas tres y cuatro y así sucesivamente, así que sabemos que está funcionando. Pero, ¿cómo funciona realmente? Entonces un for Loop básicamente toma este índice que comprueba si es menor que las exposiciones que longitud. Entonces cero definitivamente es menos de cinco porque la longitud es el tamaño de esta matriz, y luego se va a incrementar en uno. Entonces ahora es cero más uno. Entonces ahora estos valores, en realidad uno. Ahora en la próxima generación, se va Teoh, revísalo contra la condición otra vez. No, es 11 sigue siendo menos de cinco, por lo que se va a incrementar y antes se incremente o cada vez en incrementos. En realidad hacer los cálculos y aquí o correr el bloque dentro de un bucle for en la primera oración tenía el valor de cero. Por lo tanto Exposición cero igual al valor aleatorio de 0 a 10. Y luego cuando se convirtió en uno, era uno por aquí. Entonces las exposiciones en la posición uno van a ser otro valor aleatorio es que también hice, digamos, 10 de las que todas van a ser 10. Entonces todos van a ser valores de flotación de 10 y notaron que hay un 100.0 por aquí Solo porque aunque entré un entero solo porque esto es un flotador, todos estos aire van a parecer flotadores. Entonces si cambio esto en un entero, entonces van a estar en imágenes. Pero ahora no podemos realmente introducir ningún valor de Brandon a menos que les rodee. Entonces si hago 0 a 10 no va a aprender porque dice discordancia de tipo, ya que aleatorio devuelve un valor flotante. Pero si lo redondeo y esta es solo una ecuación matemática muy simple que solíamos usar en la escuela, solíamos redondear números, así que sabemos ejecutarlos. Entonces va a alrededor de los números para mí. Y luego se convirtieron en coito ahora, así que me va a dejar ponerlo dentro de antidroga. Esto no es muy importante en este momento, pero sólo hay que saber acerca de cuatro bucles es que se pueden utilizar para alimentarse para elevar valores. OK, ahora, hagamos el mismo ejemplo exacto usando un bucle while, solo
voy a dejar el bucle for ahora mismo. Es y te voy a devolver esto. ¿ Vivía? No, voy a comentar esto. De acuerdo, entonces , ya
sabes, en un bucle while, dijimos que vamos a tener un Isar inicial de antemano. Entonces voy a crear aquí el Isar inicial. Voy a llamarlo y yo para índice otra vez y luego voy a escribir el bucle while. Por lo que dentro del bucle while, solo
tienes la condición. Y la condición para nosotros aquí va a ser otra vez ojos menos que las cosas de la exposición como y luego dentro de la cuadra, voy a hacer lo que hice dentro del bucle for. Y luego después de eso, voy a incrementos I Así que cada vez se va a mirar adentro, yo por aquí va a ver el valor se va a comprobar si es menor que las exposiciones que longitud la derecha y entonces va a hacer esto si es menos así, si esto es cierto, sigue siendo menos de cinco. Entonces va a hacer esto y luego va a incrementos. Si no se incrementan, esto va a ser un bucle infinito porque éste siempre será cero. Nunca subirá hasta cinco. Por lo que el local se detiene para que se ejecute infinitamente y eso puede romper tu programa. Puede congelar tu computadora. No sé qué pasa. La mayoría de las veces cuando eso me pasó, solo
pude detenerlo usando el botón de parada de aquí. Entonces si no funciona, entonces solo primero procesamiento rápido y todo estará bien. Pero sin embargo tan solo recuerda que necesitas el incremento dentro de aquí y necesitas la condición. Teoh, en algún momento del programa, se vuelve falso, por lo que se detiene. Entonces, no, esto va a hacer exactamente lo que los cuatro lo bucearon antes y nos va a dar un
valor aleatorio ,
un valor flotante aleatorio de 0 a 10 posiciones finales de 0 a 4 dentro de la matriz. Entonces eso es exactamente lo mismo que el bucle for. No necesariamente uso un loop while con un raise sólo porque, ah, por un loop while, es mejor usarlo con condiciones que no sabes cuándo se van a cumplir. Digamos que tienes andador aleatorio, y en cuanto ese Walker aleatorio se mueve de un lado de las pantallas o de un lado de tu lienzo a otro lado de tu campus. Entonces quisiste parar. A lo mejor donde quieras que ese círculo deje de moverse o deje de colorear tu pantalla ahí un rato. Loop es genial porque como el movimiento es aleatorio, no
sabes lo que va a cruzar esa línea. Pero si quieres generar posiciones, o si quieres hacer algo donde conozcas la cantidad de tiempo o la cantidad de repeticiones, entonces un amor de cuatro es definitivamente lo que necesitas de nuevo. Depende de qué diseños estés creando. ¿ Qué buscas en arte generativo? Y en base a eso, vas a elegir si necesitas un bucle for o un loop while. Ahora que hablamos de unos bucles y repitiendo código eficientemente a continuación, vas a aprender sobre las funciones y cómo crear métodos reutilizables o bloques de
código utilizables para evitar redundancia.
19. Funciones: Ahora hablemos de evitar redundancia en nuestro abrigo. La tarea y programación más tediosa es repetir las mismas líneas de código siempre que las
necesites . Y si después quieres un cambio de valor, tienes que cambiarlo en todos esos lugares cada vez que puedes evitar todo este lío
creando una función. Las funciones son bloques de código reutilizable que realizan tareas relacionadas y a veces incluso devuelven un valor que puede almacenar en una variable para su uso posterior. Utilizo funciones para un formato de texto, números
calculados o hacer formas personalizadas. Digamos que quiero crear una cara sonriente o múltiples caras sonrientes. Esto requerirá tres círculos, uno grande para la cara y dos pequeños para los ojos y, lo
más importante, un arca para la sonrisa. Puedo poner todo eso dentro de una función, llamarlo Smiley y llamarlo Zeman e veces como yo quiera. Eso es eficiencia. Exploremos la sintaxis de una función con un ejemplo mucho más simple. Quiero una función que tome en un radio y devuelva un diámetro llamará a este
diámetro de función . Las funciones también comienzan con una palabra clave como variables. La palabra clave, sin embargo, indica el tipo del valor de retorno. Para nuestro ejemplo sonriente, la palabra clave sería nula, ya que no devuelve nada. Pero para este ejemplo de diámetro, el valor de retorno estará a flote. Dado que nuestra función toma en un valor, tenemos que definir un parámetro. Vamos a llamarlo radio y darle un tipo de carrozas. Este es un simple cálculo. Un diámetro es dos veces el radio se debilita. Almacene estos datos en una variable flotante dentro de la función, luego devuélvalos. Pero como es un pequeño ejemplo, devolverá el cálculo directamente. Utilizamos la palabra clave de retorno antes de un retorno. Valores ahora para usar la disfunción, lo
llamamos usando su nombre seguido de paréntesis. Dado que esta función registra una entrada, tenemos que pasar un argumento. Haré un valor de 10 para radio debilitar. Almacenar el valor de retorno en una variable, o podemos usarlo directamente en su abrigo. Creo que es hora de que un ejemplo entienda mejor esto
20. Ejemplo: funciones: ok, Es hora de las funciones. Ejemplo. Como expliqué en el video explicativo, una función almacena un bloque de código en un método razonable que se puede llamar a cualquier lugar a lo largo del programa han estado utilizando la función de tamaño y fondo y estas
funciones de aire que son nativas de procesamiento. Entonces ahí ya se han creado con procesamiento, así que no necesitamos recrear ellos. No obstante, a veces hay necesidades de funciones o de que crees tus propias funciones. En el video de ejemplo, hablé de crear una cara sonriente y guardarla dentro de una función. A lo mejor podemos recrear ese ejemplo para ver cómo funciona. Para crear funciones, necesitamos las palabras clave del tipo de retorno. Entonces para un ejemplo sonriente, no
necesitamos devolver nada voy a usar solo evitar, que significa vacío, por lo que no necesariamente devuelve nada. Y esa es la palabra clave que usas para eso. Como puedes ver por aquí, se usa
evitar, se retira y se configura porque no devuelven nada, y ahora lo llamaré Smiley, y tenemos los paréntesis donde podemos tener parámetros y luego las llaves donde nos puede tener el bloque de código que queremos correr y dentro de nuestra cara sonriente. No voy a entrar en la función Arca ni en la forma del arca sólo porque es un poco demasiado complicado para este ejemplo. Pero sólo voy a crear un círculo amarillo y dos pequeños círculos, y voy a colorearlos también. Entonces le voy a dar a este un compañero de amarillo, y está llegando a estar en el centro sobre pantalla, y esta vez voy a darle un tamaño de 200. Y luego voy a crear un Phil diferente para los otros dos círculos, que van a ser los ojos les voy a dar un Phyllis Black. Voy a crear dos círculos diferentes y voy a poner uno de a 34 ahora y ya veremos dónde está posicionado eso y lo podemos arreglar más tarde, y van a tener un tamaño de 20. Entonces veamos dónde está esa. De acuerdo, no
vamos a ver nada. El motivo de eso es porque no hemos llamado a función, por lo que sólo la definimos. Esto es un error que he visto tantas veces enseñando programación. Ah, muchos de los estudiantes solían olvidar llamar a la función, y esperan que su código funcione. Pero lo que necesitan hacer es llamar a la función. Voy a detener primero la función de dibujo de bucles. Entonces solo voy a usar la función no look y luego dentro del sorteo porque
no quieren que dibuje muchos círculos uno encima del otro. Enseguida, dentro de la función de sorteo, voy a Teoh, llama a Smiley. Entonces cómo se llama a una función es simplemente llamando a su nombre y después teniendo que paréntesis. Ya que no tenemos ningún parámetro por aquí, no necesitaremos ningún argumento por aquí. Yo lo voy a ejecutar ahora podemos ver que está muy apagado. Entonces el yo no debería estar por aquí. Entonces sé que el centro 202 102 100 está aquí. Y como soy una persona visual, es mucho más fácil para mí ver algo frente a mí sólo para entender el posicionamiento de la misma. Puedo visualizarlo, pero me puede llevar más tiempo. Es más fácil para mí sólo verlo, así que voy a mover esto aquí arriba, así que sabemos que son 200 por aquí, así que sólo necesitaba ser menos de 200 el tamaño es 200. Entonces sé que el radio del tamaño del círculo es de 200. Entonces sé que el radio es de 100. Entonces sabemos que puedo retroceder tal vez 30 píxeles desde 200 hasta 30 píxeles. Entonces van a ser 170 para ambos, y debería funcionar. Ahora voy a tener otro círculo, y esta vez el por qué va a ser el mismo porque van a ser paralelos entre
sí . Pero entonces los otros ojos van a espejo este yo en el eje X. Entonces van a ser 2 30 esta vez. Pero, ¿por qué van a ser 170 ahora? Tenemos dos ojos. Genial. Entonces esto es básicamente lo que es una función. Ahora puedes crear Aziz muchas caras sonrientes como quieras dentro de las tuyas para grullar, pero con un problema. Entonces el problema ahora mismo es que cada cara sonriente va a estar en la misma posición. El motivo de eso es porque no tenemos parámetros. Entonces no estamos llamando a esto con posicionamiento diferente. Podemos cambiar eso agregando parámetros por aquí. Entonces si hago flotar X y flotar por qué, Así es básicamente como creamos parámetros. Acabas de definir variables sin valores, y luego las usas aquí dentro, y esto nos va a dar un error aquí en la llamada porque espera parámetros. Por lo que necesitamos ingresar argumentos. Y por cierto, la mayoría de las veces vas a escuchar a la gente hablar de parámetros cuando están definiendo y argumentando cuando están llamando a la función. De acuerdo, ahora, creamos nuestros parámetros, pero necesitamos usarlos. Entonces dentro de este círculo, en lugar de usar 202 100 que son valores estáticos, voy a sustituirlos por los valores de flotación que creé o los parámetros que se crean. Entonces solo voy a hacer X y y sé que esto va a funcionar perfectamente para el círculo amarillo. Pero, ¿cómo puedo hacerlo por los ojos? Si recuerdas, dije desde la posición media, me voy a mover a la izquierda 30 pixeles y luego arriba 30 pixeles para crear el primero yo Así que
vamos a hacer lo mismo. Entonces sé que sea cual sea esta posición, sé que los ojos dando a ser 30 píxeles menos en el eje X y 30 píxeles menos en el
eje Y . Y luego el otro va a ser 30 píxeles más y 30 píxeles menos. De acuerdo, así que esto va a ser X menos 30 y esto está bien, va a ser por qué menos 30. Esto va a ser vino menos 30. Y esto es espejo, así que va a ser X más 30. Y ahora tenemos que corregir el error y sumar nuestros argumentos esta noche. Yo quiero que el 1er 1 sea un 202 100. Entonces va a ser el círculo grande va a estar en esa posición, que va a ser el centro. Pero quiero que el otro esté en la posición 00. Enfriar. Ahora tenemos que smileys. De hecho movamos este para que veas los ojos que están funcionando para ambos. Entonces solo voy a hacer 100 en 100 y podrían superponerse. Eso está bien. Enfriar. Ahora tenemos que caras sonrientes, y ambos tienen los ojos en la posición correcta. Y ahora puedes tener tantas sonrisas como él quiera. Y ahora, conociendo de bucles, podemos crear muchos smileys generando posicionamiento Brandon para ellos, y puedes crear toda una página de caras sonrientes. Y si vas a la documentación y compruebas ah, la forma del Arca y cómo se crea, podrás entender mejor esa documentación ahora porque sabes todo sobre los argumentos y cómo se usan realmente porque creaste su propia función. No, vamos a crear otra función que regrese sobre esta vez. Entonces voy a dejar sólo los 100 píxeles. Miley, ya
sabes, solo
tengo esto porque quiero imprimir algo aquí que estoy regresando de la otra función allá en crear. Ya sabes, vamos a crear una función de anuncio, que es la función más simple que puedes crear con el valor de retorno. Ahora, una función de anuncio agregará dos números. Va a ser una función muy, muy sencilla. Se va, Teoh añade un accidente. Por qué valorar lo que el usuario ingrese o lo que quiera y poner dentro de su programa, y luego va a devolver información de esos dos, puede
ser un intruso o flotador. Depende de ti cómo quieras crear esta función. Simplemente voy a crear un entero porque es mucho más simple de tratar. Entonces voy a hacer el tipo de devolución. Y así que no, la palabra clave es evitar ya porque esto va a devolver algo, y yo voy a decir y y voy a llamarla a y y los paréntesis y luego otros corchetes. Ahora, en lugar de tener parámetros vacíos o paréntesis vacíos, voy a darle un Valor X. Y Callejón Blanco. No, esto va a estar un poco enojado sólo porque este método debe devolver un resultado de tipo entrevista y todavía no tenemos valor de retorno por aquí. Como dije en mi video de explicación, puedo crear una variable aquí dentro de eso llamada algunos y vamos a crear eso primero o puede devolverlo directamente. Y como este es un pequeño ejemplo, también lo vamos a devolver directamente. Entonces lo voy a hacer sólo termina. Voy a llamarlo algo, y luego voy a hacer X más y. entonces, cualesquiera que sean los valores dentro de X y los valores dentro de por qué quiero. Algunos de esos y luego sólo puedo devolver algunos. Entonces ahora está feliz Ya no hay errores. Y está devolviendo a este hijo. Te voy a mostrar cómo va a funcionar esto con esto, y luego lo voy a cambiar para devolver los algunos directamente. Entonces hagámoslo realmente dentro de la función de textos que usábamos antes. Y voy a poner esto en la Posición 200. Lo que sea que esté aquí y luego voy a llamar a anuncio. Puedes darle el valor que quieras. Acabas de hacer 10 y cinco. Y si tengo razón, atrasado regresó 15. ¿ Verdad? Y está devolviendo el valor. 15 otorgan un poco el tamaño del texto incremental solo para que puedas ver claramente lo que está escrito. De acuerdo, entonces ahora son 15. Y veamos si quiero devolver los valores directamente. Entonces voy a devolver esto directamente porque no hay necesidad de añadir más variables a la memoria cuando no es necesario. Y si lo ejecuto, van a ser 15. Entonces sabemos que todo está funcionando muy bien. Ahora puede mantener limpio tu abrigo creando funciones y llamándolas siempre que las necesites .
21. Clases y objetos: clases y objetos son la base de la programación orientada
a objetos perfecta para cuando se desea crear una plantilla para un nuevo objeto que no existe por defecto. Uno de los ejemplos más conocidos es la clase vehicular. Digamos que queremos crear un plano para crear objetos de vehículo. Podemos escribir una clase llamada Vehículo y empezar a pensar en qué propiedades y acciones tienen
todos los vehículos. Por ejemplo, todos
deberían tener una posición de partida. Todos se mueven. Todos tienen un tipo de motor y así sucesivamente. Esto es genial. Ya tenemos una plantilla que podemos personalizar en función del tipo de vehículo que se estaban creando . No obstante, aquí tiene más sentido mirar un tema relacionado con el arte más generativo. Echemos un vistazo a un andador aleatorio, y mientras estamos en ello, vamos a explorar la sintaxis para hacer clases y objetos. Cada clase comienza con una palabra clave class, seguida de un nombre, por ejemplo, un call it walker. A diferencia de las funciones, un nombre de clase se sigue directamente con llaves en lugar de paréntesis porque
vienen más tarde al crear el constructor. El constructor es el nombre de la clase, seguido de paréntesis en los que podemos agregar parámetros para permitir la entrada si es necesario. Ahora es el momento de algunas propiedades y métodos. Una propiedad es una variable en un método es una función, pero la terminología es diferente porque pertenecen a una clase. Por lo que ya sabemos crear esos. Sólo tienes que saber que las propiedades van antes que el constructor y los métodos van después de ahora para crear una instancia de esta clase, usamos la nueva clase que creamos ya que usamos tipos de datos para variables que continúan con su ejemplo de
Walker. Así será nuestra instancia. También podemos crear una matriz de objetos si agregamos corchetes después de la palabra clave Walker, como así ahora para crear realmente la instancia, asignamos esta variable con el tipo Walker al valor de nuevo walker. Para esto, el constructor está vacío. Pero si definimos parámetros, tenemos que pasar. Argumentos como hicimos con funciones y ejemplo nos ayudarán a conseguir más práctica con clases y objetos
22. Ejemplo: clases y objetos: este ejemplo sólo voy a ser yo demostrando cómo usaba el aire las clases o cómo personalmente uso las clases. voy a crear en el mismo archivo porque hablaremos de múltiples archivos más adelante, y no quiero incorporar demasiadas cosas de las que aún no he hablado. De acuerdo, antes de empezar a pasar por el ejemplo quiero hablar de por qué usaría una clase A veces, en lugar de simplemente usar las formas regulares o usar una matriz o un bucle for es una lección. Quiero crear un círculo en la página, pero también quiero moverlo. Entonces todo el programa se trata de animar esos. A lo mejor es una imagen fija. Al final, quiero crear haciendo que esas formas se muevan y dibujen en la pantalla. O tal vez solo quiero que se muevan porque quiero compartir en la animación misma. Entonces un círculo, si lo quiero conducir, tiene una posición X e Y, y tiene tamaño. Pero si quiero moverlo, la única forma de hacerlo es usar variables e incremental el acento y basado en lo que quiera hacer. Pero ahora Si quiero crear una matriz de círculos para moverlos a través de la pantalla, no necesariamente tengo un método que los movería. No tengo un método que,
um,
actualice um, la pantalla cada vez que hubo un movimiento o esas formas se están moviendo. Entonces solo voy a crear un aula como hace el proceso de pensamiento. lo sabes. Está bien. Necesitas crear una clase porque ya no existe ningún objeto que tenga todas estas características que necesitas porque todos los tipos de datos de los que hablamos son en realidad objetos que tienen clases. Por lo que los métodos que se utilizan con la cadena, por ejemplo, están todos definidos dentro de la clase string. Entonces no hiciste lo mismo. Entonces voy a crear un círculo de oro clase, y vamos a tener propiedades cuatro movimiento, y para el tamaño e incluso para el color, empecemos leyendo la clase, lo vamos a llamar simplemente círculo. Y dijimos que aquí no tiene paréntesis. Una clase tiene un constructor dentro de ella. Es como la función de la clase. Por lo que se ve igual que una función, pero sin ninguna palabra clave antes de eso. Entonces es el mismo nombre y luego los paréntesis, y luego dentro de él, inicializaste variables que únicas para algunos otros lenguajes. Se llama en ella porque es un Isar inicial. Por lo que inicializas todo lo que necesitas por aquí y antes que él. Dijimos que las propiedades van aquí, que es lo mismo que variable difieren creado si las creaste antes de todas las funciones que tenemos. Entonces solo voy a hacer flotador ex y ¿por qué? Y luego también les voy a dar el tamaño que puede ser. Todos pueden tener el mismo tamaño, o pueden tener tamaños aleatorios. Depende de ti cómo queremos crearlos. Esto es solo crear la plantilla. El círculo va a ser la plantilla de la que vamos a crear muchos círculos fuera. Entonces esta es básicamente la forma del círculo o cómo ha sido una mirada o qué tipo de propiedades va a la mitad. Y luego también le voy a dar un color, así que sólo haremos al azar. Sé que no hemos introducido la aleatoriedad, pero esto es lo que esta es una de las cosas que voy a usar aquí solo para mostrarte cómo lo usaría normalmente. No quiero que este ejemplo sea un ejemplo, solo para mostrarte cómo se crean las clases sin mostrarte exactamente cómo las usaría. Yo quiero que sean realistas, aunque voy a introducir algo con lo que no he hablado. Probablemente. De acuerdo, entonces si quieres que haga que el usuario establezca la posición la X en mi posición, todo tamaño o color, entonces tendrías que asignar parámetros por aquí. Entonces si lo quiero, digamos si quiero que el usuario ingrese la posición X e Y, entonces tendré que decir float y le daré un nombre diferente. Entonces solo voy a hacer actos de subrayado, solo asociarlo con X y luego flotar. Por qué, puedes llamarlos X X Y. ¿Por qué simplemente es más fácil si es diferente a éste? No es confuso. Y entonces los asignarías aquí. Entonces este es el Isar inicial. Entonces yo diría que esta X es igual a esta X, así que cualquiera que sea la entrada aquí se van a asignar dos X y luego haré lo mismo por por qué Pero ahora solo quiero que surjan del centro. Entonces voy a decir sólo 200. Entonces voy a teclear 200 luego mentir va a ser 200 también. Y luego les voy a dar a todos el mismo tamaño por ahora. Entonces van a ser buenos píxeles, y entonces esto es simplemente arbitrario. No es importante el tamaño que pongas. Depende de ti y luego voy a hacer color. Hagámoslo en realidad un solo color. Por ahora, sólo lo
voy a hacer azul. Después de eso, voy a escribir un método. Entonces los dos principales métodos que verás que usan muchos artistas generativos, incluyéndome a mí, es el método de visualización y actualización. Se puede llamar al método de actualización mover. Depende de ti cómo quieres llamar a estos métodos. Pero esta es la convención que verías mucho. Solo estoy llamando al 1er 1 display y display es básicamente el método de dibujo. Pero yo lo llamé. Yo lo llamo display. hecho de que haya un método de sorteo de forma nativa y luego evitar arriba grande se va a mover los círculos. Entonces aquí vas a dibujar lo que quieras dibujar. Entonces, lo que sea que quieras mostrar, solo escríbalo aquí. Voy a darle un relleno de color, y podrías haber simplemente no usado la llamada por aquí son el color variable por aquí y simplemente hacer llenar directamente. Pero solo quería ponerlo aquí y aquí solo para mostrarte que puedes agregarlo como propiedad e incluso puedes tener que usar tu entrada. El color. A lo mejor quieren aleatorizar el color. A lo mejor no tendrán el mismo color. Y luego voy a Teoh realmente dibujar un círculo. Entonces el círculo va a tener la exposición de la posición Y y ustedes bien, voy a dejar el método de actualización MT. Por ahora, y te voy a mostrar cómo se verá esto. De acuerdo, entonces dijiste que si queremos inicializar o declarar un objeto de la clase de círculo, vamos a llamarlo como si fuera el tipo de datos, al
igual que cadenas e introducir y flotar en todos estos otros tipos de datos, y luego lo voy a llamar como sea. Entonces sólo voy a llamarlo señor y luego voy a inicializarlos dentro de este círculo de funciones del
centro va a igualar divertidos tu cool, porque ahora estoy creando una nueva instancia de clase de círculo. Entonces ahora esto tiene una instancia de la clase? No. Si quiero crear otra instancia, me limitaré a hacer Cirque dos vehículos, nuevo círculo. Y estos dos tendrán configuraciones diferentes si los inicializo con argumentos. Si alguna vez tengo parámetros aquí y los inicializo, Y si esto tiene, como, tiene que salir del centro y yo hice que esto emerja de la esquina, entonces estos eran objetos diferentes. Cuando tengo que inicializar para servir a dos por aquí es Bueno, vale, ahora voy a poner el fondo para que no se seque porque quería simplemente mudarme de nuevo a White, Y ahora voy a llamar a este Cirque, y voy a llamar a su método para mostrar. No vamos a llamar a actualización ahora mismo porque no tiene nada. Y aunque llame, no me va a mostrar nada más que mostrar porque está implementado. Me va a mostrar el círculo. No, así es como llamarías a los métodos y propiedades dentro de tu clase para que se definan como variables y funciones porque son iguales. Pero debido a que pertenecen a una clase, hay
que usar notación de puntos para conectar o para llamarlos porque solo pertenecían a los closets. Y Cirque es una instancia de esa clase. Puede acceder a todas las propiedades y métodos utilizando la notación de puntos. Entonces si quiero acceder a X, ya que no es privado entonces o el valor de los actos que puedo hacer esto y puedo ponerle
valor , también, si quiero hacerlo cero en su lugar, puedo hacerlo. Pero ahora mismo sólo vamos a exhibir. De acuerdo, ahora podemos jugar y se puede ver nuestro círculo. Podemos hacerlo un poco más grande, así que voy a hacerlo 20 y luego podemos ver nuestro círculo a pesar. Y si me quito esto, se
puede ver que ya no está ahí. Y esto es sólo una forma de cosas comunes, cualquier Commons o cualquier cosa que tenga doble corte delante. No funciona o no se muestra. Y ahora se muestra. Ahora vamos en realidad con ello. Entonces, ¿te lo mueves? Yo sólo voy a hacer X más igual. Yo sólo voy a hacer 1/2 mitad de ese píxel. Entonces se va a mover despacio porque sólo tenía un píxel él cada anillo. Y ahora si quiero moverlo, tengo que llamarlo. Pero hay que llamar al método que tiene el movimiento tan servido en actualización y ahora se está moviendo. Ves que es muy similar a crear solo círculo con variables normales o
flotadores normales de X e y como posiciones, y luego cambiar eso dentro de la función de dibujo y animarlo. Pero si quisieras crear una matriz de esos círculos moviéndose con velocidades
aleatorias, tamaños aleatorios no
podrás hacerlo a menos que crees una clase. Por lo que ahora se ve muy similar. Pero si queremos crear una matriz de esto, solo
voy a hacer corchetes para cambiarlo en una matriz, voy a llamarlo Surks en su lugar porque quería mantenerme leal, y luego voy a inicializar la matriz primero. Entonces no estamos inicializando la clase realmente estaban inicializando la matriz esta vez al principio, voy a simplemente nuevo círculo Cirque y luego voy a darle un tamaño de 10. Entonces digamos 1/2 10 círculos. Está bien. Ahora, para inicializar cada instancia o para crear cada instancia del círculo hay que usar un bucle for . El motivo de esto es porque si ahora quiero inicializar a todos, este Cirque no existe. De todos modos, lo
voy a llamar Surks. Y ahora dice que esto no coincide con una matriz. Entonces necesito acreditar No hay derecho. Para ello, tendrías que hacer cero hasta nueve solo para hacer 10 círculos. Entonces la buena manera de hacer esto es usar, uh, yo sólo voy a hacer un bucle for y voy a ceder porque para un aumento, tenemos que contar. Entonces tenemos que usar enteros y va a empezar con cero. Y entonces tengo que ser menos que Surks No longitud porque sólo necesitaban pasar por la matriz hasta la longitud de esa matriz. O podría simplemente hacer 10. Es lo mismo y luego, Pero si alguna vez amplío esto, es mejor usar pulgar la propiedad de la matriz, luego cambiar estos dos cada vez. Y entonces me van a implementar para cada aireación una vez y ahora para aprovechar cada
célula o cada elemento de la matriz. Voy a tener que hacer yo por los corchetes. Por lo que el 1er 1 va a ser más fácil. El 2do 1 va a ser uno hasta que cuente con nueve y luego se para. Y ahora voy a tener que usar un bucle for está bien para la visualización y la función de actualización en Estos son realmente surks otro en una carrera. Voy a tener que y los corchetes. Ahora, si corro esto, en realidad
tenemos 10 círculos, pero todos están uno encima del otro. Entonces el poder de esta clase ahora es que podemos elegir posiciones aleatorias
posición inicial aleatoria para cada una, y entonces todos se moverán el mismo paso, que es medio píxel. Entonces voy a cambiar esto en posición aleatoria. Voy a hacer que sea una posición de cero a 400 y luego para este también, voy a hacerlo de 0 a 400. No necesitas saber mucho sobre la función aleatoria ahora mismo, pero solo para que sigas conmigo, la función aleatoria toma un valor mínimo en un valor máximo. Entonces esto me va a dar un número del 0 al 400. Entonces cualquier número de ahí, Así va a ser y la razón por la que eligió por cientos de porque mi tamaño de lienzo es de 400 por 400. Por lo que quería pasar de cero, que es el lado izquierdo del lienzo a 400 que es el lado derecho del lienzo. Y lo mismo va para esposa de arriba a abajo. Y ahora, si una carrera lo hace, vamos a ver que tenemos un montón de círculos en diferentes posiciones moviéndose de la misma manera. También podemos renderizar mi como el tamaño de paso. Entonces digamos que quiero valor aleatorio de 0.5 a 3, por lo que tendrán diferentes velocidades. Algunos serán muy lentos y otros serán muy rápidos. No, si lo ejecuto, se
puede ver que se están moviendo en una distancia muy aleatoria. Creo que, sin embargo, es que se puede ver que cada uno de ellos en realidad está cambiando de velocidad. El motivo de eso es porque lo estamos cambiando en la función de actualización dentro de las
funciones de dibujo , por lo que cada fotograma realmente está obteniendo un nuevo valor aleatorio. Pero se puede cambiar eso para que cada círculo tenga cuando SBI aleatorio y se pegue con él a través del periodo de todo el programa. Entonces harás para inicializarlo aquí por la inicialización de nuestros círculos. Objetos está aquí en la función de configuración, que se ejecuta sólo una vez. Entonces voy a agregar otra variable llamada tamaño de paso, y voy a obtener el mismo valor, como llegar allí. Por lo que 0.5 a 3, ingrese este tamaño de paso. Ahora, si ejecuto esto, cada círculo se le va a asignar un valor aleatorio de 0.5 a 3, y se pegará con él a medida que se movían por la pantalla. Se puede ver que algunos son muy lentos y algunos son muy rápidos y ya salieron de la pantalla. También podemos hacer mentir, pero esta vez, tamaño de
paso va a ser el mismo para el acento en la vida. Pero va a estar ahí son suficientes para hacerlo un poco. Son al azar que puedo hacer. Podemos hacer un valor aleatorio del negativo 3 al 3 de esta manera,
aunque, aunque, como la adición y el valor negativo realmente se moverá en el lado opuesto. Se puede ver que el verano realmente va por aquí y algunos lo son en realidad. Y si quieres aleatorizarlo aún más, puedes crear un tamaño de paso para accidente. Tamaño de paso para ¿por qué? Por lo que será un valor diferente para cada uno. Por lo que ahora tenemos círculos moviéndose alrededor de este arroyo. Puedes hacer muchas cosas geniales por aquí solo usando propiedades y métodos piensa que
no puedes hacer con lo que ya tengas en procesamiento. Entonces, sí, básicamente
haces que interactúen entre sí solo porque son tus objetos. Por lo que otros objetos que son creados por el procesamiento no necesariamente interactúan entre sí , por ejemplo, y convertirlo en el tuyo te permite crear eso. Entonces eso es bastante poderoso. Y creo que si perfeccionas esto, puedes hacer cualquier cosa, lesionar el arte nativo, cualquiera todo
23. variables y métodos de sistema: hasta el momento. Aprendimos a crear de todo, desde variables hasta clases. Pero hay algunas variables de sistema y métodos que podemos usar sin necesidad de
crearlos . El 1er 2 métodos utilizados cada vez que comienzo un boceto son el tamaño y los métodos de fondo , los métodos de tamaño, ese es el tamaño del lienzo y los métodos de fondo. Ese es el color de fondo de lienzos asociado a la función de tamaño son las variables de ancho y altura que sostienen los valores del tamaño del lienzo, esos aire útiles. Cuando quieras dividir tu pantalla en una cuadrícula, por ejemplo, no
tendrás que hacer una variable de ingenio. Simplemente usa la siguiente predeterminada o dos variables que son adecuadas para las pruebas. Los médicos están dibujando bocetos, y ahí están las variables Mouse X y mouse y, que iniciaron el acento de vida. ¿ Por qué los valores de posición del ratón? Significado a medida que mueves el ratón. Si imprimes los valores al cónsul, puedes ver dónde están en el lienzo. Hablando de impresión al cónsul, el método Pentland es increíblemente útil para depurar tu código. Es decir, encontrar falso en tu programa para arreglarlos, veremos cómo funciona eso en el siguiente ejemplo. Por último, los eventos de mama del ratón y mantener descanso son geniales para cuando estás programa depende de la entrada del ratón o del teclado del
usuario. Se puede, por ejemplo, iniciar la animación cuando se reprime el mouse o el teclado para que el usuario no se pierda nada. Estas son las pocas variables y métodos que más uso, pero hay más que confinaste en la documentación, así que asegúrate de revisar eso. Ahora vamos al procesamiento para ver cómo funcionan esos.
24. Ejemplo: variables y métodos de sistema: me has visto usado la función de tamaño y fondo una y otra vez en cada ejemplo. Por lo que suele empezar este método de tamaño dándole dos argumentos. El 1er 1 es el ancho, y el 2do 1 es la altura del lienzo. A lo largo de los ejemplos, solo
he usado 404 100 pero puede usar lo que quieras. Normalmente uso un lienzo cuadrado, grande o pequeño que
sea, porque pongo mucho mi trabajo en Instagram, y esa es la resolución más adecuada para mí. Pero puedes hacer una resolución HD para ponerla en una película como una accesibilidad de 1920 por 10 80 o cualquier otro tamaño que quieras. Pero me voy a quedar con 400 por 400 para todo el curso solo para ser consistente, y así podrás ver todo el trabajo en el mismo tamaño que para la función de fondo. Hablamos de ello cuando hablamos del tipo de datos de color, así que solo tecleas fondos, y luego le das un parámetro para código hexadecimal o para un valor de escala de grises o tres parámetros para R G y B. Voy a solo dale un 255. Por lo general, eso es con lo que empiezo. Ofrecen un fondo de blanco. Y luego una vez que establecí la paleta de colores, elijo un color diferente para disparar a mi diseño. De acuerdo, así que a lo largo del programa, usé 202 100 para X e y para posicionar círculo en el centro esta vez no va a hacer eso porque es mejor usar el ancho y alto que es nativo del programa, ya que es conectado al método de tamaño. Porque cada vez que cambie esto, estos cambiarán automáticamente si usé las variables de ancho y alto. Pero si usaba 202 100 como solía hacer antes, no
va a funcionar, porque esto no siempre va a ser 400. Y no voy a cambiar todos estos valores cada vez que cambie el tamaño de mi campus. Entonces esta vez voy a dibujar el círculo en el centro. Pero en lugar de poner 200 por 200 voy a usar con dividido por dos y altura dividida por dos que voy a darle un tamaño de 100 si ejecutamos esto, vamos a ver el círculo en el centro de la pantalla. Ahora, si quiero cambiar esto a, digamos, 200 por 200 entonces todavía va a estar en el centro de la pantalla porque ahora no son sólo 200 por 200. Porque si fuera a dejar esto en 200 para ex y por qué va a estar por aquí porque para un lienzo de talla 200 esa es la esquina inferior derecha. Por lo que es mucho mejor simplemente hacer lo que está dividido por dos en altura, Dividido por dos pegaría su valor desde el primer argumento, y High toma su valor de los segundos argumentos del método de tamaño. Ahora todo funciona perfectamente. Volvamos, Teoh nuestro tamaño de lona anterior y veamos nuestras siguientes variables. Entonces esta vez, en lugar de dibujar un círculo estático, quiero mover el dedo del pie el círculo, y quiero comprobar los valores fuera de la posición X e Y de ese círculo. Entonces esta vez vamos a dibujar el círculo, pero voy a usar el ratón X y el ratón y. vamos a dejarlo del mismo tamaño, y ahora si corro esto, vas a ver un círculo en la esquina superior izquierda, pero en realidad no está ahí. Es justo ahí porque Mouse, X y mouse por qué empezará en cero cuando ejecutes el programa, Pero a medida que lo mueves, vas a ver que es los círculos realmente se están moviendo con el ratón. Pero la razón por la que esto es dibujo es porque no tenemos un lado de función de fondo
del sorteo. Entonces cada vez que el círculo se está secando, está dibujando otro encima del lienzo y lo que ha ido en él. Entonces si quiero restablecer cada fotograma, solo
voy a hacer fondo ubicado antes voy a darle el mismo valor con el que
empezamos . Por lo que 255 4 blanco. Y ahora quita esto. Se va a mover y no sólo dibujar, porque cada vez se está restableciendo con el fondo y luego con círculo que está en el centro y luego con un círculo que tiene un ratón X y ratón. Esposa para X en mi posición, sepan que esto es muy útil porque ahora se puede utilizar la función de línea de impresión para imprimir el ratón X y la posición y del ratón. Esto te va a ayudar a entender mejor tu campus si miras los valores. Entonces si una línea de impresión casa X en mi casa, por qué podemos ver el valor en el cónsul aquí abajo. Entonces cada vez que lo mueves así que si entro al centro, van a ser 200 por 200. Bueno, casi 200 por 200. Ah, y entonces si voy a la esquina superior izquierda va a ser cero un cero otra vez, casi sólo porque me estoy bajando de la pantalla antes de que llegue a cero a cero. Y entonces si voy por aquí, van a ser casi 400 antes del 100 que es el ancho y la altura de nuestro lienzo. Ahora también puedes imprimir el ancho y la altura solo para ver los valores de ellos, y vas a ver que es 404 100. Y si entrené a este 2 200 verás que cambió a 200. Puedes imprimir cualquier cosa aquí que sea variable. También tenga en cuenta que hay otra función de impresión que se llama la función de impresión y no imprimir Lynn. La diferencia entre ambos es que la impresión va a imprimir todo al lado, así que no te va a dar una nueva línea cada vez para que veas que va a imprimir todo al lado y no va a haber espacios entre ellos. Pero la razón por la que hay especies por aquí es por esta coma, y te voy a mostrar uno de los valores sobre mí, y ahora puedes ver que no hay espacio. El único motivo por el que hubo un espacio es porque estoy pidiendo imprimir para dar salida a valores en lugar de uno. Entonces, sí, prefiero la función de primera línea, que es abreviatura de línea de impresión. Por lo que cada vez
que imprime, creará una nueva línea y luego abrirá el nuevo valor. Entonces cada vez que imprime el ancho y luego volverá a la nueva línea y dentro de la impresión una función. Se puede tener un argumento o múltiplo. Por lo general uso múltiples y tú también puedes hacer, y he visto a mucha gente hacer esto en otros lenguajes de programación. También puedes hacer una cadena diciendo con y luego lo plus, por lo que estás agregando este valor a la cadena porque print Lynn are pone una cadena, por lo que solo puedes agregarla así. Y ahora concedes dice ancho y luego más el valor aquí dentro. Por lo que el valor es algo así como ser puesto dentro del arroyo, y puedes hacer otro llamado altura y luego la altura del signo más. Entonces estás contaminando dos cuerdas básicamente o cualquier valor a esta cadena, y puedo ver ancho y alto. Y si quieres una coma entre ellos, tendrás que agregarla. Ya sea aquí o puedes en ello. Después del ancho. Agregará otra cuerda, como para que veas que tiene auto, ya
sabes. Entonces sí, eso básicamente se llama Fortalecer Nación Cat para que puedas agregar palabras clave usando cadenas solo para entender qué valores estás buscando. acaso tienes un programa más grande y quieres que esta función print land pegue su hasta que hayas terminado el programa, es más fácil si sabes qué valores se prepara en lugar de ir y venir a la
función Pentland . De acuerdo, las siguientes palabras clave que hay nativas del procesamiento son el ratón presionado y mantener el descanso. Por lo que estos aire llamaron eventos porque suceden cuando el usuario hace algo así O el usuario presiona el mouse o presiona el teclado. Normalmente uso esto con un condicional f. Si hago f y luego hago ratón presionado y aquí dentro voy a imprimir línea esto. Vas a ver que Solo si el ratón está presionado esto se va a imprimir para que
no veas esto cada fotograma dentro de la función de dibujo. Sólo lo ves si hago click. Entonces cada vez que hago clic, la razón por la que estás viendo mucho es porque si la prensa del ratón está realmente fuera poniendo un valor mientras estés presionando, te vamos a mostrar esto, um, en un mucho fácil de ver ejemplo. Entonces en lugar de imprimir, vamos a dibujar cada vez que se presiona la boca y voy a quitar el fondo para funcionar por ahora. Está bien. Y ahora puedes ver dibujé un círculo donde hizo clic con el ratón. Y si quiero seguir presionando, dibujará un montón de círculos. Entonces esto es genial si quieres dibujar algo, si quieres crear una aplicación de dibujo, puedes crear cualquier forma, y vamos a crear un ejemplo haciendo eso en el próximo capítulo. Por lo que esta es una forma divertida de dejar que el usuario explore las formas que tienes. También puedes hacer. Si presiona Kee, entonces quiero que cambies la forma. De acuerdo, Así que para demostrarte mantener el descanso, voy a hacer algo. Voy a crear un booleano, y voy a llamarlo pequeño y voy a darle un valor de falso ahora mismo. Y voy a decir que si pulsa teclas, quiero pequeño, igual, cierto. Y luego voy a hacer otro es condicional Verificando si pequeño es cierto. Entonces es pequeño. Pequeño es cierto que voy a revisar del ratón presionado dentro de su o ahora conociendo del condicional Eso puede decir, si pequeño y ratón Chris así no necesitamos. Mensaje de condicional es y tratamos de evitar lo más posible las cosas de anidación. Vamos a conducir a 50 píxeles en lugar de 100 píxeles. De acuerdo, entonces ahora si presiono ahora, está dibujando un gran círculo. Y si presiona alguna de las teclas, también
va a dibujar el pequeño círculo. El motivo por el que está dibujando el círculo grande y este círculo de mes encima es porque
no puse esto dentro del valor falso, así que voy a hacer otra cosa. Pero esto no va a funcionar ahora mismo porque aquí está revisando si es pequeño y el ratón está deprimido. Entonces aquí más se va a revisar el ratón está impresionado. Entonces yo o puedo hacer otra cosa si y usted no pequeño y su ratón presionado donde puedo dio un ejemplo de
anidación donde puedo decir, si el pecho del ratón y luego dentro del contrajo de mama Moisés, si pequeño y luego lo demás. Pero creo que eso es mejor sólo porque tiene más sentido y se tiene que rastrearlo de esa manera. Entonces voy a hacer eso en su lugar. ¿ De acuerdo? Y ahora se presiona cualquiera de las teclas. Va a ser un pequeño círculo. Entonces así es como puedes usar mantener el descanso en tu programa. También puedes tener otros usos. Sólo voy a mostrarte uno de ellos cuidadosamente para ser creativo. Realmente no tengo todas las ideas. Yo solo te doy las llaves, y puedes ser lo más creativo que quieras en la creación de tu proyecto final. De acuerdo, entonces esto es todo lo que tengo hoy para un sistema variables y métodos, Por
supuesto, que ir a revisar la documentación por mucho más que puedas usar en el procesamiento y veremos más ejemplos y veremos más usos para algunos de estos y el próximo capítulo.
25. Eventos: para este módulo se hablará de eventos masivos y de teclado, que son bastante útiles para diferentes entradas de usuario están ahí, luego ratón y teclado presionados. Me gusta usar thes inputs para múltiples propósitos, pero mis más usadas son la tecla presionada o la tecla liberada para guardar imágenes de mi obra de arte. Las diferencias sutiles. El primero hace la acción. En cuanto el kee pulse el segundo espera el lanzamiento de la tecla. Lo mismo vale para el click de ratón que el ratón liberado. Hay un montón de otros eventos en el procesamiento es Documentation Page, así que ve por ahí para revisarlos. Obtendremos dos ejemplos de eventos en el capítulo de salida de diseño cuando exportemos nuestros diseños.
26. Al aleatorio: en este módulo discutió la aleatoriedad. uso de dos funciones aleatorias y aleatorias de ruido devuelve el valor para un valor mínimo establecido a un máximo. No obstante, el ruido devuelve el número a flote de 0 a 1 que puedes escalar para adaptarse a tus necesidades. Casi todas las ilustraciones que creo estas aleatoriedad, y es una de mis herramientas favoritas en el arte generativo. Si quiero aleatorizar el color, por ejemplo, utilizo la función aleatoria. No obstante, si quiero aleatorizar movimientos suaves, utilicé una función de ruido. Veamos un ejemplo para averiguar la diferencia entre la función aleatoria y la función de ruido .
27. Ejemplo: Randomness: bien para el azar y el ruido. Quiero mostrarles un ejemplo de que Everton de antemano que quiero mostrarles cómo difieren estas dos funciones. Y voy a explicar el ejemplo y pasarlo paso a paso. Entonces lo primero que creé es flotar los valores X e Y posición. Y luego, como siempre, hice una talla en el fondo de blanco Y entonces empecé Por qué a lo alto dividido por dos. De acuerdo, entonces he implementado X y empieza con cero, ¿
verdad? Si también a medida que
se incremente, será en comentar por uno. Si comento este ahora mismo y pongo X en su lugar por aquí, va a ser un ejemplo normal donde la X o donde el círculo se mueve hacia la derecha. No, En lugar de implementar X, creé valor flotante oro son, y le di un valor aleatorio de cero a ancho. Entonces esto me va a dar una exposición del cero a lo que es tan flotante exposición de cero a ella para que pueda ser el medio. Puede ser del lado derecho. Puede estar en el lado izquierdo. Podría ser cualquier valor y podemos imprimir bien esta línea de valores para que puedas verlo si quieres . Antes de aplicarlo a la Elipse. Yo sólo voy a mostrarles los valores. Entonces, ¿me va a dar un valor de cero a qué? Y si aplico esto a la Ellipse en lugar de nuestra en lugar de ex, voy a poner nuestra y ahora porque no tenemos una función de fondo se va a dibujar, ¿de acuerdo? Y no lo puedes ver exactamente porque está dibujando uno encima del otro, así que no lo sabes. Se siente como si hubiera multitud de círculos,
aunque es solo un círculo saltando de una posición a otra firme cero a la forma en que
voy a mostrar el fondo. Pero si te sientes mareado solo mirando a un círculo enloqueciendo, te recomendaría no ver esta sección, um, o tal vez ralentizarla. Pero normalmente lo que va a pasar es que el círculo se va a enloquecer de cero a ingenio en médicos
aleatorios. Entonces si corro esto ahora mismo, se
puede ver que el círculo se está volviendo loco. Va de izquierda a derecha en posiciones de Brandon y podemos frenar cambiando la velocidad de fotogramas. Entonces voy a poner la velocidad de fotogramas en 12. Se puede ver que es mucho más lento. Voy a ir más despacio aún más. Hazlo tres y podrás ver el círculo saltando de un lugar a otro. Y si quitamos el fondo, se
puede ver que se va a dibujar. Pero ahora lo está probando diferentes posiciones. Ahora voy a mostrar el mismo ejemplo con el ruido. De acuerdo, Ahora, viendo en el ejemplo de ruido, tenemos las mismas cosas. Tenemos carrozas verdaderas, ex y por qué tenemos altura blanca dividida por dos. Y otra vez si incremento X y lo pongo aquí se va a mover de izquierda a derecha. Y quería que lo viéramos. Sólo un cheque. ¿ Se mueve de izquierda a derecha? Sí, estoy quitando X y, um, reemplazándolo por n so y ahora mismo está tomando una función de ruido. Sin ruido devuelve el valor de 0 a 1. Pero ahora para verlo moverse de una manera muy suave, vamos a tener que acercar la onda de ruido. Sin ruido. Estar de 0 a 1 es extremadamente pequeño. Pero si sólo lo multiplicamos por con su no nos va a dar un movimiento muy suave sólo porque es una espera muy larga. Entonces tenemos que querer solo conseguir un trozo de ello, así que voy a tener que sazonar por un valor. Entonces ahora lo estoy escalando por 300 dividiéndolo por 300. Y de esta manera, sólo
estoy recibiendo un trozo muy pequeño de la ola, lo que me va a dar un movimiento muy suave. Y entonces lo estoy multiplicando por el ingenio para escalarlo. Entonces lo estoy haciendo zoom dividiéndolo por 300 el valor de ciertas maneras. Y luego estoy Skilling hasta ese tronco de la ola por el ingenio. Entonces ahora se está moviendo de cero al ingenio, y voy a tener que aumentar extras porque se está usando por aquí. Por lo que necesitaba aumentar para obtener los valores. No, Si corro éste por aquí, se
puede ver que el movimiento es muy,
muy suave a diferencia de la aleatoriedad. Y si realmente me quité el fondo para verlo probando el dibujo es mucho más suave y se
puede hacer mucho con la función de ruido. Te voy a mostrar algunos ejemplos usando ruidoso y aleatoriedad que ha creado de antemano solo para que pueda ver el mismo ejemplo usando aleatoriedad y ruido y cómo estos dos pueden diferir . De acuerdo, ahora que tenemos abierto el proyecto de arte aleatorio, solo lo
voy a ejecutar para que veas cómo se mueve al azar. Es muy arbitrario. Es muy loco. Y movimiento
, sigue dando grandes resultados. Pero ahora, si ves que funciona el ruido, va a ver un resultado muy diferente no puede. Este es el mismo ejemplo usando ruido y se puede ver que el movimiento es mucho más suave y te da curvas más agradables. Entonces a medida que juegues con la escala y la fuerza del ruido, vas a conseguir diferente flotando en el movimiento. Vas a conseguir aún más rotaciones sólo porque estamos usando la aleatoriedad y el ruido y la deportación de estos círculos, y te va a dar un resultado diferente. Y es una de las razones por las que me gusta el ruido. Mucho mejor para crear Pink Charlie Art en lugar de usar la función aleatoria
es porque te da esos movimientos tranquilos y te da trazos de pincel en contraposición a la
función aleatoria que te da una mirada muy loca al trabajo. Puede funcionar si eso es lo que vas a buscar. Pero por lo general cuando usaba al azar, es solo para elegir quizá colores diferentes o a dos formas diferentes como yo usaba en mis otros proyectos. Pero por lo general cuando se trata de simulaciones o arte y pintura, es mejor usar, luego la función de carrera porque te da mentas de ruta mucho más suaves. Por ahora, eso es todo de lo que voy a hablar cuando se trata de la función de ruido y la
función aleatoria . Pero los vamos a tratar más adelante en el próximo capítulo, y voy a hacer más clases sobre ellos en el futuro, todo la función de ruido, porque hay mucho que se puede hacer con eso, y se puede producir una obra de arte muy increíble solo usando la función de ruido ahora en el siguiente módulo.
28. Estructura: este último módulo en el Capítulo dos va a ser todo sobre instructor de organización. Esto es muy importante saber, porque un error novato es simplemente escribir código en un asunto muy desorganizado, porque solo te lo estás haciendo difícil a la larga,Por
ejemplo, Por
ejemplo, los comentarios son clave para entendiendo por qué se escribe una línea de código. He luchado con esto cuando empecé. A veces sabes cómo funciona el código, pero no sabe por qué lo usé. Aquí tienes un ejemplo. Tengo el mismo bucle de cuatro con dos comentarios diferentes. El primero me dice que estoy mapeando los valores Y a los valores de ángulo, pero la función de mapa ya está diciendo eso. Entonces aquí sólo estoy siendo repetitivo. Lo que necesito saber es por qué estoy mapeando los valores Y a los ángulos. Por cierto, no te
preocupes por el ejemplo de ellos mismos. Esto es sólo un ejemplo de comentarios. En este otro ejemplo, quiero mostrarte cómo declarar tus variables y funciones con nombres descriptivos puede ayudarte a entender lo que hacen a largo plazo, en lugar de agregar comentarios extra muestran. Tenga en cuenta que a veces si necesita anotar su código de tal vez la solución es cambiar el nombre su variable o función en el lado izquierdo. Tenía que agregar un comentario para entender el abrigo cuando en el lado derecho, el nombre de las funciones lo explica mejor. El punto es ser lo suficientemente descriptivo como para darle sentido a tu código más adelante volviendo a nuestras clases y objetos. Ejemplo. Creamos la clase al final de su archivo, pero ese fue un ejemplo muy pequeño. En proyectos regulares, las clases ocupan un tronco de tu archivo, lo que significa que te desplazarás hacia arriba y hacia abajo para navegar entre tu clase y tu proyecto. Es por eso que múltiples archivos son más prácticos. Por lo general creo un archivo para mi proyecto principal y un archivo para mi clase. Y si tengo múltiples clases que las separo en sus propios archivos. último pero no menos importante en esta sección se hablará de convenciones de nomenclatura. No sé si te has dado cuenta, pero cada vez que declaro la clase, empecé con una letra mayúscula, y cuando creé variables o funciones, empecé con una letra pequeña. A esto se le llama convención de nomenclatura. Te ayudan sobre todo cuando estás trabajando con equipos o compartiendo tu código en línea o simplemente para mantener nuestro código consistente. No he mostrado un ejemplo con una variable de múltiples palabras o nombre de función. Pero si necesitas hacer eso, tendrás que usar estuche de camello inferior. Empiezas con una letra pequeña para la primera palabra, Luego por cada palabra después tendrás una letra mayúscula. Se llama así porque parece la espalda de un camello. Eso es más o menos para el segundo capítulo. Espero que hayan aprendido mucho y les hayan resultado útiles los ejemplos. Ahora es el momento de algunas herramientas artísticas.
29. Capítulo 3: conceptos básicos de diseño: fue divertido aprender sobre conceptos de programación. Pero, ¿cómo podemos crear arte? Empezaremos con funciones de jefe y transformación. Entonces comenzaremos a implementar color en nuestros ejemplos. Una vez que estamos familiarizados con eso, podemos empezar a sumergirnos en imágenes y procesar cómo se cargan en el lienzo y cómo podemos manipularlas. último, pero no menos importante, aprovechará un poco el tipo, aprendiendo a usar los tipos de datos de cadena y carga y a cargar texto de un archivo bien trabajando ejemplos juntos para cada sección para entender mejor los conceptos.
30. Formato: ejemplo 1: Empecemos con el primer ejemplo de la sección de forma estará creando algo parecido a esto Ya que va a ser aleatorio, no
va a quedar exactamente así, pero vamos a ir por el mismo look. Para este ejemplo, se cambió el tamaño de cada círculo en función de sus posiciones en el eje X. Ahora eso debería ayudarnos a empezar a planear. Por lo que necesitamos saber dónde esos círculos de posicionados en el eje X y necesitamos conocer sus tamaños o necesitamos cambiar sus tamaños. Por lo tanto, voy a necesitar dos variables para flotar números porque quería ser un poco más preciso que entero, ya que vamos a comprobar su posición a través de dos líneas porque queremos tres diferentes tamaños basados en sus posiciones en el eje X. Entonces lo primero que necesitamos es la exposición, y luego necesitamos Lo siento. No, me gusta empezar mis diseños apagando el trazo, y luego me voy a cambiar para llenar a Negro porque el valor predeterminado es blanco. Y empecemos solo con eso por ahora y después dentro de la función de sorteo, quiero darle a los círculos una exposición aleatoria y voy a hacer de 0 a 400 ya que estamos haciendo de cero. No necesito escribir el cero por culpa. Está empezando desde cero algo que solo haces por 100. Por ahora, es exactamente
lo mismo que escribir 0 a 400 voy a dibujar mi círculo una Posición X Y luego en lugar de crear otra variable por qué lo voy a hacer directamente por aquí. Entonces voy a hacer altura porque la quiero de cero a altura. Entonces quiero que todos los círculos tengan un posicionamiento aleatorio en el acceso Y de cero a bombo, y luego les voy a dar la variable de tamaño porque quiero que su tamaño cambie
en función de su posición en el eje X antes de ejecutarlo. Vamos a darle un tamaño inicial. Voy sólo a 10 y si lo ejecutamos, podemos ver que tenemos círculos aleatorios en posiciones aleatorias. Ahora quiero seccionarme de mi lienzo en tres secciones. Y si la exposición de círculos está del lado izquierdo, por ejemplo, cuando la primera sección entonces quería ser de cierto tamaño. Y luego si está en la sección media, quiero tener un cierto tamaño. Y por último, si está en la sección izquierda, quería ser de un tamaño diferente. Ahora podemos hacer esto usando un F condicional debilitar sección off. No puedo esto usando una F una otra f y luego o bien condenar. Entonces voy a decir si X es menos de cientos. Entonces esa es mi primera sección. Entonces ahora si X es menor a 100 así que está en el si está en la primera sección, quiero que el tamaño sea un valor 10 a Déjalo en eso y luego y luego antes de que haga lo demás. Si sólo voy a hacer en otra cosa y poner el tamaño a 30 veamos qué pasa. Ahora podemos ver todo lo que está en esta sección, que es de menos de 100 pixeles, va a ser de 10 y entonces todo lo demás va a ser de 30. Yo también voy a la otra, y voy a comprobar si X es mayor a 100 porque ya lo comprobamos. Si es menor a 100 quiero comprobar si es mayor a 100 si X es menor a 100 y
quiero la talla 3 20 Ahora tenemos tres secciones el tamaño de 10 tamaño de 20 y tamaño de 30. Para que esto sea más interesante, voy a agregar un valor Alfa al Phil. Me voy a ir. Es negro, pero voy a agregar un valor Alfa de los 100. Entonces de 0 a 5500 es bastante agradable. No es tan transparente y no, ese rosa. Entonces nos va a dar una buena visual. Entonces ahora cuando se
superponen, me dan un color diferente. Ahora, para que esto sea aún más interesante, en lugar de dar un tamaño de un valor estático, voy a darle un valor aleatorio. Yo quiero darle un diario aleatorio del 1 al 10 para éste, um alrededor de él valor del 11 al 20 para éste, y finalmente valor aleatorio del 21 al 30. De esta manera se sentirá como si fuera más transitando de un tamaño a otro. Creamos un diseño al que puedes agregar color, con el
que puedes jugar aún más. A lo mejor quieres hacerla diagonales o quieres jugar con el posicionamiento ex en el posicionamiento de los EAU lugar de solo X. O tal vez quieras hacerlo vertical en lugar de horizontal como lo hicimos aquí. Um, sí. Siéntete libre, Teoh, Crea en esta y yo para jugar con ella para ver lo que se te ocurra.
31. Formato: ejemplo 2: para el siguiente ejemplo en la sección de formas, vamos a crear algo como esto. Ahora esto parece una estrella y se puede agregar a una ilustración más grande, así que vamos a ver cómo podemos crearla. Como siempre, me gusta empezar. No tenemos trazo solo porque me da un aspecto más suave. Sé que mucha gente usa el derrame cerebral también, y puede agregar un elemento muy caricónico a tu diseño. Entonces siéntete libre de hacer lo que te gusta hacer. Pero para mí,
me gusta empezar sin derrame cerebral y luego con un trazo más tarde. Si siento que el diseño necesita OK para esto, uno tendrá que empezar con un rectángulo. Y sé que sólo he introducido círculo antes, tal vez con tropezado con unos labios en la sección de aleatoriedad, pero realmente no he hablado de ello. La función de elipse es similar a la función de círculo. No obstante, se
puede tener un diferente con desde la altura, por lo que no nos veremos como un círculo. Se verá básicamente como una elipse, y se puede hacer un círculo con ella si se le da. Es el mismo ancho y altura y lo mismo va para el rectángulo y el cuadrado. Por lo que hay una función diferente llamada Cuadrado que te permitirá el cuadrado más grande con menos argumentos. Pero me gusta usar el naufragio también, sólo porque termino cambiando el ingenio desde la altura y le da un aspecto diferente. Y esto es lo que vamos a hacer aquí está bien,
así que voy a crear el rectángulo en la posición 00 y voy a darle al ancho un valor
aleatorio. Entonces le voy a dar un Random Valley de 10 a 300 porque quería quiero tener un hueco a
cada lado y luego voy a Teoh, dale una altura de 20 Ahora para en esto va a estar en la misma posición a las 00 Y cada vez que va, Teoh tienen un diferente con. Pero van a tener todos la misma altura, así que van a lucir como rectángulos de diferentes tamaños ahora, ya que no tenemos trazo y el predeterminado Phyllis White, voy a tener que cambiar. El default cayó a negro. Si ejecuto esto, va a parecer que es un rectángulo, pero se puede ver que se está expandiendo. Su dibujo en realidad uno encima del otro. Entonces démosle un valor Alfa de 10. Ahora lo podemos ver realmente cambiando, y podemos ver que hay una multitud de rectángulos uno encima del otro. Ahora necesito mover esto al centro. Entonces si hago lo que está dividido por dos altura dividida por dos, entonces lo mueven al centro. Se va a empezar desde el centro, pero luego se va a expandir hacia la derecha. El motivo de eso es porque para el rectángulo, se está secando desde la esquina superior izquierda. Pero queríamos dibujar desde los círculos X centrales, así que voy a cambiar el modo de rectángulo usando la función de modo Rex Teoh Center. De esta manera se va a dibujar desde el centro, y se puede ver que es un look mucho más bonito. Para que parezca una estrella, voy a tener que rotarla. Hay una función de rotación que toma un valor y un resplandor. Puedes usar grados y luego convertirlos usando la función de resplandor. Pero solo voy a usar directamente el resplandor y voy a Teoh usar valor aleatorio de cero a dos pi así que dos pi es equivalente a 316 grados, así que esto me va a dar un círculo completo. No obstante, si ejecuto esto, nos vamos a encontrar con un problema porque rotar está girando alrededor de 00 punto del lienzo , que está en la esquina superior izquierda del lienzo. Ahora podemos arreglar esto usando translate para traducir todo el lienzo o los ceros. Tu nombró el lienzo a la mitad del lienzo, que es lo que divide por dos y altura dividida por dos. Entonces traducir va a mover toda la pantalla o el agujero es tuyo, tu punto a lo que le des, así que voy a darle con Dividido por dos dividido por dos. Está bien, y ahora está funcionando. En realidad está girando alrededor del punto 00, que se mueve al centro. Pero ahora necesito que los rectángulos estén en el centro. Desde que movimos ceros tu punto al centro, y ahora puedo redibujar los rectángulos a las 00 porque ahora están en realidad en medio del campus. Do 00 Ahora tenemos un rectángulos girando alrededor del punto medio del lienzo, y tienen diferentes anchuras para hacer esto más como una estrella. Voy a cambiar el dedo del fondo negro y el filtro blanco. Ahora esto le da un aspecto muy diferente y parece un túnel o una estrella emergiendo
del centro, que se puede agregar a cualquier ilustración y haciéndolo impresionante. Siguiente realmente usa funciones con formas para crear un look diferente.
32. Formato: ejemplo 3: Para sus 1er 2 ejemplos, creamos un diseño animado, pero esta vez vamos a crear un diseño estático usando para loops y función. Para este diseño, creó una fila de cuentas, y luego las usé para crear mi look final porque esto me permite colorear cada conjunto de
cuentas de un color diferente. Por lo que le dará un visual diferente a dibujar círculos aleatorios en la pantalla con
colores aleatorios . Porque entonces voy a tener un color diferente para cada círculo. Cuando aquí, puedo tener un color diferente para un conjunto de formas. Entonces vamos a crear una fila de asientos para esto. Vamos a hacer exactamente con ella con una cara sonriente y el ejemplo de funciones. Voy a crear una función llamada Vidro, y aquí quieren usar cualquier parámetro por ahora. Pero luego vamos a implementar eso por ahora, solo
vamos a crear la fila y luego veremos qué podemos hacer a continuación para crear una fila de cuentas. Voy a usar el bucle for dentro de mi función. Ahora puedo crear tres Eclipsys diferentes, tal vez usando la función alevis, y hagámoslo primero,
solo para que practiquemos un poco más con formas, y luego implementaremos el bucle for y veremos cómo podemos crear toda la fila de círculos o Felipe ve uno al lado del otro para los primeros labios. Voy a ponerlo a las 00 y luego le voy a dar una talla. Y quiero que esto sea una variable porque voy a usar el mismo tamaño para todos los círculos. Voy a crear una variable local aquí dentro, y luego la voy a usar para el tamaño. Primero. Yo solo quería hacer ya sabes, mira, porque quiero que esto sea estático, Así que no hay necesidad de una animación porque sólo va a dibujar círculos encima de los
otros extremos . Voy a cambiar el filtro cero y el fondo a 2 55 y luego voy a llamar
al dro por aquí. Entonces si algo de esto ahora mismo, podemos ver que sólo tenemos un círculo en la esquina superior izquierda. Ahora preguntemos a los otros círculos para que el siguiente círculo esté al lado del primer círculo. Tenemos que moverlo por el tamaño de la misma. Ahora, un círculo o en los labios se dibujan desde el centro. Y así si quiero moverlo al lado del otro, voy a tener que moverlo por dos radios I. Así que eso básicamente significa el tamaño. Porque la función teólogos toma en un ancho y caminata. No toma un radio. Se necesita todo el diámetro. Entonces voy a estar usando eso para el eje X del segundo círculo y luego en el eje Y va a estar en el mismo nivel. Entonces está llegando a ser cero, y luego van a tener el mismo tamaño. Si ejecuto esto, podemos ver que están uno al lado del otro después. Hagamos esto un poco más grande para que podamos ver, y luego podemos cambiarlo de nuevo. No. Si quiero dibujar tercer círculo, va a ser tamaño multiplicado por dos cero en el eje Y y luego llegar a tener el mismo tamaño. Ahora, cada vez que quiera mover un nuevo círculo, va a ser tamaño multiplicado por la posición de eso, lo que el 1er 1 va a ser tamaño multiplicado por cero. El 2do 1 es realmente tamaño multiplicado por uno y el 3er 1 es tamaño multiplicado por dos. Entonces todo después se va a aumentar el multiplicador. Entonces aquí lo 0123 Lo que podría hacer eso para nosotros es un bucle for, lo que podemos empezar en cero, y luego podemos moverlo hacia arriba. Y podemos usar las mazos de Thean para eso for loop como multiplicador. Entonces vamos a crear eso para y yo igual cero ojos menos de tres y luego dispositivo lugar correcto . Por lo que ahora solo necesita es solo una función de elipse. Y en lugar de esto, voy a hacer tamaño multiplicado por y debería darnos los mismos resultados. Nos consigue resultado de examen Ahora ¿y si quiero que Teoh cambie el conteo a cualquier número? Puedo hacer eso agregando en parámetro y lo voy a llamar contar. Y luego me sustituyeron por aquí. Entonces ahora todo lo que escribo aquí se va a dibujar por aquí. Entonces si hago cinco vamos a tener cinco círculos y si quería Teoh ocho, entonces tendremos ocho círculos. Ahora nuestra función está lista para nuestro próximo bucle de cuatro que va en la función de sorteo. Ahora esto para un bucle se va a dibujar una multitud de filas de cuentas. Voy a empezar con un bucle regular, pasando de cero a cualquier número arbitrario que quieras. Voy a empezar con 100 y aquí solo puedo poner mi función. Ahora si lo ejecuto, vamos a ver que en realidad tenemos 100 filas de cuentas de ocho cuentas. Pero ahí están en lo más alto. Y se puede saber que si están encima el uno del otro porque se puede ver que la dirección de los círculos está pixelada. Si cambio esto a uno para que solo podamos tener uno, se
puede ver que es mucho más suave. Y ahora ya sabes que sólo tienes uno ahora, a diferencia de lo que hicimos en el ejemplo sonriente de que agregamos un acento y posición. Voy a usar la función de traducción en su lugar. Entonces traducir va a mover esto a donde quiera en la pantalla. Entonces básicamente, va a mover todo el campus donde van a estar esas cuentas rove en lugar de mover las filas de cuentas ellas mismas. Entonces solo voy a darle una posición aleatoria desde cero. Entonces no vamos a escribir cero de cero a Wick y luego para el eje y, estamos pasando por lo mismo pero con alturas. Pero ahora, si ejecuto esto, en realidad
es mover el mismo lienzo a posiciones aleatorias porque cada una de estas filas de cuentas se están dibujando en el mismo campus. Entonces lo que necesito hacer es crear nuevos lienzos para cada hazañas de fila. Y para ello, puedes usar la matriz push en funciones de matriz pop. Pero estos iban a hacer es crear un nuevo lienzo o una nueva capa para esa funcional para esa forma que estás creando. Entonces ahora estoy creando una nueva capa, y luego la estoy traduciendo a una posición aleatoria en toda la pantalla. Y luego voy Teoh, dibuja la elipse, apoderarme de ese lienzo, y luego voy a cerrar esa capa. Yo solo quiero crear una fila se alimenta de ese lienzo, y luego quiero cerrarlo ¿Alguien? Entonces, en la segunda ah, iteración del bucle, quiero crear una capa diferente, y quiero crear una nueva función de Vidro y luego voy a cerrar esa capa otra vez. Entonces eso básicamente está permitiéndonos dedo del pie tener una multitud de capas en lugar de jugar alrededor con el posicionamiento de cada elipse dentro de los latidos de carretera. Por lo que eso hace que el cálculo sea mucho más fácil. Y ahora, si dirijo esto, vamos a ver que tenemos mucho. Ahora podemos ver cualquier cosa porque el tamaño de los círculos se airean enormes. Entonces voy a cambiarlo de nuevo a 10 y en lugar de tener ocho, sólo
podría hacer cinco para hacerlo más pequeño para que podamos ver ahora esto ya es interesante. Si le agregas color,
si cambias, la capacidad de cada uno de los círculos te va a dar un look muy, muy interesante. Y si realmente hiciste esto al azar, así que voy a darle un valor aleatorio del 1 al 5, puede
ser solo un círculo o cinco círculos encendidos. Esto va a estar enojado porque necesita un entero y retornos aleatorios a flote para que podamos simplemente convertir esto en un fin poniéndolo dentro de una función entera o una en función . Ahora, esto está convirtiendo el flotador en un entero. Entonces va a estar de acuerdo con ello, y va a funcionar. Entonces ahora si hacemos esto, podemos ver que algunos son un verano tres y verano cinco. Ahora para que sea aún más interesante, rotemos esas filas de cuentas, así que voy a rotar cada lienzo arreglando valor como lo hicimos antes. Al azar, algunos 0 a 2 pi. También hay pastel y cuarto pastel y medio pastel para que puedas jugar con tus valores por aquí en la rotación, puedes obtener diferentes resultados, pero me voy a quedar con dos pi porque quiero una rotación desde cero Teoh 3 60 Ahora tú puede ver que es mucho más agradable. También puedes crear un Phil aleatorio para estos círculos. Entonces por aquí dentro de mi for loop, voy a hacer de cada colección de las elipses que son creadas por B dro un color diferente. Pero voy a mantener una escala de grises hasta que lleguemos al módulo de color. Entonces va a ser simplemente aleatorio, y lo quiero de 0 a 55 porque el valor más bajo es cero y el valor más alto en el callo de
gracia a 55 que es blanco. Voy sólo a 2 55 y ahora cada fila de cuentas va a tener un color diferente. Es bastante guay. Incluso con el trazo, es bonito que puedas hacer, ya
sabes, un derrame cerebral y te darán exactamente lo mismo que te mostré al principio.
33. Formato: ejemplo 4: tiempo para uno de mis ejemplos favoritos y uno de los ejemplos que realmente creé cuando comencé por
primera vez el arte generativo. Y es un lienzo de líneas aleatorias. En este cuarto ejemplo del módulo de forma, vamos a ver los bucles anidados. Esta es la primera vez que vamos a abordar bucles anidados. Pero como ya entiendes bastante bien para bucles, entonces también podrás entender anidados para bucles. Para este ejemplo, vamos a crear una rejilla y para una rejilla, necesitamos algunos componentes. Entonces lo primero que necesitamos saber de un gran es cuántas células vamos a tener. Entonces, ¿cuántas filas y cuántas llamadas? Aquí es donde entran nuestros cuatro bucles. Entonces empecemos realmente con el bucle for antes de cualquier cosa voy a simplemente bien, detener el bucle del programa porque quiero que esto sea un diseño estático. Empecemos con un anidado para bucles primero para que podamos averiguar lo que necesitamos en cuanto variables para el 1er 4 Loop va a ser nuestro bucle normal, y vamos a llamar al inicializar er I y eso va a ser menos de 10. Entonces lo haré 10 filas. Dibujemos un rectángulo primero para que puedas ver la cuadrícula visualmente. Y luego podemos sumar líneas después de que vamos a hacer lo que hicimos con las cuentas Rove en el ejemplo
anterior voy a hacer naufragado en posición, tamaño multiplicado por yo y luego el blanco va a ser un cero porque todavía no hemos implementó la Rosa realmente creando las columnas primero. Entonces vamos horizontalmente sobre el eje del hacha. Entonces voy a dejar la Y a cero, y luego voy a decir, talla en talla para el ancho y la altura. Entonces lo primero que necesitamos crear es la variable de tamaño. Pero ahora, en lugar de realmente darle tamaño estático, voy a tener que calcular el tamaño dividiendo el ancho por 10. Por lo que realmente no podemos acceder sin aquí. Entonces solo voy a hacer tamaño flotante por aquí y luego inicializarlo por aquí después de establecer el tamaño del lienzo. Entonces solo voy a hacer tamaño y luego voy a hacer lo que está dividido por 10 que es el número de columnas por aquí. Y ahora si ejecutamos esto, podemos ver que tenemos una fila y 10 columnas. Entonces si lo cuentas, en realidad
es hora. Enfriar. Ahora podemos anidar para que podamos crear la otra rosa para el dueño de un for loop. Voy a crear un sabio inicial diferente. Y esta vez lo voy a llamar Jay. Depende de ti cómo quieras llamarlo,
Pero puedes llamar a estos acento ¿por qué? Va a estar bien, pero voy sólo a ir con I N J. Porque eso es lo que estoy acostumbrado a los días también menos de 10 porque quiero crear 10 filas ya que tenemos un lienzo cuadrado y luego voy a incluir a Minjae por uno. Ahora un rectángulo en realidad va dentro de los bucles para anidados. Y ahora aquí tenemos tamaño multiplicado por I para cada columna. Voy a hacer lo mismo, pero esta vez lo voy a multiplicar por Dre. Entonces va a ir de arriba a abajo, y si corro esto, vamos a tener una grilla completa. Entonces así es básicamente como creamos una cuadrícula. Es bastante simple ahora, Vamos a crear líneas dentro de lo grande Ahora en el diseño. Si miras hacia atrás, vas a ver que tenemos leones de diferentes rotaciones. Por lo que tenemos cuatro rotaciones diferentes. Tenemos uno que es vertical. Tenemos otra que es horizontal y tenemos que morir. Ya sabes, uno va de izquierda a derecha y el otro va de derecha a izquierda. Vamos a crear todos estos y luego después de verlos y después de entender cómo los
creamos, voy a crear un condicional F para crear una rotación aleatoria para las líneas. Vamos a crear la primera línea. Entonces una función león toma en dos exposiciones y posición dos y, una exposición inicial y final y luego un inicio ¿Por qué posición y final? ¿ Por qué posición? Por lo que básicamente está conectando a diferentes posiciones en el lienzo. Ahora, con
el fin de facilitarnos esto, voy a almacenar el posicionamiento aquí dentro de variables. Entonces lo voy a llamar posición X. Esto va a lamentar se multiplica por yo, y luego el otro va al puesto. Por qué va a ser tamaño multiplicar por Dre. Y ahora los puedo usar por aquí. Y si ejecuto esto, vamos a ver que es exactamente lo mismo. Ahora vamos a crear ladrón. Línea vertical primero. Ahora que sabemos que se crean rectángulos desde la esquina superior izquierda. Conocemos esa posición. Posición de acento. Por qué está en la esquina superior izquierda de cada círculo. Entonces si quiero dibujar una línea vertical, voy a tener que ir del médico Axinn. Por qué la primera posición x e y de cada círculo dos Posición X, porque no se mueve sobre el eje X, sino después para posicionar por qué, más el tamaño del rectángulo. Entonces su posición X, porque no estamos viviendo en el eje X y luego posicionamos por qué, más el tamaño. Ahora, si lo ejecuto, no
vamos a ver nada porque los leones están cubiertos por los rectángulos. Entonces puedo quitar los rectángulos y podemos ver que las líneas están realmente dibujadas o
puedo aumentar este trazo Pesa cuatro líneas, 25 Pero ahora, como esto es un bucle for, va a aumentar la tasa de trazo para la primera línea. Pero entonces cada rectángulo después del interior del bucle cuando estos son uno va a ser también camino de
golpe a cinco. Entonces voy a cambiar el plomo por aquí a uno. Entonces ahora los rectángulos, vamos a tener un peso de golpe de uno. Y las líneas van a tener un peso de trazo de cinco, por lo que puedes ver que las líneas están realmente dibujadas. Ahora, no
podemos ver el principio y el final de cada línea. Pero si dije menos 10 entonces podemos ver que en realidad son líneas diferentes y no una línea
grande. De acuerdo, voy a comentar esto, y voy a dibujar la línea horizontal hacia arriba. Por lo que la línea horizontal va a ser lo opuesto a la línea vertical. Entonces en lugar de ir desde la posición X y posición, posición
amplia, acento, posición y más tamaño, va a ir desde la posición. Posición de acento. ¿ Por qué? Pero esta vez, posiciona por qué va a ser lo mismo. Pero la Posición X se va a sumar al tamaño. Entonces mira, posición
debida X. ¿ Por qué? Entonces nos estamos moviendo desde la esquina superior izquierda de cada rectángulo, y luego nos estamos moviendo sobre el eje X. Entonces voy Posición X más talla. Hagamos menos 10 solo para verlo de pie y luego posicionarlo. Por qué ejecuto esto. Podemos ver que son de hecho, líneas
horizontales. El bufete de esto. Podemos ver que les gusta perfectamente. Ahora vamos a crear nuestra alianza Dagon. Por lo que la primera línea diagonal va a ir desde la esquina superior izquierda hasta la esquina inferior derecha , por lo que la esquina superior izquierda sigue siendo la posición X y posición. ¿ Por qué? Y entonces la esquina inferior derecha es básicamente el ancho y alto de cada cuadrado o cada celda de lo grande. Por lo que se va a posicionar posición X plus size. Por qué más tamaño Porque nos estamos moviendo de la posición. Las esposas de acento comen rectángulo al ancho y la altura de una práctica. Ahora puedo ver que los tenemos por aquí. Si de nuevo, si hago menos 10 por cada uno, podemos ver que en realidad son líneas individuales. No, para la línea final de Daniel, nos movemos de la esquina superior derecha a la esquina inferior izquierda. Entonces la esquina superior derecha que ya creamos cuando creamos las líneas horizontales, que se va a estar moviendo sobre el eje X, por lo que va a ser ésta. Por lo que la posición X posición inicial de thes líneas diagonales va a ser la posición X más el tamaño. Y entonces no nos estamos moviendo en el acceso Y. Por lo que son las armas para estar en posición. ¿ Por qué? Para la posición inicial, y luego nos estamos moviendo de esta manera. Por lo que la esquina inferior izquierda va a estar moviéndose en el acceso Y. Entonces lo que hicimos aquí y mantener el eje X como su Así que estamos haciendo actos de posición porque lo
estamos manteniendo o no moviendo en ese acceso. Pero nos estamos moviendo en el acceso Y. No es tan complicado si pujas lo confía. Pero por ahora, sólo practica conmigo, y entonces podrás entenderlo por tu cuenta. Y ahora tenemos líneas en el lado opuesto. De acuerdo, ahora que tenemos nuestras cuatro líneas diferentes, si en realidad poco común todas estas, podemos ver un diseño bastante cool también. Pero no voy a ir por eso. Entonces, ¿no vamos a quedarnos con esto? Es que voy todo un pequeño ejemplo de probabilidad. Usando la succión aleatoria l crear fluidos. Voy a llamarlo nuestro por aleatorio y luego aquí voy a Teoh conseguir un valor aleatorio de 0 a 1, así que me va a dar un valle flotante de 0 a 1, lo que significa que contratamos por igual probabilidad para crear esas líneas. Por lo que va a ser 25% de probabilidad para que cada una de estas líneas aparezca para que esto suceda. Voy a hacer si nuestro es menor o igual 24.25 fue apenas 25%. También puedes hacer, Ah, cientos y luego hacer 25 por aquí si eso te hace más fácil entender. Pero me gusta ir con uno, y te voy a mostrar una forma diferente de hacer esto también. Entonces si nuestro es menor igual 25%. Entonces había un trans del 25% de esta línea para aparecer, y si corro esto ahora mismo, se
puede ver que en realidad es Hedden en algunos puntos. Entonces por aquí no hay león aquí. Ahí hay una línea vertical. Hagamos en realidad una de las líneas diagonales del tema porque es mucho más simple de ver. Se puede ver que algunos de ellos están realmente ocultos, así que en realidad hay 25% de uno de estos pasos de línea diagonal aquí. De acuerdo, me voy a quedar el 1er 1 Así que estamos organizados y no olvidamos nada. Y luego para el 2do 1 voy a hacer otra cosa. Si es así, terminamos con 0 a 25%. Ahora, vamos a pasar de 250.26 o cualquier cosa mayor a 0.25 a 50 para el segundo trimestre. Por lo que ya comprobamos por menos o igual. Yo sólo voy a comprobar por un mayor que porque va a chocar si hago o igual aquí también, ya que estoy usando el mismo número y nuestro es mi estándar igual al 50%. Entonces ahora, si es mayor al 25% en menos del 50% significa todavía 25% trans. Entonces va a ser esta línea, y luego lo voy a hacer. Else F R es mayor al 50% y nuestro es menor o igual 75%. Entonces es otro 25% de oportunidad, y finalmente de lo contrario va a ser la final. Entonces ahora puedo ver que tenemos un diseño de aspecto muy divertido, y si quito el rectángulo, podemos ver que tenemos un gran diseño. Ahora quiero arreglar una cosa porque esta es una mirada, pero lo que creé es un poco diferente ahora. Si traigo de vuelta los rectángulos, vas a encontrar que las líneas horizontales y verticales no están en el centro de cada rectángulo ahí en el borde. Entonces para que esto parezca el ejemplo realmente creado, quiero mover cada una de estas líneas horizontales y verticales al centro fuera del rectángulo. Porque, ya ves, las líneas diagonales se están moviendo en realidad por el centro. Por lo que sería bueno que las líneas verticales y las horizontales también se movieran por el centro. Entonces para mover cada una de estas líneas verticales o tan horizontales, vamos a tener que moverlas por el tamaño dividido por dos. Entonces muévalos a la mitad del tamaño del rectángulo. De acuerdo, Entonces si nos fijamos en este, por ejemplo, si quieres mover esto desde la Posición X y posicionar por qué de este rectángulo, que es una esquina superior izquierda, Teoh este sitio, Entonces vamos a tener que sumar tamaño dividido por dos a esta posición X. Y entonces también queremos mover la exposición final por tamaño, dividida por dos. Entonces si voy por aquí, hago plus talla dividida por dos. Y para la exposición final también y tú la ejecutas, podemos ver ahora que las líneas verticales están en realidad en el centro de cada rectángulo. Hagamos lo mismo para las líneas horizontales, que se mueven sobre el acceso blanco. Por lo que en realidad estamos moviendo cada una de estas líneas horizontales hacia aquí. Entonces el por qué está bajando por tamaño dividido por dos. Entonces voy a hacer posición inicial,
posición Por qué, más suspiros divididos por dos y el final. ¿ Por qué posición para agregarle? Tamaño dividido por dos. Entonces si voy por aquí posición, por qué posición inicial va a estar en posición. Por qué plus size dividido por dos y luego éste también. El puesto final va a pasar a la mitad de la dirección, y ahora está más cerca de lo que teníamos al principio. Pero como esto es aleatorio, no
tendrá el mismo ejemplo cada vez. Y si quité el rectángulo ahora, podemos ver que es mucho más bonito. También podemos cambiar el fondo bien entrenado el trazo a blanco para hacer su primer ejemplo. Si quieres el mismo diseño una y otra vez, puedes agregar a semillas aleatorias. Puedes agregar cualquier número aleatorio por aquí. Sólo tienes que saber que dentro de la semilla aleatoria, cada vez que pongas cero va a ser el mismo resultado exacto. Y ahora si ejecuto esto, vamos a tener un diseño aleatorio. Pero ahora, si mantienes el ojo en una sección del diseño para ver que va a ser la misma una y
otra vez. A pesar de que tenemos un número aleatorio por aquí, es mantener el mismo diseño porque tienes un asiento aleatorio para ello. Entonces estás diciendo que quiero este diseño cada vez. Entonces si quieres tal vez el diseño aleatorio asiento 10 y va a ser un diseño diferente. Pero si quieres volver al diseño que te gustó un gran, um, cero, entonces puedes volver fácilmente a él. Me gusta Teoh realmente crear un número aleatorio para esta semilla aleatoria y luego imprimirlo para que
solo pueda ejecutarlo y ver todos los diseños y luego el que me gusta solo guardo el número que se imprime en el Cónsul y lo guardo a un lado. Y luego cuando realmente quiero imprimir el diseño o hacer algo con el diseño, entonces solo vuelvo a ese asiento aleatorio. Entonces esta es una buena manera para ti. Si alguna vez te encargan crear un diseño, para volver a tu diseño original que desees. De acuerdo, existe potencialmente una variable diferente que podemos crear, que es el conteo o el número de columnas y filas. Entonces voy a discretar eso para que podamos ver el diseño dolor un tamaño diferente de filas y columnas. Tendré el mismo para el acento y Así empezaré con 10. Y luego voy a sustituir por aquí, y luego veremos que tenemos el mismo diseño, sobre todo porque tenemos asiento aleatorio por aquí también. Y lo voy a mantener sólo para que podamos ver el mismo diseño con el mismo aleatorio Ver, No, si haces esto 50 el diseño va a cambiar es porque se cambian los valores de entrada. Este bucle en realidad va alrededor de 50 veces, pero el tamaño de cada celda todavía está dividido por 10. Por lo que sigue siendo 10. Vende 10 filas en columnas de turno. Por lo que también tengo que sustituir esto por conteos. Ahora se puede ver que es muy denso. Entonces o cambias el trazo, esperas a quizá dos, o puedes cambiar el tamaño del campus. O puedes cambiar esto tal vez 20. Entonces, sí, jugar con él y ver qué puede crear a partir de él. Ahora, te
dije que te voy a mostrar un ejemplo diferente usando aleatorio para dar diferentes probabilidades sin realmente hacer porcentaje, porque voy a comentar todo esto fuera, y luego voy a crear otra función aleatoria. Pero esta vez en realidad lo voy a llamar y y lo voy a lanzar en un entero que puedas usar la función entrevistador para envolver el aleatorio alrededor de él, para cambiarlo en un entero para convertir el flotador en un entero. O simplemente puedes lanzarlo en interés para que solo puedas hacer paréntesis y dentro de él entero antes del valor al que quieres lanzarlo en donde un inter. Entonces básicamente sigues convirtiendo, y luego voy a hacer por porque tengo. Yo quiero tener cuatro rotaciones diferentes para las líneas. Ahora bien, lo que esto está devolviendo es un valor de 0 a 3. Entonces está devolviendo 0123 los cuales son cuatro valores fue porque en realidad es piso. Los valores sólo estaban obteniendo un valor de 0 a 3. Y si imprimen esto, vamos a ver que tenemos 01 y luego deberíamos tenerte en tres. Pero nunca tendremos cuatro porque los números volaron al aire. Entonces el redondeado hacia abajo bien, podemos usar esto ahora en, si condicional. Entonces, Aiken Dio, si son, es igual a cero. Voy a hacer una cosa y luego todo servido r igual a uno, pero también son iguales a dos. Y por último, se
puede hacer otra cosa si r es igual a tres o porque sabemos que sólo hay cuatro valores . Simplemente puedo sentir otra cosa porque sé que los cuartos valores siempre van a ser tres, y luego puedes poner todas tus funciones de línea por aquí. Entonces hagámoslo y voy a volver a 10 para que podamos ver diseñado mejor. Y si corro esto ahora mismo, es el mismo y voy a ser poco común a acariciar. Espere. Y tenemos el mismo diseño exacto que teníamos antes. Por lo que puedes elegir porcentaje. Y para este, siempre
va a ser igual probabilidad. A menos que digas si r es igual a 011 que quiero esta línea. Si R es igual a 12 tal vez quieras tener un trance y luego das tres tránces para que esto aparezca. Y entonces, ah, tercera parte de la Trans es por este paso tu y Kurt. Para esto y ellos, el resto tendrá el tercero. Entonces depende de ti lo que quieras usar, pero te voy a dar las dos opciones y siéntete libre. Teoh Justo el que es fácil de usar para Tú eres el que tiene más sentido para ti ahora en el siguiente ejemplo para aprender más sobre las funciones de forma
34. Formato: ejemplo 5: para este siguiente ejemplo. Estamos aprendiendo sobre la función de punto, que es otra función de forma, y también vamos a demostrar clases. Entonces vamos a crear este andador aleatorio. Entonces vamos a volver al diseño animado esta vez antes de crear la clase, quiero crear lo que la clase va a hacer. De acuerdo, entonces vamos a reiterar sobre lo que hicimos y el ejemplo de introducir y flotadores para empezar a trabajar un hacha en mi posición y luego, dentro de las funciones de dibujo, voy a soltar puntos en lugar de una elipse o un círculo. Y el punto toma sólo dos argumentos, y lo puedes ver por aquí espera parámetros como float y float. Pero ahí va al acento y y luego voy a usar X por un valor aleatorio, algún dulce negativo a tres, porque quería ir y venir, y luego voy a hacer lo mismo por por por qué ahora, si corro esto, veremos un andador aleatorio moviéndose, pero es muy pequeño, así que aumentemos el tamaño del trazo porque el punto solo tiene un trazo. No tiene ningún Phil, así que sólo voy a hacer trazo Espera de tres. Voy a empezar Acento. ¿ Por qué? Y el centro de la pantalla. Entonces la concedemos Así que ahora puedo ver un casillero al azar. Ahora bien, esto ya es genial, pero queremos crear una matriz de esto. No tenemos un tipo de datos llamado punto, por lo que podemos crear una matriz fuera de él para crear una multitud de caminantes aleatorios. Entonces tenemos que crear ese tipo de datos con el fin de crear que vamos a crear una clase en lugar de crear la cláusula en el mismo archivo como lo hicimos antes. Voy a crear un nuevo tap ya que nos enteramos de múltiples archivos y esto es lo que hago. Por lo general puedes llamar a los puntos de clase o puedes llamarlo Walker. Yo lo voy a llamar Walker porque en realidad estamos creando un andador y luego para la clase , voy a llamarla, pasearla, y vamos a hacer exactamente lo que hicimos aquí. Pero ahora lo vamos a poner dentro de la clase. Entonces inicializamos una posición de acento y, así que voy a hacer eso. Estaría aquí está bien, y luego dentro del constructor. En realidad quiero ingresar el valor. Yo no lo quiero. Teoh, solo quédate aquí. A pesar de que puedo. Pero sólo voy a hacer flotación, subrayado X por un guión diferente, muy óseo y flotante Underscore. ¿ Por qué? Entonces no nos confundimos. Entonces voy a decir que X es igual a subrayado X. Así que lo que sea que ingrese aquí. Cuando llamé a la clase más tarde, quiero poner dentro de esta X nativa a la clase y luego lo mismo para por qué y ahora qué
hice exactamente por aquí mostrándolo con peso de trazo y el punto por aquí lo voy a hacer dentro de mi explicar función. Siéntete libre de llamar a esta función como quieras. Pero usualmente voy con esto por voy a tomar el golpe. Espere. Y voy a hacer punto en X e y también. Pero esta vez la X e Y en realidad se toma de las propiedades locales y no del exterior . No, tener una función de actualización, función o eliminar. Y aquí dentro voy a Teoh increment. El acento y valores. Entonces ese es mi movimiento. Entonces lo voy a poner dentro de la actualización. Y ahora voy a quitar todo esto y lo voy a recrear, usando Walker para saber que tengo un casillero lo voy a llamar sólo va a estar aquí como
tipo de datos . Y debido a que mi andador en realidad es puntual, lo
voy a llamar simplemente No. Dentro del conjunto de funciones, voy a inicializar mi punto. Walker. Dijimos que Teoh crear una instancia. Podemos simplemente llamar a punto y decir nuevo andador. Ahora tenemos argumentos. Por lo que nuevamente tocó, inicializarlo. Voy a terminar sabio en el centro. Voy a decir lo que Dividido por dos dividido por dos. Entonces este es mi valor inicial para X e Y dentro de mi andador. Entonces esto va a ser con el divino Erbitux. Esto es alto dividido por dos. Entonces aquí es básicamente donde va a empezar esto, y luego voy a incrementar por cada fotograma. Entonces voy a tener que llamar a puntos por aquí, así que voy a mostrarlo como lo hicimos antes. En realidad dibujamos el punto, y luego vamos a tol alimentarlo únicamente después de mover el punto. Entonces básicamente estoy llamando a todo esto donde llamé a la función de visualización y estoy llamando a todo esto donde llamé a la función de actualización. Y ahora si corro, debería hacer exactamente lo mismo. Por lo que sigue caminando aleatoriamente a través de la pantalla, comenzando desde con dividido por dos y duro dividido por dos. Entonces el centro de mi lienzo No, vamos a crear una matriz de puntos. Voy a crear una matriz. Y ahora voy a cambiar estos dos puntos. Y antes de poder inicializar mis instancias, tengo que inicializar mi matriz. Yo lo voy a llamar Neil Walker, y luego empiezas con 100. No, dentro de A for loop. Iré de cero a la longitud de los puntos. Es 100 y voy Teoh, crea una instancia para cada punto de la matriz. Y luego haré lo mismo cuando lo llame. No. Si lo ejecuto, ahora
tengo un montón de casilleros aleatorios para que sea aún más interesante, voy a hacer del color del trazo un negro desvanecido. Entonces yo
también voy a cambiar la transparencia . A lo mejor 100. ¿ Qué es Trey 100? Por ahora, es mucho más agradable. Y ahora, si hago hasta 10 es más borroso, y se ve más como un cuadro que solo puntos aleatorios moviéndose a través de la pantalla. Y si quieres verlo no intentándolo. Entonces si tú quiero ver esos puntos moviéndose, solo
puedes restablecer el fondo por aquí y tal vez quitar la transparencia para que puedas verlo. Entonces esta es una simulación genial que tal vez puedas cambiar la aleatoriedad o usar ruido para crear un rebaño. Y eso es algo que es un ejemplo que se puede ver en una de las referencias de las que
voy a hablar más adelante, que es la naturaleza del libro de códigos de Daniel Shipman. De acuerdo, volvamos a ti, por ejemplo. De hecho voy a hacer que este 30 y luego me refiero a probar los antecedentes. Genial. Ahora puedo hacer más con esto. Por supuesto, puedes darles posiciones iniciales aleatorias. Entonces, ya que tienes esto dentro de un bucle for, puedes sustituirlo por una posición aleatoria X e Y, y así cada uno comenzará en una posición aleatoria diferente. Eso también podría darle un aspecto diferente. En mi opinión, este es el paso más grande. Una vez que llegas a crear tus propias clases, ya
abriste muchas puertas para ti mismo, y puedes crear muchos diseños diferentes solo con clases solo. Por lo que tienes que sentirte libre de reiterar sobre esto para crear tu proyecto final ahora en el siguiente ejemplo de
forma.
35. Formato: ejemplo 6: para este ejemplo, vamos a crear una forma personalizada. Entonces aprendimos todo sobre la creación de nuestras propias clases, pero usamos las mismas formas que son nativas del procesamiento. Esta vez, vamos a crear nuestras propias formas usando vergis facilidad. Ahora, para crear una forma personalizada. Hay una clase llamada forma y procesamiento P y la forma P comienza de esta manera. Entonces creas la clase y luego le das un nombre igual que lo hiciste con cualquier tipo de datos. Entonces solo voy a llamarlo forma, y luego la inicializas llamando a tu nombre de variable y llamando a la función crear formas, crear forma, crear un compartimento para tu forma. Se va a abarcar todo lo que vas a crear, y luego para empezar realmente a dibujar tus tonos, van a decir forma y luego comenzar la fe, y lo vas a terminar con forma de punto y y entre empezar forma y y forma, vas a probar o diseñar, e incluso tu relleno y trazo van a entrar aquí. Entonces empecemos con ese punto de forma Phil me va a hacer sentir negro por ahora. Y entonces vamos a empezar a usar facilidad de Burgess. Por lo que sobre Tesis están los puntos que pones en tu lienzo. Ese procesamiento termina dibujando una línea intermedia. Entonces si dibujo los primeros veredictos en la posición 00 y luego dibujo el 2do 1 a ancho y altura y luego lo ejecuto, no
vamos a ver nada porque tenemos que conducir en la pantalla. Entonces ahora estamos creando esto dentro de la forma del compartimiento, pero en realidad no lo hemos dibujado. Entonces para conducir, tomado sólo para usar la función de forma y luego poner forma dentro de ella y luego poner la posición
inicial. Entonces voy a hacer la posición inicial a las 00 porque nuestra línea va a expandirse desde el 0.2 el ancho y la altura. Entonces básicamente estoy posicionando la forma más grande o el rectángulo donde la forma va a ir dentro de ella a las 00 y puedo ver la línea realmente yendo de la esquina izquierda stop a la esquina
inferior derecha. Pero esta es la forma que podemos establecer usando la función de línea. Entonces vamos a crear una forma que sea nativa del proceso. Voy a crear un arco. Solo puedes copiar y pegar los números exactos que estoy escribiendo por aquí, y voy a tratar de explicar lo que estoy haciendo. Entonces voy a empezar a las 00 porque entonces con la función de forma, puede mover la forma a cualquier posición que quiera. Y vamos a hacer esto realmente ratón X y ratón. Está bien, para que veas cómo se mueve la forma. Pero entonces la mayoría X y la mayoría, ¿por qué sólo trabajar dentro de la función de sorteo? Y porque no quiero que nada dibuje, voy a dejar que el fondo dos blancos cada vez. De acuerdo, entonces si realmente vuelvo a con en altura, puedo mover mi forma para poder mover la esquina de mi rectángulo donde está mi forma. No, en realidad
empecemos nuestra forma de arco. Entonces para hacer nuestra forma de arco, voy a empezar a las 00 en el campus, y luego me voy a mover a la derecha 30 píxeles y abajo 30 píxeles que van a crear una línea
diagonal. Y si corro esto, se
puede ver que tengo una pequeña vida de Daniel. Entonces esta es la primera línea de nuestro barco, y solo voy a parar esto a las 00 por ahora, antes de que podamos moverlo. Para que así pueda demostrarme sobre esto ahí se conceda a los 30 el 1er 1 en dicho 00 y luego el 2do 1 está a los 30 y 30. Ahora quiero volver a subir para crear la otra línea de mi arco. Para poder hacer eso, voy a tener que mover 30 píxeles hasta aquí y luego volver a cero en el acceso blanco. Entonces de aquí a aquí
, son 30. Y luego quiero volver a mover 30 para darle el mismo espaciado. Entonces voy a tener que ir a 60. Entonces van a ser 60 de la izquierda y cero, Así que vamos a subir aquí. Entonces esto es 60 y cero. Ahora se puede ver que nos movimos hacia abajo 30 y luego nos movimos a mirar hacia la derecha 30. Y ahora nos estamos moviendo de nuevo a cero y a la derecha por 30 lo que significa que son 60 de la máxima izquierda. Ahora quiero bajar por aquí para dibujar la línea correcta del barco. Ahora esto, sabemos, es robusto. Significa que quiero bajar otro 30 lo que significa que es 60 y luego quiero desde el acceso X desde el punto cero quiero a 60 por aquí. Entonces voy a mantener el eje X donde está ahora mismo, así que van a ser 60 pero luego voy a bajar 60. Entonces eso es 60 60. Ahora, vamos a correr esto primero antes de que realmente veamos. Ahora el relleno en realidad está haciendo la dirección correcta, porque antes de que pensara, quiero subir Y así el campo estaba aquí arriba. Pero ahora que vamos a bajar, sabe
que aquí es donde va la forma. De acuerdo, Ahora quiero volver aquí, autoridad y luego arriba 30. Entonces va a estar de vuelta a las 30. Por lo que ahora nombrado, en realidad aquí. Ahora voy a retroceder 20 en el eje X y bajar 60 píxeles. Ahora tenemos una tontería. Y si en realidad volví a la mayoría del acento sabe por qué se puede ver mi arco moviéndose para
que pueda ver que en realidad está completo ahora dibujar en la pantalla. Voy a quitar el fondo porque estamos creando un ejemplo de dibujo para esto. Y ahora puedo dibujar. Un montón de botes iban a cambiar la transparencia para que esto digamos 50. Entonces ahora si dibujo, en realidad lo veo. No, Si notas por aquí, puedes ver que cada arco tiene un trazo faltante en el lado izquierdo. Ahora, la razón de esto es porque no hemos cerrado ni dado forma. Podemos o cerrarlo usando volver al 00 con el final, o simplemente podemos hacer cerca por aquí y nos hará el trabajo. Se irá al primer punto y cerrará la forma. Entonces ahora se puede ver que en realidad tenemos la línea de la izquierda. Por lo que ahora está funcionando para que esto sea aún más interesante. Voy a voltear los colores, así que voy a encontrarme con el cero back ground y voy a hacer el Phil 2 55 voy a añadir un trazo de blanco, nunca correr esto. Ahora vamos a tener un programa de dibujo. Cada vez que voy a correr esto, vamos a ver esto. Bo por aquí va a ser muy opaco porque es antes de que estemos moviendo el ratón
En realidad está dibujando montones y montones de arcos uno encima del otro porque nuestro programa
en realidad está a una velocidad de fotogramas de 60 fotogramas por segundo, Así que eso es bastante rápido. Entonces es dibujar montones y montones de formas antes de mover el Mouse X. Y por eso en un segundo quiso cambiar eso. Primero voy a mover esto a una función para limpiarlo. Voy a llamarlo Bo, y voy a usar todo esto dentro de mi función de arco. De acuerdo, voy a llamarlo aquí porque en realidad creamos la forma por aquí. Entonces lo que sea que esté aquí es ir de pie acto físico. Está aquí y estoy dibujando. Entonces ahora es el mismo programa que teníamos antes. Pero esta vez, en lugar de solo hacer esto porque si este Bo opaco que está arruinando nuestro diseño, solo
dibujaré las formas Si se presiona el ratón para que no se presiona, quiero dibujar el destino. Y ahora no tenemos esta bo por aquí y ahora cada vez que realmente haga clic, vamos a dibujar. Pero entonces voy a hacer que Teoh ejecute el programa una y otra vez para conseguir el diseño que me gusta. Entonces digamos que quiero sacar un golpe de arcos y esto no me está viendo bien
porque se va abajo y quería estar más en el centro, así que voy a usar el evento keep pressed. Hablamos de esto antes, pero nunca realmente lo usamos en un ejemplo. Siempre que usamos mantener el descanso, tenemos que comprobar qué claves, porque entonces cualquier clave en la que haga clic se va a trabajar con el dedo del pie. Empecemos con cualquier clave y luego especificaremos. Ahora quiero restablecer el fondo. Cada vez que se presiona un caso, voy a dibujar el fondo y ahora voy a dibujar mi arco. No se ve bien. Algún arma. Basta con hacer clic en cualquier tecla y ya va a funcionar. ¿ Y si solo quiero una clave para trabajar con esto Ahora estoy haciendo clic en este espacio en lo que va de vez en cuando. Esta vez en realidad estoy dando click de de La próxima vez realmente estoy dando click en T. Eso no es práctico, sobre todo si quieres usar múltiples teclas para diferentes funciones. Por eso sólo voy a usar la barra espaciadora para quitar o para restablecer el fondo. Pero la forma en que podrías hacer esto es usando y si condicional, y luego hay una variable nativa dentro del procesamiento llamada Clave. Por lo que esto tiene algún valor de la clave. Entonces si imprimes esto, vas a obtener el valor de la clave que estás haciendo clic y luego voy a rastrear de su igual al espacio, y luego voy a restablecer el fondo. Entonces ahora si hago clic en el número tres, no
va a pasar, es si hago clic en la letra pregunta. No va a pasar, Pero si le gusta esta barra facial, se va a despejar. Y ahora tal vez estoy contento con este diseño. Puedo usar una clave diferente como s, por ejemplo,
para guardar mi diseño, pero vamos a hablar de ahorrar en tractor. Por ahora, hemos creado un diseño que quería crear. Sé que usar vórtices y usar una función de forma para dibujar en la pantalla sin
saber exactamente dónde están las cosas es un poco difícil. Pero vamos a Teoh más tarde y el módulo tipo. Conoce más sobre la importación de tus diseños desde illustrator o desde cualquier software vectorial que pueda exportar en SVG. Por ahora, terminamos con el módulo de forma de la sección básica de diseño. En solo seis ejemplos, aprendimos a crear una variedad de formas para que puedas crear tus propias formas. Se puede crear una línea círculos de Lipsky los solos pueden crear. Esto por sí solo puede crear una tremenda cantidad de diseños, y no puede esperar a ver que usas cualquiera de estos en tus proyectos finales. A continuación, vamos a hablar más sobre el color y el diseño.
36. Color: ejemplo 1: En este primer ejemplo de color, vamos a hablar de RGB versus él crujiente. Terminará creando este diseño. Veremos el mismo diseño en RGB, y luego veremos el diseño en su interés. Bmo. Por lo que estos modos aire a color rgb representan rojo, verde y azul, como aprendimos. Pero luego hay un modo de color diferente del que aún no hemos hablado, y se llama Dirección ser por tono, saturación y equilibrio. Entonces básicamente, pasa por la matriz de colores, y luego la saturación es lo saturado que está ese color. Entonces si no hay saturación de lo que va a ser escala de grises, si hay alta saturación, va a ser la más saturación de ese color. Pero entonces, para el brillo, es como si estuvieras agregando blanco y negro a tu diseño. Entonces cuanto más negro agregues, que es menor el valor del brillo que va, el color va a ser más oscuro. Y luego cuanto más blanco agregues, o mayor valor es el brillo ya que entonces vas a conseguir un color más brillante, que tiene un poco más de luz. Primero creemos el diseño en blanco y negro, y luego empezaremos a colorearlo. Vamos a necesitar una posición de acento y porque vamos a dibujar líneas al azar en esta grúa y voy a necesitar bien Lupas, y voy a empezar con 100. Así que tener X en una posición aleatoria de cero a ingenio. Y entonces por qué va a estar en posición aleatoria? ¿ Cuál era su propia altura? Y luego haré un trazo con el valor aleatorio de 0 a 2 55 Así que eso va a ser gran escala que va a ser aleatorio. En realidad pueden ver todas las líneas que estamos intentando. Entonces voy a dibujar las líneas en X e Y, y luego les vamos a dar una longitud de 10. Entonces va a ser la posición de la ONU va a ser desde X más 10. Entonces va a pasar de la exposición de la exposición inicial a 10 más la X. Esa va a ser la posición final y luego la misma de por vida. Entonces vamos a tener un montón de Dagon Alliance, y quiero que esto sea estático, algo para detener el bucle, y voy a aumentar el trazo. Espera, quizá tres. De acuerdo, entonces tenemos líneas aleatorias en la pantalla con un color aleatorio de un espectro en escala de grises. Ahora también quiero rotar el's solo para conseguir el diseño que tenemos y otra vez para rotarlo . Voy a hacer simplemente push matrix para crear y tu capa para cada uno. Ahora bien, si corro esto sin amigos, liderar estaban girando. Va a ser exactamente lo mismo. Y si hago semillas de Franken solo para ver el mismo diseño, eso en realidad no está cambiando, así que en realidad está creando una nueva capa. Pero nada es genuino porque cada capa encima de la otra. Pero ahora quiero cambiar la posición de cada capa y la rotación. Entonces voy a cambiar la posición con base en el acento por ser elegido traducir, en realidad hacer el movimiento de cada línea entretejido. Voy a dejar estos a las 00 de cada uno de los campus, y luego van a ser 10 porque Europa menos hecha es básicamente 10. Entonces si ejecuto esto, vamos a ver que es exactamente lo mismo. Entonces no hemos cambiado nada. Todavía tenemos cada uno de estos alrededor en posición. puede ver que es lo mismo, sobre todo estas dos líneas son la misma posición porque tenemos semillas aleatorias. Y ahora voy a rotar. Y esto va a cambiar el todo y otra vez a su alrededor, apenas de 0 a 2 pi entretejido, un círculo completo para una rotación completa y que tenía alguna mirada más interesante. Si aumento esto a 400 me va a dar una mirada más interesante porque hay más para jugar. Pero cambiemos realmente el fondo a Blanco. Ves mejor las cosas y vamos a introducir el color ahora. Entonces en lugar de dichos, uh, accidente cerebrovascular. Entonces, en lugar de decir un aleatorio que va de 0 a 55 solo para un parámetro, vamos a agregar los otros dos parámetros. Entonces ahora vamos a tener R, G y B, y yo voy a hacer lo mismo para ambos valor aleatorio de concesionarios a 55. Y si corro esto ahora mismo, vamos a conseguir muchos colores, y como pueden ver, los colores son muy brillantes. Pero ahora cambiemos esto. Teoh solo sea foso y ver cómo esta diferencia. Ahora voy a cambiar la melodía de color dentro de por ciento de función. Y entonces sólo para que no tengamos que cambiar todo esto por aquí, ya sea
puedes dejar los valores por defecto. Pero voy a decir que quiero que el valor más alto para ti sea 255 para que la saturación sea 255 y que el brillo sea 255 minutos para el Valle Alfa. Voy a dejar que sea uno. Entonces va a ser de 0 a 1 en un vientre flotante. Ahora cambiaron el modo de color, y si ejecuto esto, vamos a tener un color diferente. Tenemos más negros, estaremos aquí. Um, y ahora tenemos algunos colores más brillantes. Podemos ver esto mejor si uso esto a plena saturación cada vez y brillo completo, cada vez que se puede ver que es muy, muy brillante porque ahora solo está mirando a través de la matriz de colores que tiene. Pero entonces le está dando la saturación más alta y el brillo más alto. Ahora, si me quito 2 55 por aquí y lo pongo cero así que no, no
hay brillo y los colores va a ser negro porque no hay blanco absoluto ahora para Traerlo de vuelta a 255 y lo cambié saturación a cero. Vamos a ver que no hay color en absoluto porque 255 es demasiado brillante. Entonces ahora es blanco. Y como no hay saturación, no
hay color. Juguemos con el brillo humano. Yo sólo voy a hacer el brillo 100. Entonces ahora vamos a ver que es un poco grisáceo. Y si voy a cero, claro que vamos a tener negro. Voy a hacer 100 entonces voy a aumentar la saturación de un poquito. Va a ver un poco más de color, sabe si aumentarlo a 200 vamos a tener un poco más de color a voy a hacer 2 30 Pero como el brillo sigue siendo muy oscuro va a aumentar esto un poco también. Ahora tenemos un color de diseño de niños, ya
sabes, voy a volver al azar, al azar izing, todos los de, pero voy a ir con Hugh de tal vez 100 250. Entonces esta es la matriz de colores. Entonces si voy desde 102 150 m solo eligiendo thes colores. Si voy de 0 a 55 estoy eligiendo de toda la matriz. Hagamos realmente a 50 y verás que todo se va a leer. De acuerdo, entonces la mayoría de esto en realidad está bien. Pero si voy aún más bajo, tal vez un 20. Sí, la mayoría ahora es roja, y ahí hay un poco de audición naranja. De acuerdo, voy a ir a hacer 255 tanto por separación como por rectitud, y entonces podemos ver que es muy brillante. No. A medida que aumentan
esto, va a agregar más colores de 0 a 100. Y quiero hacer del 100 al 150. Ahora solo estamos consiguiendo verdes y azules porque solo estás usando
colores heart of the arrive . A ver qué pasa si vuelvo a RGB, así que voy a ser común esto porque el modo de color de falla es nuestro televisor, ya
sabes, si lo ejecuto, puedes ver que es una paleta muy diferente. El motivo de esto es porque se está poniendo grano completo y azul lleno, Pero entonces se está moviendo en valor de 100 a 150. Y si quito las semillas aleatorias y aumento un poco esto, vamos a conseguir un poco de un paladar diferente sólo porque ahora tenemos más rojo con el que jugar. En realidad agreguemos aún más rojo. Por lo que tenemos desde 202 150. Entonces ese es un valor
muy, muy grande para elegir. Y si disminuyo al menos uno de estos a 10 entonces nos estamos poniendo morado y nos estamos poniendo porque nos estamos poniendo más rojos de lo que nos estamos poniendo verdes y azules. Y si también disminuí esto a 1 55 vamos a ponernos aún más bien. Juega con colores para ver la diferencia entre RGB y en crujiente. Mucha gente juega con interés sea si quieren cambiar el tono, pero quieren mantener la saturación y el brillo porque si aleatorizas r g y B, vas a conseguir un look diferente de lo que vas a obtener de la dirección sea eso. A lo mejor quieres mantener la disposición de tu color, pero luego estás quieres jugar con las calificaciones de los rojos así que juega con la saturación o el brillo, así que vamos a conseguir más de un look monocromo. Ahora, veamos otro ejemplo de color para entenderlo un poco mejor.
37. Color: ejemplo 2: Pero si por este ejemplo, vamos a hablar de interpolación de color, Entonces en el otro ejemplo, vamos a ver la diferencia entre otra vez. Audrey Beatrice habla en términos de color. Interpolación. Entonces dije que vas a conseguir tal vez un diseño monocromo si usas velocidad de interés. De acuerdo, así que vamos a crear este ejemplo de interpolación de color para aprender más sobre los colores. Para esto, voy a crear una cuadrícula de una fila y 10 columnas. Entonces para las rejillas, voy Teoh necesito más. Y no vamos a necesitar un anidado para un bucle porque sólo vamos a crear una fila y luego 10 llamadas, porque lo que agregamos aquí y ahora vamos a hacer lo mismo que hicimos antes. Entonces el rectángulo va a estar en tamaño multiplicado por yo y luego el tamaño y luego cero porque no nos estamos moviendo rosa sabia, y entonces se va a dimensionar en tamaño para aquí. Y el tamaño va a ser con dividido por 10. Porque queremos 10 llamada. Nunca ejecutes esto. Tenemos una fila de 10 columnas. Está bien. En lugar de tener una talla para la altura también, voy a hacer que esto sea la altura del lienzo porque se quiere ver la
interpolación de color en todo el campus. Ahora le voy a dar un relleno de color, y voy a crear color en este momento, así que el color va a ser de tipo de datos de color, o la variable carbón va a ser un tipo de datos de color. Y ahora, en lugar de solo darle un valor o un color, voy a interactuar entre dos colores. Entonces para poder interactuar entre dos colores, vamos a usar la función de color Lord en Esto requerirá dos colores y luego una cantidad. Entonces aparecen los dos colores que vamos a crear porque no tiene sentido crear en la memoria una y otra vez son dos colores porque vamos a elegirlos solo una vez. Entonces voy a llamar a la primera 1 llamada uno, y le voy a dar un valor, luego una llamada a, y le voy a dar un problema diferente. Entonces ya tengo dos colores listos, así que voy a copiarlos y pegarlos. Eres libre de elegir tus propios colores para practicar con la interpolación de color y luego
voy a usar Coal Juan y llamar a por aquí. Entonces quiero interactuar del color uno al color, también. Cantidad mentirosa. Por lo que cantidad. Lo vamos a crear usando el grano que tenemos cantidad básicamente va de 0 a 1. Entonces si pongo cero por ejemplo, por aquí y luego lo ejecuto, verás el primer color. Y luego si pongo uno, verás el último color que elegí. Entonces elegí de naranja a amarillo, pero quiero que los colores realmente creen ingrediente. Por lo que quería pasar de la naranja a la amarilla. ¿ Querías hacer eso? Voy a usar la variable index o la variable I dentro de mi bucle for para crear esta variable por aquí. Un hombre podría crear esta variable llamada cantidad ya que va de 0 a 1. Entonces ese es un valor flotante. Y luego voy a usar otra función llamada mapa. Entonces mapa básicamente mapea un conjunto de valores a un rango diferente, por lo que cambia valores de un rango a otro. Entonces ahora voy a cambiar el alcance de mi ojo. Mi índice desde su rango original, que es que es de 0 a 10 Teoh la nueva gama, que es de 0 a 1. Entonces ahora cada vez que cero, va a ser cero aquí en beneficios uno. Va a ser 10.1 por aquí por la cantidad, y luego para dos va a ser 20.2 y así sucesivamente y así sucesivamente,
dijo, dijo, voy a usar cantidad por aquí en su lugar. Y si corro esto, vamos a ver un Grady int que va de naranja a amarillo. Esto por sí solo puede crear una tremenda cantidad de ejemplos. Entonces usando tal vez esto con uno de los diseños que creamos, como las líneas o la rotación de línea aleatoria. Ejemplo. Puedes crear una multitud de colores con solo usar la función de color blurb. Ahí. Puedes jugar con los colores aquí arriba. Se puede cambiar de azul a verde tal vez. Se puede cambiar de rojo a morado, y se puede ver la gama de colores jugando alrededor. Se puede incluso aumentar el conteo a tal vez 20 pero entonces vamos a tener que cambiarlo
aquí también. Entonces mejor creo muchas una variable llamada count y hagámoslo 20 y luego usarla por aquí y estaremos aquí. Entonces ahora no tenemos que cambiar los valores una y otra vez en todas partes. Y entonces también tenemos que dividir el con por los conteos. Mostrar el tamaño de nuestras columnas son correctas. Ahora puedes ver que hay más color aquí porque tenemos 20 y si me quito mi trazo, lo
puedes ver más de ingrediente. Pero puedes ver los rectángulos por aquí, así que si quieres un radiante muy suave, básicamente
puedes hacer que el recuento sea el ancho. Por lo que más de hacer el conteo de 400 entonces va a ser un suave Grady termina porque ahora 400 divididos por 400 es uno. Por lo que cada rectángulo tiene solo un píxel de ancho, y por lo tanto va a ser mucho más suave. Y ahora podemos ver que creamos un int codicioso. A continuación, veremos cómo funciona esto. Si lo cambiamos en una cantidad fecal de fideicomiso
38. Color: ejemplo 3: en nuestro ejemplo final de color. Vamos a explorarlo. Confía en mí. Modo de color. Un poco más. Tengo esta vez voy a crear una cuadrícula de tres columnas y múltiples filas, y te voy a mostrar cómo hacer eso ahora. Entonces vamos a tener bucles anidados de unos ejemplos anteriores. Sabemos que vamos a necesitar variable de cuenta para este tiempo. Creé conteo. Cuenta de acento. ¿ Por qué? Entonces porque quiero un valor diferente para la Rosa de las columnas. Ya que quiero tres columnas, voy a decir que el Conde X va a ser igual a tres. Entonces voy a crear 10 filas para cada una. Entonces ahora que tenemos el Conde X es diferente a los conteos. ¿ Por qué? También voy a tener a su ex en talla. Por qué así Tamaño X va a igualar lo que está dividido por chicos del Conde X. ¿ Por qué va a igual altura dividida por vía de conteo? Ahora voy a crear el rectángulo que estoy multiplicado por tamaño. X J se multiplica por tamaño. Por qué los miembros iban a ser sexo de talla. Esto va a ser de tamaño. ¿ Por qué? Si leo esto, se
puede ver que tenemos tres columnas y giro rosa. Ahora podemos crear la coloración. Copié y pegué lo mismo que hicimos antes. Pero esta vez, en lugar de pasar de un color a otro de dos variables por aquí, acabo de pasar de 0 a 255. Y esta vez voy de cero por venir. ¿ Por qué? Entonces quiero que la interpolación suceda en el acceso blanco estoy usando J y dije que
quiero ir de ella valor cero a contar y valor. Entonces eso es de arriba a abajo. Y luego quiero mapear ese valor de 0 a 1 por la cantidad en la interpolación. Y entonces dije, el relleno a llamar, que es nuestra variable de color, y ahora va a colorear mis rectángulos. Como se puede ver, va de negro a blanco. Ahora, por este ejemplo, y quiero mirarlo solo a mí y no RGB. En realidad, sólo
voy a cambiar el modo de color para que me interese, y voy a hacer lo mismo para que el grabado o matiz, saturación y el brillo pasen de 0 a 50 a 55. No me voy a molestar con el valor Alfa porque por ahora, esto es todo lo que necesitamos. Si corro esto ahora mismo, vamos a ver una cosa de aspecto raro. Eso se debe a que cambiamos el modo de color de RGB. Entonces, ¿ahora qué? En realidad es chequear o lo que realmente está haciendo. Va de Hugh de 0 a 255 que es la más baja a la más alta. Pero en realidad no hay brillo ni saturación. Por lo tanto, para el trabajo de tonalidad ,
saturación y equilibrio del dedo del pie, voy a usar una función diferente. Voy a usar la función de alerta y solo voy a aprender por las tonalidades y luego por la saturación siguiente y luego por el brillo siguiente. Entonces voy a llamar a este valor en su lugar. Y esto va a devolver valor a flote y voy a simplemente enfriarlo tú por valor. Y entonces el brillo y la saturación van a ser los más altos. Por lo que ahora soy Lor Ping de 0 a 255 en Lee por el matiz. Entonces esta vez no estoy solo agrupando usando la función de color blurb, estoy usando la función de alerta porque solo quiero interactuar entre dos valores
también puedes usar la función Lord para interactuar entre dos posiciones. Un oleaje. Pero lo estoy usando aquí para él situación y equilibrio y ver cómo se ve esto en realidad y se
puede ver toda la matriz de color en realidad está en el campus. Ahora. El motivo por el que creé tres columnas porque quiero mostrarte Hugh en la primera columna y luego quiero mostrarte saturación en la siguiente columna. Y luego quería revisar el cambio y el brillo en la tercera columna. Entonces usemos realmente un condicional y, si condicional, voy a comprobar si voy a igualar a cero, que es la primera columna. Yo quiero que los trenes de valor estén en el matiz Mendel If I igual a uno. Apenas la segunda columna que quiero llenar para tener cualquier Hugh. Voy a usar cero para Rojo, y luego voy a tener el valor en la saturación. Esta vez voy a tener el brillo más alto, y finalmente lo vamos a ser, también. Pero no necesito escribirlo porque el último va a cambiar el brillo va a tener la mayor ación sexual y luego Val por el brillo. Ahora, si ejecuto esto, vas a ver que la primera columna va a tener un cambio enorme. Y entonces la segunda columna va a tener la saturación de 0 a 255 y luego la
última va a ser el brillo de 0 a 255. Y si cambias el tono por alguno de estos, así que hagamos 150 por éste. Va a pasar de lo menos saturado a lo más separado en la tonalidad de 150 que
aquí es azul. Entonces depende de ti. De qué color quieres elegir. Ikan. Además, tal vez elija un color diferente para éste también. Entonces vamos a hacer 200. Va a ser de color morado y va a pasar del menos brillante al más alto brillo. Entonces esta es otra forma para que juegues con los modos de color, interpolación y color. A lo mejor quieres quedarte con el mismo Hugh como aquí, pero quieres variar el brillo. A lo mejor quieres quedarte con uno. Hugh por aquí está bien y tal vez jugar con la situación. También puedes crear un valor diferente. ¿ Es un blerp diferente o interpelación para cada uno de estos? Entonces para tal vez él cuando secretaria en brillo y luego se puede tener una cantidad diferente. Entonces tal vez use I Teoh Triple ocho en cuanto a brillo y luego use J a intra placa Hugh . Esto también te dará un look diferente. Juega con él en. Hazme saber qué pasa contigo. Muéstrame en tus proyectos. Me encantaría ver lo que creas con tribulación dorada y naves. A continuación, hablaremos de imágenes.
39. Imagen: ejemplo 1: Hemos estado creando
formas y eligiendo colores para los
últimos ejemplos. Pero esta vez
vamos a hablar más sobre las imágenes y
cómo puedes importar cualquier imagen que
tomaste tal vez o cualquier imagen que encuentres en
línea a tus diseños. Para ello, vamos a
adentrarnos más en
cómo se crean realmente los archivos de boceto. Entonces, para mi ejemplo, tengo un archivo llamado image. Esto en realidad se crea
una vez que guardas tu boceto. Así que cada vez que guardes tu
boceto se va a crear una carpeta con el mismo
nombre del boceto. Si cambias el nombre de la carpeta, este boceto no se abrirá. Tienes que tener el
nombre del boceto igual que el nombre de la carpeta. Después para agregar imágenes
dentro de tu carpeta, vas a tener que
agregar una carpeta llamada data. Ahora en esta carpeta de datos, vas a tener algún archivo, luego vas a
importar al boceto. Entonces, si tienes un archivo de texto
o un archivo de imagen o algunos archivos
SVG de los que vamos a hablar más adelante en
la sección de tipos. Vas a tener
que ponerlo aquí. Esto no se crea por defecto. Vas a tener que
entrar en tu carpeta de bocetos. Y es por eso que,
cuando estás bromeando, bocetos relacionados con
imágenes
o cualquier cosa que
requieras para importar o cargar
algo en el boceto, entonces vas a tener que
guardar tu boceto y crear un dato archivo en el que
vas a agregar lo que sea que vayas
a importar a tu boceto. Aquí tengo esta imagen. Puedes descargar esta
imagen desde unsplash.com. Voy a tener el enlace a esa imagen exacta en la sección de
notas del video. Siéntete libre de
pasar por el sitio web y elegir la imagen
que más te guste. Entonces voy a elegir
esta imagen y la veremos ahora una vez
que carguemos
en nuestro boceto. Entonces, para que esto funcione, voy a tener que
guardar este boceto. Ahora bien, si abro esta carpeta, puedes ver que se llama
image1 y dentro de ella, está el archivo de boceto. Ahora necesito crear una
nueva carpeta por aquí. Vamos a llamarlo datos.
Dentrode ella, voy a copiar y pegar
la imagen que tengo. Entonces ahora dentro de mi
carpeta de datos tengo este archivo de imagen. Ahora puedo cerrar mi carpeta y ahora podemos trabajar
con la imagen. Para la imagen, es algo
similar a la forma de P. Entonces solo voy a usar imagen
PPI como si
utilizara cualquier tipo de datos. Y entonces voy a
llamarlo solo imagen o taquigrafía de la palabra imagen. Y luego dentro de
mi función de configuración, voy a cargar mi imagen. Voy a decir Cargar imagen, y ahora voy a
usar el nombre del archivo. El nombre del archivo es una cadena que vas a usar
dentro de la imagen de carga. Es por ello que, cuando dije, una de las
razones por las que usarías una cadena es usarla dentro de cargar imagen o mientras se
carga un archivo de texto. También puedes poner esto dentro de una variable llamada filename o como sea el nombre que
quieras llamarlo. Pero creo que está bien simplemente agregarlo por aquí
porque es un nombre corto. También puedes cambiar el nombre de
tu archivo y luego cambiarlo por aquí si
te resulta más fácil. Pero me voy a quedar con
el cojo original. Si ejecuto esto ahora mismo, no
vas a ver nada. La razón de esto
es porque de nuevo, la imagen es muy similar a forma cuando creamos
la forma personalizada. Entonces voy a llamarlo
dentro de una función de imagen. Entonces lo voy a poner a las 00. Pero ahora si
lo ejecuto, vas a ver parte de la imagen, porque la imagen
es increíblemente enorme, vamos a tener que
redimensionarla al lienzo. Podemos hacer esto usando el cambio de tamaño de punto de
imagen. Esto está en la clase de
imagen PPI que redimensiona tu imagen a
lo que especifiques. Entonces voy a hacer
ancho y alto. En realidad va a
estirar tu imagen u obscura imagen si se usa cambiar el tamaño
con cualquier resolución. Si tu imagen tiene una
resolución diferente a un cuadrado, entonces tal vez puedas
cortarla o tal vez simplemente cambiarla a un punto a
la misma resolución, pero a un punto donde puedas ver la mayoría de la
imagen en tu lienzo. Así que puedo hacer de cualquier
tamaño por aquí, a lo mejor quiero hacer 200 por 400. Esto va a ser de forma
rectangular y en realidad
va a mujeres
mi imagen un poco. Pero solo
quería mostrarte que puedes hacer el
tamaño que quieras. Me voy a quedar con qué ancho, ancho y alto. Ahora que tenemos nuestra imagen, en realidad
podemos
jugar con ella. Una de mis
formas favoritas de jugar con imágenes es usar
la función de copia. La función de copia
básicamente toma una imagen y copia
una sección o un rectángulo de la
imagen y la pega en un lugar diferente o
donde quieras pegarla. El primer argumento
que toma es la imagen. Entonces solo voy a decir imagen. Primero tomemos una sección
desde el punto cero-cero. Voy a decir a partir de las 00. Entonces voy a elegir
un ancho y un alto. Imagínese es que si estoy usando la función rectángulo
dentro de la función de copia, la función rectángulo
toma la posición x e y, que es la posición inicial, que es la
esquina superior izquierda del rectángulo. Y luego toma una
anchura y una altura. Voy a hacer tal vez
un 100 por un 100. Y luego lo vamos a posicionar
en otro lugar. Voy a elegir la
mitad de la pantalla. Entonces digamos 200 por 200. Y entonces voy a
tener el mismo tamaño. No quiero redimensionarlo. Se puede cambiar el tamaño. Tal vez
quieras hacerlo más grande, pero voy a
mantenerlo del mismo tamaño. Entonces ahora pueden ver que llevo este pedazo por aquí
y lo pongo por aquí. Ahora está en la
posición de 200 por 200, pero se toma de una
posición de 0 por 0 valores. En lugar de tener
un conjunto de valores, voy a elegir un valor
aleatorio cada vez. Para ello, va a ser un valor aleatorio de 0 a ancho. Para esto, quiero un
valor aleatorio de 0 a altura. Entonces quiero
posicionarlo también en un valor aleatorio de 0 a ancho y valor aleatorio
de 0 a alto. Esto va a
salir de la pantalla, así que voy a golpear
Enter en esta función. Entonces ahora he separado mi posición
inicial x e y, mi anchura y altura, y luego mi
posición final x e y mi altura final. Puede golpear Comando T o control T en Windows para
fijar la alineación. Esto se va a
quejar porque la función copy espera
parámetros que son enteros. Y he implementado flotadores. Así que sólo puedo emitir intereses. Así que ahora estoy convirtiendo todos estos valores flotantes
en enteros. Ahora va a funcionar. Entonces, si presiono Play, vamos a ver
cuadrados aleatorios a través de la pantalla. Entonces es copiar desde una
posición aleatoria y luego pegarlo en otra posición aleatoria y
pica lo mismo una y
otra vez. Y está tomando sus
recortes de la imagen. Voy a cambiar el
diseño para que sea diez por altura. Entonces ahora cada rectángulo en realidad
va a ser líneas muy delgadas. Esto me va a dar
una mejor visual. Pero en lugar de que
pasen de 00, de 0 a ancho, quiero
agregar margen a mi diseño. Voy a crear un
entero llamado márgenes. Y le voy a dar 50 pixeles porque quiero que los
recortes solo estén en el centro y
quiero que el borde tenga esta imagen fija
de la imagen original. Para
ello, necesito establecer la posición de los
rectángulos que estoy creando, no desde 0, sino desde el margen. Entonces, si ejecuto esto, quiero que haya un borde
en el lado derecho,
en el lado derecho,
y en el lado izquierdo. Para obtener un borde
en el lado izquierdo, voy a obtener
un número aleatorio, no de 0 a mojado, sino de margen,
que es de 50 píxeles a ancho menos el
margen. Entonces vamos a hacer eso. Si ejecuto esto,
se puede ver que hay un 50 píxeles por aquí donde no hay
líneas y hay un píxel por aquí donde no
hay líneas. Ahora para que la altura funcione, no
voy a hacerla aleatoria. Voy a hacer el posicionamiento
aleatorio solo de derecha a izquierda, pero de arriba a abajo. Voy a empujar esto
hacia abajo por el margen. Entonces la posición y para la posición Y inicial
va a ser margen. Y entonces la posición Y final también
va a ser margen. Ahora tenemos un borde en la parte superior. Si ejecuto esto ahora mismo, tenemos un
borde muy claro en la parte superior. Tenemos bordes claros en el lado izquierdo
y el lado derecho, pero no tenemos
uno en la parte inferior. La razón de esto es
porque en realidad estamos tomando la altura como un todo. Tenemos que restar los
márgenes de la altura. Entonces tenemos dos márgenes,
es decir, que tenemos que restar margen multiplicado por dos
porque tenemos dos. Voy a hacer lo mismo por ambos. Ahora si lo ejecuto,
se puede ver que tenemos un borde muy bonito de
la imagen original. Y esto le da una mirada
mucho más agradable. También lo hace más agradable
porque ahora la altura está adentro, moviéndose aleatoriamente,
lo que significa que los azules van a pegarse en la parte superior
la mayor parte del tiempo. La única razón por la
que hay un poco de rosa es porque no todo esto es
azul, como el centro. Y por esto también. Pero la mayoría de las
líneas son azules y luego
aquí abajo va a ser
rosa y un rosa más oscuro. Por lo que hay múltiples
tonalidades de rosa. Ahora bien, lo último
que quiero hacer para este ejemplo es verificar si el recuento de fotogramas es
mayor que 120 o cualquier número. Esto es justo lo que me pareció que
mi diseño se veía mejor. Quiero detener el bucle. Notarás que el
bucle realmente se detiene. Se detuvo después de unos 120 fotogramas. Ahora si imprimo FrameCount, van a ver
que pasará de uno a un 120 y luego se detendrá. Porque el bucle se ha detenido. En realidad fuimos a uno a uno
porque estamos comprobando si es mayor que uno veintiuno,
veintiuno es mayor. Y ahí fue cuando el
loop realmente se detuvo. Por lo que se detuvo después de 121 fotogramas. Así que esa también es una buena
manera de detener tu diseño. Así que tal vez puedas imprimirlo
o guardarlo para su uso posterior. También puedes usar semilla
aleatoria con cualquier
número que quieras. Normalmente empiezo con 0. Entonces cada vez
que esto se ejecute, va a tener los
mismos valores aleatorios. Entonces va a tener
los mismos resultados finales. En el siguiente ejemplo, crearemos un collage
de múltiples imágenes.
40. Imagen: ejemplo 2: En este ejemplo,
crea un collage. Para un collage, necesitamos múltiples imágenes dentro
de nuestra carpeta de datos. Y he creado,
he guardado este archivo,
el archivo de boceto, y he
creado una carpeta de datos. Y dentro de ella, tengo
todas estas formas. Para que puedas tener
cualquier forma aleatoria. Creé algunos hexágonos, octágonos, también, algunas flores
y algunos triángulos. Entonces esto es muy importante. Voy a enlazar a esta
carpeta en la sección de proyectos. Pero si quieres
crear tus propias formas, solo asegúrate de que
las estás creando en PNG y que tengan un fondo
transparente. Si quieres el fondo, entonces no dudes en usar JPEG o PNG con un fondo blanco. Y entonces hay que
nombrarlos con números. Para el primero,
agregué la palabra clave azul, solo para indicar que
es un color azul. Y entonces empecé a contar. Entonces para este es 0102, suman 06, en realidad hasta 09. Incluí estas
turquesas en el azul. Y luego lo mismo para el verde, lo mismo para el naranja
y el rosa y el rojo. Todos tienen nueve imágenes. Todos ellos tienen que tener numeración
consistente para este ejemplo porque vamos a usar un bucle for
que cuente de 0 a nueve, en realidad de uno a nueve. Así que una vez que tengas
tu carpeta lista, vamos a meternos en el ejemplo. Para ello,
lo primero que
necesitamos son las palabras clave
en tus archivos. Entonces para mí es azul, verde, naranja, rojo y rosa. Voy a crear los nombres
de las imágenes. Y los voy a poner
dentro de una matriz de cadenas. Y sólo voy a
llamarles nombres de imagen. Los pondré por aquí
directamente dentro de la matriz, porque solo tengo
cinco palabras clave. No hay necesidad
de inicializarlo y generar usando un for-loop. Y ahora voy a inicializar
el conteo para las imágenes. Para eso, voy
a necesitar un entero y voy a
llamarlo recuentos de imagen. Y voy a poner nueve porque
tengo nueve emisores. Y ya que vamos
a cargar una matriz de imágenes y luego
colocarlas en la pantalla. Voy a crear una
clase porque eso
va a ser mucho más fácil
para nosotros navegar. Y voy a
llamarlo una imagen grande. Y dentro de aquí, voy a necesitar un nombre de archivo. Así que cada vez que cargue una imagen, voy a necesitar esa entrada. Entonces voy a poner eso por aquí. de archivo de cadena. Entonces claro voy
a necesitar la imagen PPI porque estoy cargando la
imagen con ese nombre de archivo. Entonces voy a necesitar una posición x e y y una
anchura y altura. A veces me gusta agregar estos, la posición y el tamaño de las formas o imágenes
aquí como variables. Y entonces si no las
necesito o si encuentro que no
necesito esas variables, solo
voy a
cambiarlas entonces. Porque es mucho más
fácil comenzar con variables en caso de que vayas a cambiar
cosas en múltiples lugares. Y luego si encuentras que solo lo
estás usando una vez, simplemente
puedes eliminar
la variable. Esa es otra forma u otra aproximación a la
creación de variables. Entonces voy a
crear el constructor. Entonces voy a llamar
al parámetro string
underscore file name. Así que nosotros, solo, así es más fácil para
nosotros saber
que va a estar asociada
con esta cadena de aquí. Y aquí dentro, claro, voy a escribir nombrearchivo
va a ser igual a lo que se
introduce en esta clase. Entonces mi imagen,
voy a cargar imagen. Voy a usar el nombre del archivo. Entonces el nombre del archivo no
va a tener PNG o JPEG. Puede hacer que el usuario ingrese
el archivo con la extensión. Pero por ahora, porque sé que
todas mis imágenes son PNG, solo
me voy a
quedar con PNG, sobre todo si quieres que
tu programa solo tenga PNG con
fondo transparente para que funcione, entonces es mejor
que inicialice la extensión y pida
al usuario que ingrese el nombre de la imagen. Le voy a dar
una anchura y una altura. Voy a hacer 120 por 120 solo
porque lo probé antes. Y sé que 120
va a funcionar. Entonces para x o para la posición, voy a dar un valor
aleatorio de 0 a uno. Entonces para y de 0 a altura. Y después de eso, cambio
el tamaño de las imágenes porque mis
imágenes son un poco. Porque no quiero
ninguna pixelación, aunque mi lienzo
es de 400 por 400,
estoy, siempre creo como si fuera a crear un Canvas
más grande acaso algún día quiero volver
a eso y tal vez guardar algunas
de las imágenes. Voy a
redimensionarlo a 120 por 120. Sé que esto parece que no es necesario por aquí porque solo lo
estamos usando una vez. Entonces, ¿por qué usar 120 por 120? Entonces redimensionarlo aquí
por las variables cuando solo
puedo hacer redimensionar por
uno veinte, uno veinte. Pero voy a hacer
algo después. Verás que ahora
voy a cargar todas
las imágenes usando esa clase. Voy a crear una matriz
de esa clase llamada images. Después voy a
inicializar primero la matriz. Imagen collage de Neil. La longitud de la matriz de
imágenes de collage va a ser el nombre de la imagen se multiplica por el
recuento de imágenes porque tenemos nueve imágenes de cada uno de
estos nombres de imagen
multiplicado por el recuento de imágenes. Y ahora vamos a dar cabida
a toda
la lista de imágenes. A continuación voy a crear las instancias de la matriz de imágenes
collage, así que solo el for-loop. Y se va a expandir
hasta nombres de imagen, longitud de
punto e
incrementos en uno. Esta matriz va a
iterar cinco veces porque solo la estamos expandiendo a la longitud de los
nombres de los puntos de la imagen. Entonces aquí dentro de
las imágenes del collage, sólo las cinco primeras
van a tener valores. Necesito anidar otro loop que va a iterar nueve veces basándome en el conteo de imágenes para cada uno de los nombres
dentro de esta matriz, voy a loop nueve veces para obtener los nombres
para las imágenes correctamente. Entonces ahora mi segundo
bucle va a pasar por el conteo de imágenes. Ahora tenemos la longitud
de la imagen del collage. Sin embargo, no puedo simplemente hacer imágenes ahora mismo
y luego simplemente ir yo, porque sólo
voy de 0 a cuatro. Pero esta matriz de imágenes
es mucho más grande. En realidad son cinco
multiplicado por nueve. Entonces necesito hacer el índice
por aquí usando I y j.
Ahí es donde entra la IA. Y luego lo vamos a
multiplicar por conteo de imágenes. Ahora antes de hacer nada, quiero imprimir los valores aquí
abajo en la consola
para que puedan ver lo que
multiplicé por condados de imagen durante el primero
va de 0. Entonces 0 multiplicado por nueve, que es el
recuento de imágenes, va a ser 0. Y luego para el segundo, va a ser uno
multiplicado por nueve, lo que nos va a dar nueve. Y luego nueve multiplicado por dos porque
voy a ser dos. Y lo mismo va
a ir para todos ellos. Y entonces el final
va a ser cuatro multiplicado por nueve, lo que nos va a dar 36. Entonces esto no nos está dando desde 0 hasta el último valor
que necesitamos. Nueve multiplicado por cinco es 45. Vamos a necesitar esto para subir a 45. Lo que notarás
por aquí es que esto va de 0 y
luego salta a nueve. Pero donde esta mi 128128 es básicamente el primero nueve,
que es donde está el azul. Así que sólo estoy consiguiendo el
primero para el azul y
luego estoy consiguiendo el noveno índice dentro
de mi imagen de collage, y ese es el verde, ese es el comienzo del verde. Y entonces 18 va a ser
el inicio de la naranja. Pero necesito agregar nueve
imágenes de cada una de estas. Ahí es donde entra J. Voy a agregar j a eso. Porque para las primeras
nueve posiciones, donde está 0 por aquí, vamos a agregarle j. Entonces el primero
va a ser 0, el segundo
va a ser uno, el tercero va
a ser dos, y así sucesivamente. Entonces para aquí cuando tengamos nueve años, cuando éste va a ser uno, todos estos
van a ser nueve. Y luego cuando le agreguemos j, van a estar en lugar de solo 99101112
porque nueve más 0, que es la primera
iteración de la j, va a ser
nueve y luego nueve más uno es va a ser diez. Así que vamos a
tener toda la matriz. Así que vamos a imprimir
esto y ver qué pasa. Tenemos toda nuestra gama. Así que tenemos desde 0
hasta el viernes cinco, o en realidad 44 porque
vamos de 0, pero tenemos 45 posiciones, lo que va a cubrir
nuestro array de imágenes de collage. Voy a quitar esto y poco común este
activo j por aquí. Es un poco complicado
sólo para empezar a hacerlo. Pero una vez que entiendas
el concepto y una vez que
lo atraviesas
usando la línea de impresión y viendo cómo funcionan realmente las cosas
, incluso
puedes sustituir i por j y ver qué funciona
y qué no. Creo que cometer
errores te
ayuda a entender mejor lo
que está sucediendo. Para mí. Me gusta no solo
seguir tutoriales, sino que de hecho me gusta
cometer errores y probar cosas
diferentes
aunque me digan
que no va a producir
el resultado correcto, solo
quiero ver qué
pasa si sale mal. Entonces entiendo lo que está
pasando cuando sale bien. Ahora tenemos los valores para
nuestra matriz de imágenes por aquí. Y le voy a dar valores. Ahora podemos crear las instancias de la clase de imagen collage. Voy a decir solo imagen nueva
y luego collaged. Es por esto que creé
este parámetro por aquí, porque quiero generar nombres de archivo
dentro del bucle for. Y si tuviera que hacer todo
esto dentro de mi bucle for, va a ser muy largo. Entonces es mucho más fácil
crear una clase aquí. Sabemos que los nombres de cada imagen
empiezan por los nombres de las imágenes. Entonces voy a empezar
con nombres de imagen. Y van
a tener IA porque la
IA pasa por en los nombres de la
imagen longitud de punto, luego voy a agregar a
esa cadena subrayado 0 porque sé que mis archivos tienen el nombre de la imagen y
luego un subrayado 0, y luego la iteración o el
número del recuento de imágenes. Y luego voy
a concatenar otro valor a la cadena. Y va a ser j más uno. Tengo j más uno dentro de
paréntesis porque quiero que esto sea mucho más fuerte y
quiero que suceda primero. Si elimino esto, entonces esto va
a concatenar j y luego le va
a agregar uno. Sólo para ver esto
mejor, vamos a imprimirlo. Voy a comentar esto, así que no pasa nada.
Siimprimo esto. Verás que vamos a
tener azul y luego 001 porque j es
0, va a ser uno. Entonces para el siguiente
va a ser 0 y luego 11. Entonces está mirando a
éste como si fuera una concatenación a la
cadena y no lo está mirando como si lo
estuviéramos agregando a j. Pero quiero agregarlo
a j porque j empieza con 0 y quiero
comenzar con uno. Entonces voy a agregar paréntesis para que este cálculo sea
más fuerte que el resto. Entonces esto va a pasar
primero y después voy a ir me hicieron ese número
a la cadena. Ahora bien, si nos fijamos en esto, tenemos los números correctos. Ahora para el azul, es subrayado 0. Se trata de un subrayado 0. Y entonces este es el indicado. Entonces ahora funciona. Voy a añadir los
paréntesis por aquí. Y todas mis imágenes están
realmente dentro de mi matriz. Si quiero verificar, puedo imprimir array. Se puede ver que ahora
tenemos muchasclases
o instancias
diferentes de clases
o instancias
diferentes de la clase dentro de
mi array de imágenes. No vas a
ver lo que hay dentro de ella a menos que entres en eso. Entonces, si quieres entrar en eso, vas a tener que
imprimirlo dentro del loop. Entonces podemos usar este índice. Porque estas variables son
solo locales a los bucles for. Entonces voy a
imprimir los nombres de archivo. Puedo ver que todos los nombres de archivo se agregan realmente
dentro de la matriz. A continuación,
en realidad vamos a dibujar las
imágenes en la pantalla. Ya que esto va a
ser un diseño estático, voy a hacer simplemente
un bucle por aquí. Siéntete libre de convertirlo
en un diseño animado. Pero a partir de mi diseño
voy a hacerlo estático. Bien, ahora para posicionar
las imágenes que están almacenadas en la matriz de imágenes, también
voy a crear
otro bucle for, pero esta vez el for-loop en realidad
va de 0 a la longitud de este
brillo matriz de instancias de imagen. Y para mostrar realmente la
imagen o las imágenes, voy a hacer imagen. Y luego dentro de ella, voy a usar la
matriz de imágenes y el valor del índice. Y porque esto
sólo me va a dar las instancias de esta clase, voy a tener que realmente
entrar aquí y obtener la imagen. Entonces esto me va a dar
una instancia de la clase, y voy a necesitar
la imagen de propiedad para
poder ver realmente
la imagen que se carga
dentro de esa clase. Primero comencemos
colocándolo en el centro. Sólo para ver que está funcionando. Ahora tengo todas mis imágenes, pero en realidad no están en
el centro porque las imágenes se dibujan desde la
esquina superior izquierda como rectángulos. Podemos cambiar eso
usando el Modo Imagen. Voy a hacerlo centro. Ahora en realidad está
dibujando desde el centro. Eso es genial. Ahora en lugar de dibujar
todas las imágenes encima de la otra en
el centro de la pantalla, voy a usar el posicionamiento x e
y de aquí. Entonces tengo un ancho aleatorio
y una altura aleatoria. Eso lo podemos hacer
entrando en cada una de las instancias. Entonces entrando en x. Así que si hago esto, puedo ver que vamos a tener posicionamiento X
aleatorio o porque no
hemos cambiado
la posición y, todavía
está en el centro de
la pantalla en el eje y. Ahora bien, para cambiar eso, voy a crear una variable
llamada position. ¿Por qué? Porque esto se va a alargar
un poco y no tiene sentido
ponerlo por aquí y ya no será legible. Entonces ahora necesito filas o cinco
filas para cada uno de los colores. Ahora para crear una fila para cada uno de los nombres de imagen o
PTH de los colores. Voy a tener que dividir la
altura por nombres de imagen. Entonces ahora voy a tener cinco
filas de igual altura, pero ahora están todas
en el mismo lugar. Entonces voy a necesitar multiplicarlo
a ojo. Pero ahora esto no va
a funcionar de nuevo porque tenemos diferente longitud de matriz. Lo que hicimos aquí es cambiar
la forma en que escribimos el índice para que las imágenes
funcionen realmente con la longitud de
ambas matrices. Pero ahora tenemos lo contrario. Tenemos imágenes de esa longitud. Entonces ahora tenemos 45 aquí. Entonces va a
pasar de 0 a 45, lo que significa que va a poner cada una de estas imágenes en una fila diferente. Entonces solo este número
cabrá aquí. En cambio, voy a dividir la altura por
imágenes de esa longitud. Ahora tenemos todas las
imágenes y
todavía tenemos el azul en la parte superior, y luego el verde por
aquí, y luego el naranja, rojo y el rosa, que está
en este orden por aquí. Si quieres cambiar el pedido, puedes cambiarlo por aquí. Y solo tenga en cuenta que el primero
siempre estará en la parte inferior. Así que tal vez puedas cambiarlos. Puede ordenar su matriz usando cualquiera de las funciones de
clasificación, o puede crear
su propia clasificación donde
puede simplemente mezclar todo para que pueda tener un color
diferente encima de un color diferente. Ahora en mi imagen original, realidad
tenía un
fondo de negro, lo que hará que los colores
destaquen un poco más. Ahora, en vez de
dividirlo por la altura, voy a
dividirlo por la altura menos la altura de las imágenes, solo para evitar estos
recortes por aquí. Ahora bien, si ejecuto esto,
puedo ver que
en realidad está restando
la altura de la altura real y luego dividiendo por imágenes longitud de punto
y creando las filas. Ahora necesito agregar la
mitad de eso para poder empujar todos estos hacia abajo a la posición de mi
esposa de las imágenes. Y si ejecuto esto
ahora no tenemos ningún corte en la
parte superior o en la parte inferior. Y puedo hacer
lo mismo por la x así que voy a
crear la posición x en vez de
ponerla por aquí. Y aquí voy
a llamar a posición x. y añadiéndole imágenes
punteo dividido por dos, así la mitad del ancho
de las imágenes. Y ahora no están
cortados por aquí, sino que están cortados por
aquí porque
en realidad estamos obteniendo un
valor aleatorio de 0 a ancho. Y necesito obtener un valor aleatorio de 0 a menos el ancho. Y es por eso que en realidad estoy
usando variables por aquí porque sabía que
habría necesitado esto por aquí. También podemos hacer
lo mismo para la
altura obteniendo un valor aleatorio. Pero debido a que en realidad no estamos
usando la y de aquí, solo estar usando la exposición. Realmente no podemos hacerlo aquí a menos que estemos usando el posicionamiento
aleatorio. Así que lo estoy haciendo
por aquí en su lugar. Ahora los tenemos a
todos en el centro. No hay recortes. Puedes atropellar esto
una y otra vez. Y verás
diferentes variaciones y puedes agregar semillas aleatorias
por aquí para obtener los mismos
resultados una y otra vez. Si acabo de ejecutar esto, debería ser
lo
mismo cada vez. Necesitas poner la
semilla aleatoria antes que la aleatoriedad. Pero debido a que la aleatoriedad está realidad dentro de esta clase, en
realidad dentro de esta clase,
puedes poner
semilla aleatoria aquí o simplemente puedes ponerla antes de crear
las instancias de la clase. Si lo pones por aquí, no
va a funcionar. Se va a crear la aleatoriedad y
luego dirá la semilla aleatoria. Por lo que tu computadora solo
mirará tus códigos en orden
cronológico. Así que va a ir de
la línea uno aquí abajo. A menos que haya una función, entonces va a ir
a la función y llamar a todo ahí dentro. Y entonces va a volver
a todo lo que hay por debajo de esa
llamada de la función. Eso es todo lo que necesitamos
saber sobre los colisionadores o carga de múltiples imágenes
en nuestro lienzo. A continuación, hablaremos un tema diferente,
que es la topografía.
41. Tipo: ejemplo 1: ya casi terminamos. Los ejemplos estuvieron en la sección final de los conceptos básicos del diseño. Y para esta sección de los ejemplos, vamos a hablar de tipografía o tipografía específicamente en proceso. Aprendimos cómo Teoh crea formas en una sección anterior usando la clase de forma P, y aprendemos a cargar imágenes en la imagen de sección de los conceptos básicos de diseño Ejemplo. Vamos a combinar estos dos con tipo para crear algo como esto. No, este es un programa de mecanografía. Entonces lo que sea que estés viendo en este momento en este diseño es en realidad letras convertidas en formas que importé usando SP. Cielos, tú no hagas eso, vamos a empezar con una cadena de alfabetos que vamos a romper en caracteres que luego podemos usar con el teclado para poder ingresar estos diseños. Además, guardé este archivo de boceto porque necesito un archivo de datos para poder poner mis archivos SCG. Y así tengo mi carpeta de datos aquí dentro de mi carpeta de bocetos. Y luego si hago clic en él, vas a ver que tengo todos mis archivos SPG de la A a la Z. También
puedes agregar espacios y comas y puntos pájaro para este sencillo ejemplo. Yo sólo lo hice de la a a la Z y me voy de pie ligado a este wilder también y a la
sección de proyectos a continuación. Además, cuando estás nombrando tu finalmente tienes que ser consistente con ti o bien usa todas las letras minúsculas o todas las mayúsculas, y luego creó una forma diferente para cada letra basada en la forma de la letra misma. Pero puedes crear cualquier forma que quieras. A lo mejor quieres crear un ramo de flores o un manojo de rectángulos con diferentes colores . Por lo que quieres tal vez sustituir la letra por colores en lugar de batidos. Pero voy a dar formas y luego para el color, voy a usar una paleta de colores. De acuerdo, voy a empezar un poco con una cuerda del otro, y voy a cargar una forma para cada uno de los alfabetos. Entonces voy a crear matriz de forma P. Voy a llamarlo viajes. Dentro de eso, inicializaré la matriz, y le daré una longitud de la cadena del alfabeto usando el método de longitud y la
razón por la que estoy usando la longitud y no diciendo 28 en su lugar porque A veces tal vez quieras agregar Coghlan's Quieres anuncios, comas y puntos y todos estos otros personajes, y es mucho más fácil si solo dices alfabeto tratado Enlace. Entonces lo que sea que agregues aquí, es mucho más fácil calcular la longitud, luego asumiendo o contando cada vez. Por ahora, no
voy a crear una paleta de colores. Lo haré y en blanco y negro hasta que funcione. Y luego haremos una paleta de colores. Y eso suele ser lo que hago cuando grandes mis diseños. De acuerdo, ahora puedo usar la longitud del alfabeto por aquí dentro de mi bucle que voy a crear donde voy a cargar todas las formas en la forma P, correcto. Pero en cambio solo voy a crear una constante, porque si tengo otros caracteres que no sean el alfabeto, va a ser una matriz diferente para que esos los carguen. Vamos a hacer en alfabeto y para Constante, suelen usar gorras viejas. Y es 26. Creo que dije 28 antes, pero eso es Ah, el alfabeto árabe. Yo A veces me confunde. Entonces sí, es 26 entonces voy a hacer cuatro enteros I igual a cero y luego voy a ser menos que el alfabeto ling. De acuerdo, y dentro de aquí, vamos a cargar las formas en forma de raza. Entonces van a ser formas yo y luego estamos usando forma de carga esta vez porque no estamos creando una forma antes de usar crear forma. Y entonces sí empezamos forma y terminamos tropezando en el medio. Usamos la facilidad de Vergis, pero para este ejemplo, sólo
vamos a cargar formas que ya creamos antes. Y creé todo mi STD es un ilustrador, pero puedes hacerlo en línea o en cualquier otro software. De acuerdo, ahora voy a cargar forma, usando los nombres fuera de los archivos. Ahora mis archivos se llaman un punto sgb no SPD y así sucesivamente. Por lo que necesito cada personaje en esta cadena para obtener cada personaje. Hay una función llamada char at o car at for strings, y toma cada personaje usando un índice. Entonces para esto, es exactamente como un aumento para el 1er 1 Está en Índice cero para el 2do 1 es uno, y luego hasta la longitud menos uno. Entonces esto va a ser 25. Entonces si lo hago yo? Me va a dar el personaje en ese momento. Y luego voy al Capitán ocho la extensión, que es dot svg. Ahora, este es mi nombre final. Va a ser cada personaje de este tren y luego punto SPD ¿Sabe que están cargados? Yo voy, Teoh los puso al azar. Médico. Entonces voy a usar la forma como usábamos antes cuando creamos nuestra forma personalizada y luego tendré que volver a crear una matriz. Hemos estado aquí dentro. Voy a hacer formas yo en una posición aleatoria para que puedas verlas todas desde la ER hasta ella confiere aquí a altura por qué? Y si dirijo esto, vamos a ver a todos por todo el lugar. Ahora son extremadamente grandes. Si cambio el Phil 20 pero con un valor Alfa, nada va a funcionar. El motivo de esto es porque no hemos deshabilitado SPG ni los estilos de formas. Después de cargar las formas, solo usa, no deshabilita los estilos, que es una función con la clase en forma de guisante. No, le va a aplicar los estilos. Entonces tenemos un derrame cerebral Si elimino este trazo. Tenemos un problema diferente también. Cual es del tamaño todo nuestro SVG Zahra. Enorme. Se puede cambiar el tamaño dentro de su función de forma agregando dos parámetros a este o dos o más argumentos que van a ser el ancho y alto van a hacer 100 por 100 . No, puedo ver que hay un montón de formas pequeñas y lo podemos ver mejor si lo despacio. Entonces voy a bajar la velocidad a tres fotogramas por segundo y puedo ver las formas. Y si en realidad aumento o elimino la transparencia, podemos ver las formas ahora por fin funcionando. OK, pero lo que necesitamos no es simplemente dibujarlos en la pantalla. Cada cuadro que necesito para crear una máquina de escribir para que aparezcan tus naves. A medida que escribes las letras en el teclado. Voy a usar la función clave liberada ahora dentro de la función clave liberada. Si imprimo la palabra clave, veremos que cada vez que escribo realmente se ven las letras que escribo en el cabildo por aquí. Voy a usar esta palabra clave para agarrar las formas de la matriz de formas P, usando el carácter asociado a la tecla en la que se hizo clic. No, Si dibujo las formas por aquí y las voy a poner en el centro por ahora, voy a redimensionar porque son enormes. Esto no va a ir dentro de un bucle for. El ojo se va a crear como una variable donde la posición va a ser el índice de
la tecla dentro de esa tecla array siendo la tecla presionada o liberada en el teclado. Para conseguir eso, hay otra función en cadenas llamada índice de. Entonces si hago alfabeto y luego saco el índice del personaje al que se hace clic, que es la clave, me va a dar la posición del mismo por aquí, que también puedo usar por aquí. Ya que empujamos o cargamos las formas dentro de esta matriz en base a las mismas posiciones de esta cadena o de estos caracteres en
esta cadena, esto es lo mismo, por lo que en realidad va a buscar la clave en esa cadena, la cadena del alfabeto, y si lo encuentra, devolverá el índice o su posición por usted, y luego podrá usar esa posición para agarrar el mismo carácter de la misma forma de la matriz
Shapes en la misma posición. Conocer índice Off va a devolver uno negativo si no encuentra ninguna de las claves. Entonces si presionaba el espacio, por ejemplo, devolverá uno negativo, y entonces lo buscará por aquí y no lo encontrará, así que esto no funcionará. Por lo que tiene que ser una de la casa un poco aquí dentro que se haga clic en el teclado. Ahora, si hago clic en el teclado, vas a ver las formas funcionando. Pero ahora las formas en realidad no están en el centro, porque de nuevo están dibujadas desde la esquina superior izquierda. Si uso forma Military para y pongo en un centro, y ahora hago clic en el teclado va a estar en el set, y tengo que asegurarme de que si esto devuelve negativo que esto no funcione, porque entonces dirá que ese índice es no está disponible en la matriz y va a lanzar un error. Entonces si en realidad ahora hago clic en el espacio, va a decir array index out of bound exception porque no hay negativo lo Así que
tengo que asegurar que si el índice de la clave en realidad no es igual a negativo, entonces haz eso, porque si es igual a negativa, entonces no encontró la industria clave. Puede hacerlo fácilmente usando un if condicional, usar índice de clave no es igual a uno negativo, y puedo hacer todo esto. Y si tenías el comando T o T controlado en Windows, entonces puedes arreglar la sangría. Ahora. Si hago clic en la barra espaciadora porque no está existente y beben los alfabetos, entonces no pasará nada. No se lanzará ningún error. Pero si hago clic en las otras letras de las que están dibujadas para ver esto realmente cambiando, agreguemos la paleta de colores. Por lo que ya tengo una paleta de colores que soy joven para copiar y pegar en mi archivo. Siéntete libre de elegir los mismos colores o elegir los tuyos propios. Ahora, en lugar de usar el euro de Phils Cada aquí, lo
voy a quitar. No voy a dejar trazo, y aquí, dentro de mi condicional, voy a añadir un relleno de la matriz de colores. Como puedes ver aquí, hay Ah, matriz de
colores que llamé llama tiene cinco colores, y quiero usar un color aleatorio, así que realmente no me importa el color. Simplemente me importa que las formas se asocien con las llaves. Para obtener un índice aleatorio dentro de mis corchetes, voy a usar la función aleatoria dentro de la función aleatoria. Voy a usar la longitud de la matriz como mi máximo. En caso de que quisiera agregar colores más tarde, y ahora se va a quejar porque una matriz o posiciones en la casa de matriz para ser enteros. Entonces voy a lanzar esto en un intruso, así que esto lo convertirá y funcionará. Ahora. Si hago clic en jugar y escribir, vamos a conseguir colores aleatorios para que puedas ver eso. De acuerdo, estamos obteniendo diferentes formas en función de cuando estoy escribiendo. Es hora de arreglar la posición de estos viajes porque ponerlos encima uno del otro
no va a funcionar. Es hora de crear un hacha en posición de vida, y aquí dentro voy a poner X y por qué va a ser un valor aleatorio de cero a altura, Pero en realidad voy a dio de cero a altura menos 100 que es el tamaño o el alturas de cada forma. Y voy a quitar la carga de forma por ahora porque quería dibujar desde la
esquina superior izquierda . Si quieres dibujarlo desde el centro, siéntete libre de hacer esto. Pero entonces vas a tener que arreglar el posicionamiento para no sacar las formas de arriba e izquierda atadas. Porque cuando estás dibujando desde el centro, vas a tener que acomodar para esa sección en la parte superior y a la izquierda apretada. Pero es mucho más fácil si solo quitas esto y lo dejas dibujar desde la parte superior izquierda, lo que significa que siempre estoy sabiendo que mi forma es segura desde el lado superior y desde el
lado izquierdo . Pero entonces tengo dedo del pie solo trabajo en el lado derecho en el lado inferior. Entonces de esta manera sé que si lo hago de cero a altura menos los 100 sé que hasta las formas que van a estar en la parte inferior del lienzo no se van a cortar porque sé que he quitado o restado 100 que es del tamaño el altura de estas formas desde la altura del lienzo, lo que significa que estoy a salvo todo el tiempo Ahora si corro, esta X estará a cero cada vez. Pero luego van a tener altura aleatoria y se puede ver que siempre están en el borde del lado inferior y en el lado superior también. Si elimino esto, si quieres probar, puede quitarlo y puedes ver que están cortados por aquí. Voy a devolverlo a negativo 100 o altura menos el 100. Y ahora estamos a salvo. Yo lo sé. Trabajemos en la X para que dibuje desde aquí o desde el lado izquierdo del lienzo hasta el lado
derecho del lienzo. Ahora, para hacer esto, necesito compensaciones por 100 cada vez. Entonces voy a crear otra variable llamada offsets, y la voy a agregar a la exposición. Y entonces tengo que darle un valor. Entonces si digo ah 100 por aquí y corro esto, verás que vas a conseguir solo un offset cada vez que escribas, porque este es un valor estático. Pero si empiezo inicialmente con cero. Y cada vez que dibuja la forma, quiero aumentar el desplazamiento. Entonces Oficial va a aumentar por, Digamos 50 por ahora y veamos qué pasa. Podemos ver que funciona. No, es una posición aleatoria que alza, y luego se compensa por 50 cada vez. Y si cambio el valor de offset y USC, es mucho más grande. Entonces 50 años, buen tamaño, la razón por la que estoy usando 15 en lugar de 100 porque ah, 100 está abarcando los márgenes del lado derecho e izquierdo de mis ETS. Entonces si miras los archivos por aquí, vas a ver que hay margen por aquí, y creé emergente de 25 25 píxeles. Por lo que hay 50 píxeles, por lo que la imagen real es de 50 píxeles blanco. Entonces si quiero compensar, voy a compensar por 50 para conseguir que las formas se peguen entre sí. Pero si estoy compensando por 100 de lo que estoy guardando los márgenes, así que va a parecer como si hubiera mucho espacio entre ellos. Si deseas agregar ing actual a tus naves como si estuvieras trabajando con tipo entonces seguro . Usa el 100. Eso depende de ti. Ahora a ti quita esta parte tambor de este margen del lado izquierdo. Para el 1er 1 voy a arrancar X a menos 25. Pero en lugar de hacerlo dentro de clave liberada para evitar restablecer cada vez a menos 25 lo
voy a poner por aquí. Por lo que los actos van a ser menos 25. El motivo por el cual ¿Por qué está aquí? Porque quiero conseguir una altura aleatoria cada vez que las llaves se recogen o sueltan. Pero no lo quiero. Teoh. ¿ Qué? No quiero que la X se restablezca a menos 25 cada vez que se liberen las claves. Ahora funciona mejor ahora puedes ver que no hay margen en el lado izquierdo para el 1er 1 y todos después están solo 50 pixeles de desplazamiento a la derecha. Ahora, cuando quería reiniciar cada vez que tenía que volver a hacer clic en el botón de reproducción y luego detenerlo y reproducido de nuevo juntos y pantalla uno de reset en su lugar. Mediante el uso de un retroceso. Puedo hacer eso fácilmente haciendo otra cosa. Si ahora, si esto es igual a negativo, entonces no existe en el alfabeto, lo que significa que es una letra diferente que significa retroceso, un botón de retorno,
un botón de barra espaciadora. Entonces me voy Teoh, comprueba si la llave es un retroceso. Cuando no es ninguno de los caracteres, hay, ah valor constante llamado retroceso nativo del procesamiento. También hay en enter que vamos a usar con el fin de obtener una nueva línea en lugar de solo obtener un valor aleatorio cada vez. Entonces si la clave es retroceso, entonces quiero reiniciar. Si quiero restablecer,
es decir, quiero que X vuelva a aquí, es decir menos 25. Entonces voy a hacer X igual a menos 25. Y entonces también quiero que el desplazamiento vuelva a cero, porque si no compensamos cero si ahora son 100. Cuando decidí, Teoh reinicia y luego empecé a escribir de nuevo. Va a empezar desde 100 píxeles y no desde cero ahora. Si ejecuto esto y empiezo a escribir, si golpeo retroceso, va a volver desde el principio. Pero no es quitar el fondo, así que también tengo que restablecer el fondo a Blanco porque este es el fondo inicial, no Si empiezo a escribir y luego golpeo retroceso, vas a ver que es una pizarra limpia y si escribo todo de nuevo, va a empezar desde X menos 25. Ahora veamos qué pasa si no reinicio las compensaciones que se van a ejecutar esto para que esto funcione . Y ahora si escribo ahora, esto es 250 así que offset es 250. Y si golpeo el backspace, el 1er 1 va a estar por aquí porque Offset era 250 entonces aumentó en 50. Entonces ahora son 300 así que va a ser un 300. Yo sólo me mudé atrás 25 por ser Ex menos 25. Por lo que necesito restablecer el offset a cero cada vez. De acuerdo, ejecutamos esto, y si golpeo, Retroceso está volviendo desde el principio, así que ahora está funcionando perfectamente. Eso me gusta. ¿ Por qué tiene valores aleatorios? Pero no quiero que sea cada vez que escribo para obtener valor aleatorio. Quería solo obtener un valor aleatorio si entro, o si sale de esta genial, así que comprobaré si la clave es igual a enter y solo entonces obtendré un valor aleatorio para la altura. Entonces conseguiré unas nuevas líneas. Cualquiera cuando mientes para estar en cualquier posición. Realmente no me importa que esté en cierta posición, así que lo voy a mantener al azar. Pero esta vez sólo va a conseguir una nueva línea cuando golpee enter. No, Si hago clic en esto y empiezo a escribir y luego tuve entrar, se va a conseguir una nueva línea. Pero hay otro problema. S no va a volver a menos 25 el desplazamiento no va a volver a cero. Por lo que tengo que repetir esto otra vez. Ahora si ejecuto esto y luego golpeo enter ahora tenemos un problema diferente esta vez. Si vuelvo al espacio, nos vamos a quedar en la misma línea en la que estábamos antes de golpear el backspace. Entonces me voy de pie. También ponga el posicionamiento y aquí y organicemos esto para tener X antes ¿por qué solo para
poder leerlo mejor? Y si ejecuto esto ahora mismo y empiezo a escribir y tenía enter cada vez que tenía enter, obtengo una nueva línea y luego si golpeo retroceso en, empiezo a escribir. Va a empezar desde el principio, así que todo se restablece. Ahora todo está bien. Esto no es ideal para repetir el mismo código, pero aprendemos algo que podemos usar para evitar redundancia. Y eso son funciones. Por lo que todo crea una función de reinicio. Y aquí dentro voy a tomar el código repetitivo atrapado en RV pegado aquí y luego en su lugar , sólo
usaré la función, llame o estar aquí y por aquí. No, si lo ejecuto, todo funciona igual. Yo tenía enojo va a hacer y tu línea, pero si golpea el retroceso, va a ir a una posición diferente. El último que necesitamos a Dio es evitar salir del ancho del lienzo. Ahora, si
continúo, teclear va a escribir y yo todavía estaba escribiendo, pero ya no lo vemos porque no agregué un límite al ancho de la pantalla. Podríamos hacer esto fácilmente usando esto. Nos sentamos función de nuevo dentro de lo diferente de condicional dentro aquí, así como estoy escribiendo, voy a decir si X plus offset es mayor que el ancho, entonces por favor reinicie y vaya a un vino nuevo. Por lo que es comprobar si la exposición se va fuera de la pantalla. Una esquina izquierda de stock de cada forma es mayor que el ingenio. Entonces tenemos que restablecerlo hasta aquí. Ahora lo estamos ejecutando por última vez, y ahora si me voy fuera de pantalla en realidad está creando una nueva línea. No me dirijo. Entra cualquier cosa pero sigue yendo a cualquiera. Y si quiero ir a cuando alinees antes de terminar la primera línea, entonces puedo hacer eso conmigo. Simplemente restablece. Todavía puedo ir a un nuevo león antes de golpear el ancho. Pero entonces, si quiero irme al poniente, va a crear un aleatorio tu vida para mí número. Aprendiendo este ejemplo. Podremos importar S P. G's a tus archivos, no necesariamente usándolo con una máquina de escribir como la que creé, Solo
puedes usar SPG es como formas aleatorias para poner en tu pantalla. Esta es otra forma de personalizar tus formas sin crear formas personalizadas dentro del procesamiento, usando facilidad de Burgess para que ahora puedas crear tus formas como vector archivado y convertido a SVG e importante en lugar de dibujar ciegamente formas de las que no conoces el resultado a menos que ejecutes el programa una y otra vez en el siguiente ejemplo de la sección de tipos que vamos a ver la carga, gravada desde un archivo.
42. Tipo: ejemplo 2: para un ejemplo final en la sección básica de diseño, vamos a hablar de cargar texto desde un archivo. Entonces, ¿qué pasa si tienes archivos de textos que pueden ser exportados desde tu mensajería hacia arriba o desde tus correos electrónicos o algo por el estilo, y quieres hacer algún análisis con él? Entonces te voy a mostrar cómo cargar texto desde un archivo para que puedas usarlo en el procesamiento. Ahora he creado un producto antes donde tuve que cargar letras en mi proyecto para crear un diseño con formas, bebiendo las letras en formas y crear algún arte de álbum con pagar en grande. A eso, voy a importar letras de una canción que ha estado atascada en lo alto tenía desde que empecé a ver la extraordinaria playlist de Zoey. ¿ Se va a usar eso y crear texto revoltijo en un lienzo? No. Para cargar texto desde un archivo, vamos a tener que usar cadenas de carga igual que usamos carga, forma y carga imagen. También vamos a usar cadenas de cargas a texto bajo desde archivo de texto. Entonces voy a crear una cadena llamada Texto, y en eso voy a cargar las secuencias de mi archivo de texto loco. Pero si puedes ver por aquí, dice discordancia de tipo porque las cadenas de carga realmente se carga en array de fortalezas porque cada línea dentro de ese archivo va a ser una cadena o un elemento dentro de una matriz de fuerza. Entonces solo voy a hacer una matriz de cuerdas. Y ahora, si príncipe texto, veremos el contenido del expediente. Yo solo estoy para comparar. Tengo mi carpeta o estar aquí y dentro de mi archivo de datos otra vez, tengo mi piel de archivo de texto loco separar cada línea como un solo objeto dentro de la cadena, y si realmente imprimo solo es tu posición, voy a conseguir la primera línea. Entonces dice, recuerdo cuándo y por aquí es recuerdo cuándo. Entonces ahora sabemos que cada línea es en realidad su propio elemento dentro de las cuerdas, Ray, si hago una, entonces vamos a tener la segunda línea que puedes ver por aquí para que puedas ver esa misma línea
exacta. El único problema con esto es que ahora, si quiero Teoh desconecte cada palabra por su cuenta para trazarla en la pantalla. No podré hacer eso fácilmente. Entonces en cambio creé solo una cadena para texto, y voy a usar una función llamada Join. Unir básicamente une una matriz de cadenas en una línea de cadena usando un carácter. Entonces si quieres unirte con una coma que cada elemento en la cadena, Array va a tener un común después de ella. Pero se unirá en una sola cuerda. Entonces vamos a probarlo con unos personajes raros, tal vez buscando, o en realidad lo puedes ver unido. No join requiere una matriz de cadenas y un carácter. Ahora se va a devolver la matriz de cadenas para comprar cadenas de cargas. Y entonces el personaje es lo que le das por aquí y por personajes. Voy a utilizar tal vez este personaje para que podamos verlo. Y luego si planto texto de línea y va a ser una cadena muy larga unida por este personaje. Entonces si puedes ver aquí, recuerdo cuándo y luego conseguimos esta línea y luego me acuerdo. Recuerdo cuando perdí la cabeza y luego es otra línea, así que sabemos que está funcionando así que en lugar de esto, voy a convertirlo en un espacio. Yo quiero sumarme a todos estos. Está en su espacio. Entonces todo esto es una cadena en este momento y ahora queremos separar cada palabra en un conjunto de palabras. Entonces voy a crear otra matriz donde voy a crear otra cadena y
va a ser una matriz, este tipo. Y voy a llamarlo palabras. Las palabras básicamente están dividiendo ese texto largo usando cada espacio en ese texto. Entonces no sólo el espacio con el que nos unimos a las cuerdas, sino incluso el espacio entre cada palabra. se puede hacer. uso de esta función de clip y split toma en argumentos una fuerza y el personaje por el que quieres dividir. Entonces si eliges dividir por la letra T que cada letra, T estará dividiendo lo que esté entre ellas. Entonces solo voy a usar la cadena de texto y luego para un personaje, voy a usar el espacio. Ahora. Si imprimes el primer valor de las palabras, entonces obtenemos I. Si imprimo segundo valor, va a ser recordado. Entonces ahora sé que cada palabra está dentro de la cuerda derecha palabras oro, y ahora puedo usarla con el fin de trazarla en mi pantalla. Podemos hacer eso usando un bucle for. Voy a crear un diseño estático. Entonces detenga el bucle y luego dentro de la función de cajón se van a crear para un bucle. Y el bucle for va a ser menos banda, las palabras arrayed out length para que pueda usar la función de texto que hemos usado antes varias veces y dentro de la función de texto. Sabemos que se necesita una palabra o una fuerza, y las palabras son en realidad un montón de cuerdas, y voy a usar el índice para conseguir cada palabra dentro de las palabras, está
bien, Y entonces les citaré anuncios. Lo que se divide por dos en altura, dividido por dos y otra vez porque el valor por defecto para Phil es que los blancos iban a tener que cambiar de nuevo a la falta, ya
sabes, para verlo. Y si quieres que el texto esté alineado al centro, voy a usar alineación de texto. Es al centro, y puedo ver que las palabras están en realidad en el centro. No. En cambio, voy a usar un valor aleatorio para cada palabra. Entonces voy a poner el relleno dentro de mi matriz para poder conseguir un Phil al azar por cada palabra. Y usamos la actriz Be color mode fue porque es mucho más fácil para mí aleatorizar mm para tonalidad y saturación. Yo sólo voy a hacer 60 por sexación y 100 por brillo y para él iba a ser aleatorizado. Entonces ahora si corro esto, vamos a ver un montón de colores. También puedo dejarlo en la mayor saturación y brillo. ¿ Podemos tener un arco iris de color? Ahora sabemos que todas las palabras están realmente encima una de la otra, por lo que necesitamos aleatorizar la posición para aquellos de cero a ancho y de ceros Heights para X e
yAhora puedo ver que tenemos pantalla llena de todas las palabras de las letras de La canción de The Crazy, en mi ejemplo, realidad rotó cada una de ellas. Por lo que usé push matrix y pop me trucos de nuevo para crear una capa diferente para cada uno de los textos. Y luego usé traducir para mover el texto a una posición aleatoria en lugar de moverlos ellos mismos porque quiero rotar el lienzo. No, esto puede ser en el punto 00 de cada una de estas capas a las que voy. Por lo que ahora puedo rotar sin que me rompa nada. Y va a ser una rotación de amigo, Um, de cero a un círculo completo. Por lo que dos pi ahora los veo rotados. También puedes agregarle márgenes. Entonces si quiero aleatorizar la posición, tal vez quiera agregar Arjun. Entonces lo haré de margen a con margen menos. Entonces básicamente estoy diciendo desde el margen que creo, aún no lo
he creado, pero tal vez quería ser 50 pixeles. Eso va a ser hasta aquí y luego 50 píxeles de esta ciencia va t a aquí. Entonces voy a hacer 50 y luego con menos 50 y luego haré lo mismo por la altura. Entonces desde el margen, que va a ser de 50 hasta alturas menos el margen, que iba a ser de 50 otra vez, vamos a crear márgenes. Que sea 50 pixels. Ahora se puede ver que está empujado al centro y ahora tenemos 50 píxeles bordes por todos lados. este momento, tienes mucha información que procesar y muchos ejemplos que practicar con el fin de
crear tus proyectos finales. No estoy esperando grandes proyectos. Sólo quería crear algo que muestre lo que aprendiste de esta clase. No te dejes intimidar por la cantidad de información que obtienes de esta clase. Sé que el ejemplo comenzó fácil, y luego empezaron a volverse más intermedios y sus fans. Pero yo quería ser así porque no quiero asumir que no vas a poder entender nada de esto porque sé que es fácil. Se necesita mucha práctica solo para entender cómo funcionan las cosas. Pero una vez que lo resuelvas todo, vas a poder hacer todo esto en poco tiempo. Realmente no he memorizado todas estas funciones solo en una sola sesión. Hice muchos productos diferentes que se rompieron que me hicieron memorizar y entender todas estas funciones y propiedades que estoy usando una y otra vez. Entonces para las funciones conjuntas y divididas, por ejemplo, en este ejemplo, no lo
sabía En tan solo una noche, realidad
tuve que mirar la documentación, mirar ejemplos de otras personas y averiguar ¿Cómo puedo acercarme tal vez a este ejemplo? Además, la planeación es una buena manera de iniciar tu proyecto. Siempre planeé mi proyecto, sobre
todo en un pedazo de papel o dibujándolo en y iPad o en mi computadora. Simplemente me hace más fácil darme cuenta del proyecto que estoy creando. Entonces una vez que lo
visualizo, o una vez que lo veo en un trozo de papel, soy capaz de entender exactamente lo que necesito. Por lo que no solo creo las variables justo fuera del respaldo cuando inicio mi proyecto. Definitivamente no es como funciona el proceso, incluso para estos proyectos que creé para los conceptos básicos de diseño tuve que probar una y
otra vez con el fin de que sean simples pero eficaces para que puedas ampliar tus conocimientos en este reino del arte generativo. Para el siguiente capítulo, vamos a exportar algunos de estos diseños en base a lo que estás creando. Entonces si es una animación, vamos a guardar fotogramas para crear una película a partir de ellos. Además, vamos a guardar imágenes estáticas y también vamos a guardar imágenes vectoriales para que puedas
utilizarlas un ilustrador o cualquier software vectorial más adelante. Entonces si quieres aprender eso, pasemos al siguiente capítulo.
43. Capítulo 4: resultado de diseño: Ahora que tenemos todos estos ejemplos divertidos, el siguiente paso sería exportar. Estos diseños en este tractor hablarán un poco de las formas en que podemos exportar nuestro trabajo. Ya sea un quieto o una animación, esto dependerá en gran medida del tipo de trabajo que estés creando, así que vamos a entrar en el siguiente video para aprender más.
44. Guardar y exportar y exportar: OK, continúe con su último ejemplo. Voy Teoh, enséñame a exportar un PNG o simplemente una imagen estática. Ya sea una gran lesión grande, ropy no importa. Pero suelo guardar mis imágenes como PNG sólo porque es lo que más uso. Ahora no necesitas nada de fantasía para poder guardar tus imágenes y la mayoría de las veces . Por eso en realidad Dio Now, si ejecutas este programa ahora mismo, vas a tener una imagen estática. Entonces esta es la forma más fácil de guardar tus imágenes si tienes imagen estática que quieres guardar, el único problema con esto es que va a guardar la resolución que creaste. Eso significa que mi imagen va a estar en juego en 400 por 400 píxeles dondequiera que la lleve. Entonces si lo llevo a Instagram, por ejemplo, no
sé si va a funcionar. Pero si funciona, la resolución no va a ser genial porque es una imagen muy pequeña. Y para esta pequeña imagen de horno, no
podremos guardarla para un fondo de parada de polvo, por ejemplo, porque se va a pixelar y estirar. Lo primero que debes tener en cuenta cada vez que quieras guardar tu imagen es que el dedo del pie tenga el tamaño
correcto por aquí. Entonces si quieres guardar una imagen de 1920 por 10 80 para tal vez una película o guardarla como miniatura para un video, entonces voy a tener que cambiarla aquí a 19 por 1920 por 10 80. Pero ahora, si lo ejecuto, en realidad puede salir de mi pantalla. No está fuera de mi pantalla porque tengo una pantalla grande sino para ti ahora mismo, porque solo grabo pantalla parte de mi pantalla va a estar fuera de proporción. No obstante, a veces cuando quiero que Teoh guarde imágenes que son enormes, incluso más grandes que 1910 por 10 80 sí pongo el tamaño a eso, y no me importa si realmente sale fuera de mi pantalla porque solo quiero guardar la imagen y luego comprobarlo. Y también ten en cuenta que si diseñas en 400 por 400 entonces crea el mismo diseño y una pantalla
más grande, vas a ver que hay más espacios entre las palabras que lo creamos dicen tal vez se
puede escalar cambiando el texto tamaño, usando la función de tamaño de texto donde tal vez puedas crear más letras o agrega más letras a tu archivo de texto. Ah, cuatro formas de las que tal vez puedas redimensionarlas o aumentar el número de ellas. Por ahora, lo voy a ahorrar en 400 por 400 porque por ahora no me importará la resolución. Y solo quiero que veas dónde se va a guardar y cómo así. Si ejecuto esto, vamos a ver nuestro diseño de vuelta a la normalidad. Y después de que todo se ejecute así dentro de mi función de dibujo después de cada pieza de código
voy a escribir una función llamada Safe Save solo guarda una imagen al nombre de archivo de la
ruta de archivo que creaste, por lo que espera una cadena y dentro de mi string. Lo que suelo hacer si sé que voy a guardar un montón de imágenes se crea una carpeta llamada Salida. Y dentro de eso voy a guardar mis imágenes. Entonces la forma en que puedo crear la carpeta desde dentro de este archivo de boceto es escribiendo un interior de mi cadena como paquete. Por lo que escribo salida y luego las barras inclinadas van a indicar que esta es una carpeta que quiero que
crees. Y luego dentro de eso, solo
puedo hacer imaginar punto p m. D o doctor una clavija. Cualquiera que sea la extensión que quieras crear para una imagen, creo que hay múltiples extensiones que son compatibles. Se puede revisar en la documentación, pero sé con certeza que J. Paige y PNG son compatibles, y puede crear el nombre que quieras por aquí. Simplemente tenga en cuenta que si ejecuta la imagen o cada vez que ejecuta la imagen, se va a anular porque la misma imagen o el mismo nombre para la imagen. Si no quieres que esté en una carpeta separada simplemente puedes quitar esta parte y la
va a guardar en el mismo archivo, algo para guardarla en el mismo archivo de boceto. Y esta es mi carpeta por aquí, y ahora si la guardo, va a la salida por aquí. Voy a correr, y después de crear mi función say, veces va a ser mucho más lento si quieres guardar, y luego si miro mi carpeta ahora, tengo mi imagen, Safed. Pero puede ver que es muy pequeño, y si quiero aumentar el tamaño, en
realidad está muy pixelado. Ahora te voy a mostrar lo que pasa si realmente lo guardo a un tamaño más grande. Entonces digamos 800 por 800. Ahora va a anular la vieja imagen, y esta es nuestra nueva imagen. Está menos pixelado que el anterior si aumento el tamaño o Zuman va a estar menos pixelado que el anterior. Entonces es por eso que hay que saber que el tamaño de relienzos va a afectar tu salida, volviendo al ejemplo de rotación donde creamos la estrella. Vamos a guardar esto como una animación, así que vamos a guardar cada fotograma de la animación Ahora. Podemos hacer esto también de la misma manera que sí dijimos función. Pero en lugar de escribir una función segura, voy a usar las funciones de marco seguro y va
así y también requiere una cadena . En este archivo no se guarda son ahora, Así que esto no va a funcionar, así que tengo que guardar mi archivo. No, tengo mi archivo guardado, y dentro de él porque voy a guardar cada fotograma va a haber un montón de imágenes dentro de la de mi padre. Es mucho más agradable y más limpio si lo pones dentro de un fuller. Entonces voy a crear la carpeta, esta vez llamada Salida. Y aquí dentro voy a añadir hashes para el número de fotogramas. Por lo general agrego cuatro hashes y luego la extensión. Por lo que creé P y G's. No, los hashes van a ser sustituidos por números o con conteo del marco. Entonces el 1er 1 va a ser 0001 y luego el 2do 1 va a ser tres ceros y 2/3 1
va a enmarcar tres, y va a seguir y seguir. Si llegas a un fotograma que tiene más de cuatro dígitos, le agregará 1/5 dígito, así que no te preocupes por ello. Entonces si quieres que tus amigos empiecen realmente con un solo dígito, se agregará a los otros dígitos a él. Pero me gusta empezar por hashes porque la mayoría de las veces voy a llegar a 1000. Y ahora si guardo esto, podemos ir a nuestro archivo y podemos ver que ahora tenemos una carpeta de salida, y dentro de ella podemos ver cada marco impreso o guardado en esta carpeta. Entonces si llego a una posición y la animación con la
que estoy contento, voy a parar esto y mirar mi PNG final si está roto y aún no guardado, así que voy a vivir esto para que no rompa mi animación cuando quiera crearla dentro de procesamiento. Si vas a herramientas y luego vas a la película Maker, un interior de moviemaker, vas a elegir la carpeta donde tienes toda tu imagen va a ir al
escritorio porque ahí es donde tengo mi archivo de rotación. Y luego estoy eligiendo salida. Y ahora si lo abro, va a cambiar el camino por aquí y ahora por ancho y alto, voy a revisar. mismo tamaño es original. Si no quieres comprobar esto y quieres cambiar el tamaño puedes, pero es mejor usar el mismo tamaño para que no arruines tu animación. Y luego voy a elegir la misma velocidad de fotogramas que mi amigo justo en el diseño. Entonces haré 60 y dejaré la compresión como animación. Y si quieres arrastrar un archivo de sonido a esto, puedes ah, puedes agregar uno para que puedas agregar puede ser música a tu diseño. Y luego voy a decir, Crea película y luego me preguntará dónde guardarla. Voy a guardarlo en la misma carpeta de mi sketch Nikkan. Nómbralo como quieras, así que voy a llamarla Película de Rotación. Y ahora, si ejecuto la película que la creo, obtendré la misma animación que guardé de mi boceto. Tuve un problema al abrir este archivo de película en jugador de tiempo rápido, pero puedes abrir una envidia Elsie o cualquier otra. También puedes convertir tu película a MP cuatro y subirla a cualquiera de tu
plataforma de redes sociales . Ahora, para una última forma de guardar, vamos a guardar un archivo vectorial. No, volveré a mi primer ejemplo y a la sección tipógrafa para mostrarte cómo guardar
archivos vectoriales o un archivo Pdf que puedes abrir un ilustrador y manipular aún más. No, este tipo de ahorro es un poco más complicado que los otros, pero sigue siendo muy fácil de lograr. El primero que necesitas es la biblioteca pdf desde el procesamiento. Para importar una biblioteca en procesamiento, solo
puedes usar la palabra clave import y la biblioteca de procesamiento o la biblioteca pdf dentro del procesamiento está dentro de esto. Entonces si escribes procesando dot pdf y luego puntos y luego una estrella, lo que significa cada clase o cada función y lado de pdf ahora puede tener acceso a guardar PDS y luego para guardar PDS, tienes que abarcar todo lo que tienes creado. Entonces si pones los métodos de ahorro por aquí, entonces tu archivo va a tener trazos porque no vio ningún golpe. Entonces no entiende que no quieres los trazos, así que tienes que ponerlo ante todo. Vas a tener que ponerlo delante del fondo a menos que cambies el color de fondo. Entonces lo voy a poner por aquí por ahora, y va como si esto empezara a grabar porque graba la pantalla hasta que detengas la grabación. Entonces voy a comenzar la grabación cuando primero inicie mi boceto así dentro de mi
función de configuración , y luego los argumentos que usas dentro de start record es el tipo de gráfico que vas a usar. Entonces aquí se va a mantener pdf y luego el otro argumento va a ser el nombre de tu archivo. Entonces lo voy a llamar solo factor dot pdf. Ahora, esto va a comenzar la grabación, por lo que van a empezar moliendo, y nunca se detendrá. Entonces si ejecuto esto ahora mismo y empiezo a escribir dentro de mi archivo, vas a ver un archivo vectorial que tiene cero kilobytes. Por lo que no tiene nada porque la grabación nunca terminó realmente. Por lo que tengo que añadir una condición o un lugar donde pueda terminar la grabación. Ahora puedes terminar la grabación al final de tu función de sorteo si tuvieras cosas pasando por aquí. Pero como estoy trabajando activamente en mi lienzo, no
puedo terminar la grabación de manera arbitraria en ninguna parte. Para eso, tendré que agregar otra condición si que comprueba una de las teclas de mi teclado que termina la grabación. Entonces voy a usar un condicional F. Y luego en lugar de tecla, voy a usar el código key coat tiene algunas de las teclas en el teclado, como flechas arriba, abajo y derecha e izquierda. Por lo que para poder rastrear y para que funcione, no
puedo usar la clave. Tendré que usar código clave. Entonces voy a caminar si el código clave es igual,
Uh, Uh, y todo esto lo puedes encontrar en la documentación y luego si el código clave también es si golpea la flecha arriba. El motivo por el que no usé ninguno del alfabeto es porque están acostumbrados a escribir las formas , pero usualmente nos uso para comenzar el disco y e. T. Y la grabación. Pero para este ejemplo, voy a usar sólo uno de los códigos clave que tengo que realmente no he usado dentro de mi programa. Voy a escribir y grabar. Entonces ahora si vuelvo a ejecutar esto y empiezo a escribir y luego golpeo la flecha superior y vuelvo a mi archivo, se puede ver que tengo mi estado de diseño ahora. Lo que es genial de los Pdf es que los puedes ver en cualquier tamaño, pero serán crujientes, por lo que son archivos vectoriales y no se comió Pixel y puedes abrirlos. Un ilustrador. Podrás encontrar todas estas realmente seccionadas, por lo que cada una de estas formas va a ser su propia forma, y también puedes volver a colorearlas. Puedes reorganizarlos como quieras. Entonces incluso si creas diseños dentro de procesamiento y quieres exportarlos para luego usar pulgar en un archivo vectorial o en un software vectorial, entonces puedes hacerlo fácilmente con PDS. Y ahora, si voy a la derecha, click en él y tú abres con puedo fácilmente abrirlo con Illustrator. Pero sólo tienes que saber que si lo abres un ilustrador, tendrá una máscara,
por lo que tendrás que
desabrocharla o soltarla y luego usar las formas que hay dentro. Esto es, por
supuesto, sólo va a funcionar con algunos diseños porque si lo hicimos con nuestro diseño estrella, por ejemplo, o uno de nuestros diseños de círculos locos, entonces no funcionará porque el archivo es va a estar muy contento para Illustrator ,
por ejemplo, de abrirlo porque encontrará muchas formas en ese archivo, y será muy lento para ti navegar por el archivo. Y de todas formas no tiene sentido reorganizar cosas así. Entonces incluso el ruido y la aleatoriedad donde usamos puntos y usamos el andador aleatorio que para el
procesamiento para abrir es extremadamente, extremadamente pesado. Por lo que no es buena idea guardarlo como PDF para abrirlo como ilustrador. Pero lo concibe como un PDF y luego convierte el PDF a PNG para que puedas usar una imagen de muy alta calidad. Esa sería una muy buena idea. Ya sabes, que en realidad terminamos todo lo relacionado con el diseño y exportación de nuestros diseños. Estás listo para algo de inspiración. Entonces en el siguiente capítulo, voy a hablar todo sobre la inspiración donde se puede conseguir más a trabajar por el arte generativo o desde donde se puede conseguir más práctica así que ve al siguiente capítulo para aprender más sobre eso
45. Capítulo 5: pensamientos finales: felicitaciones por llegar hasta aquí. Es hora de saber a dónde ir desde aquí. Final Tractor se trata de entender cómo codificar por tu cuenta leyendo la documentación y pasando por ejemplos, encontrando tutoriales y alimentando tus ojos con mucha inspiración. No puedo recalcar lo importante que es la documentación. En cuanto a un programador, es básicamente que eres susceptible de todo lo que necesitas saber. Tenemos suerte de que la página de referencia de procesos ings sea extremadamente útil. Con el excedente de ejemplos en todo, te
recomiendo encarecidamente que empieces por ahí y explores las posibilidades que les brindan. Una vez que sientas que estás listo para abordar algunos proyectos más avanzados, puedes intentarlo. Los retos de Daniel Schiffman en YouTube fueron incluso visitar su naturaleza de página de códigos, donde se puede aprender todo sobre la física de simulación y mis agentes favoritos de Rickard. Y si eres una persona del libro que el diseño tentativo del libro escrito por cuatro artistas cuyos nombres no voy a tratar de pronunciar es increíble y se sumerge en muchos
temas más avanzados que esta clase. También hay una sección sobre visualización de datos. Si te gusta eso también aquí en la cuota de habilidad, si buscas arte generativo o codificación creativa, puedes encontrar algunos artistas cuyas clases son divertidas para tomar agenda. Artista llamado Melissa es uno de mis favoritos ahora, por alguna inspiración, Instagram es definitivamente el camino a seguir, Dr Hashtags generativo o creativo codificación. Y para que algunas personas específicas sigan, recomiendo estas increíbles cuentas.
46. Proyecto final: Ahora es tu turno para tu proyecto. Nuestro dinero para incluir al menos dos conceptos del tractor de diseño Basics. Por ejemplo. En este proyecto, usé forma y color. Y para éste, yo s en forma e imagen. Depende de ti cómo quieras combinar estos siempre y cuando estés siendo creativo con él. Este es un puntaje básico, así que no espero que hagas proyectos enormes. Es meramente una demostración de su comprensión de este curso. Además no todo gran proyecto tiene una matriz de colores. blanco y el negro siguen siendo considerados parte del módulo de color. Algunos grandes artistas, como un bronceado Jacob usaba blanco y negro en sus animaciones. Entonces si sientes que quieres crear una obra de arte con formas en blanco y negro, entonces hazlo tu proyecto tiene que ser fiel a ti.