Transcription
1. Introduction: Bonjour, tout le monde. Je m'appelle Hadeel, et c'est de retour à l'essentiel. Votre guide sur le traitement d'Internet à part dans ce cours apprendra les tenants et aboutissants du codage
et du traitement, et nous aurons de nombreux exemples pour pratiquer les principes fondamentaux de toute création d'art génital . Quand j'ai commencé à coder créatif, j'ai regardé tous ceux qui sont beaucoup plus avancés et je me suis toujours demandé comment ils pouvaient le faire. Je passe des jours à essayer d'apprendre, mais ce que je n'ai pas réalisé, c'est que je ne comprenais pas complètement les bases. C' est pour ça que je t'apporte ce cours. Comme je crée des cours d'art plus génératifs, je veux être sûr qu'il y en a un que les enseignants les blocs de construction ainsi que de montrer que votre ressource est une source d'inspiration pour avoir un répertoire global d'informations. Par conséquent, dans cette classe va d'abord passer par le traitement ey pour comprendre comment cela fonctionne, nous allons apprendre à programmer et à traiter à partir de l'initialisation de variables orientées objet programmation afin que nous puissions plus tard plonger dans les bases de conception de art génératif avec de nombreux exemples vous aidant à comprendre les différentes techniques. Les artistes génitaux qui emploient leur travail bien après passent par les différentes façons d'enregistrer et d'exporter votre travail en fonction du type de projet que vous créez. Et enfin, je vais partager avec vous. Une ressource est une source d'inspiration qui m'a aidé à apprendre et à créer des œuvres d'art plus génératives. Maintenant cessera de faire glisser le central, plus loin et commençons à apprendre.
2. Chapitre 1 : Traitement de la UI: avant de commencer, tout devra sortir traitement, Bien
sûr. Ok, Donc avant que nous téléchargeons le traitement ou que vous voulez juste vous montrer quelques choses que vous pouvez faire maintenant , la première chose que vous devez savoir sur le site Web ou tout langage de programmation lorsque vous démarrez est la référence appât. Il doit toujours chercher la documentation parce que la documentation vous montrera tout ce que vous devez savoir sur ce programme et comment l'utiliser. Disons que je veux créer un cercle. Ensuite, je vais voir Judy Primitives à l'intérieur de la forme, et tu peux voir le cercle ici pour qu'il puisse entrer en cercle. Je peux voir un exemple qu'il peut utiliser. Parfois, il a, um parfois il affiche à quoi cet exemple va ressembler parfois vous allez devoir
utiliser l'exemple à l'intérieur du traitement juste pour voir à quoi il ressemble. Et puis ça va vous donner une description et,
ah, ah, les paramètres ou la syntaxe de la façon de l'utiliser, puis les paramètres que vous allez utiliser à l'intérieur de celui-ci et ce qu'il renvoie. Si c'était des tendances, n'importe quoi et alors il va vous montrer les fonctions ou propriétés associées, um, de cette forme ou cette fonction ou propriété dans laquelle vous allez. Et si vous allez à la page de référence, vous pouvez voir qu'il y a beaucoup de choses que vous pouvez apprendre sur le traitement. J' utilise une très, très minuscule langue de toute cette page de documentation. Hum, et ça peut faire beaucoup. Imaginez ce que vous pouvez faire. Vous pouvez utiliser tous ces éléments. Il y a aussi une section tutoriel, mais je vais à chaque fois que je suis coincé quelque chose que je ne me souviens pas comment le faire ou si je veux o diriger quelqu'un à apprendre sur le traitement que je voudrais juste les diriger ici parce qu' il y a tellement de vidéos et des articles et comment créer certaines choses. Donc, il y a de grands tutoriels ici, et ils ont des sujets différents. Ou si je vais dans les images et les pixels, vous pouvez voir que c'est un article ou opposé où vous pouvez voir beaucoup d'exemples et explique , Ah, beaucoup de choses que vous pouvez utiliser avec des images et des pixels. Donc, il est très utile si jamais vous avez besoin d'apprendre un peu plus que les cours qu'il peut que vous trouverez en ligne comme mon cours. Et puis il y a aussi la section exemple dans la section Exemple. Vous pouvez voir des exemples relatifs aux différents sujets en cours de traitement. Disons la couleur et je vais à Hugh. Vous pouvez voir un exemple de la façon dont vous utiliseriez Hugh, par
exemple. Donc, pour cela, c'est en fait changer la teinte au fur et à mesure qu'ils montent et descendent l'écran. Et puis ça va créer des rectangles quand je vais sur le côté droit de mon côté. Donc, ceux-ci sont très utiles pour vous d'avoir une idée de tout dans le traitement que vous pouvez utiliser. Non, il y a aussi des livres que vous pouvez lire que vous pouvez acheter et attendre. C' est pour principalement pour les débutants, mais certains d'entre eux sont assez utiles, et je suis l'un de mes préférés est la nature du code. En fait, euh, parce qu'il s'agit de simulations, et j'adore les simulations, et ce livre est disponible en ligne gratuitement. Si vous allez sur le site Web, il y a un autre côté gauche,
comme le traitement de l'apprentissage. Il a beaucoup de bons exemples. Certains de ces livres, comme Tes deux, sont de Casey Reyes, qui est l'un de mes artistes préférés. Eh bien, alors allons à la page de téléchargement. D' accord ? Maintenant, dans la page de téléchargement, vous allez juste choisir votre système, et il va le télécharger pour vous. Je ne vais pas regarder en ce moment, parce qu'il va vraiment le faire télécharger. Ok, alors passons au traitement après qu'il ait téléchargé pour vérifier le que vous je Ok, passons par le Vous, je dis que je peux comprendre ce que je fais quand je lance le programme ou arrête le programme. Ou si nous voulons planter quelque chose au consul, vous savez déjà où tout est. Donc, la première chose que je veux vous montrer est le jeu et avec un bouton d'exécution et d'arrêt, et ceux-ci ont essentiellement gagné les programmes et l'arrêter afin qu'ils ne fassent rien de spécial en ce
moment , vous pouvez voir que la taille par défaut est en fait 100 pixels de 100 pixels. Et c'est pourquoi habituellement changer la taille de la première chose. Quand,
quand je commence à programmer quoi que ce soit parce que ce n'est pas une taille idéale pour quoi que ce soit. Vraiment. Ok, c'est le
bouton de débogage Ah . Et ça ressemble à un petit insecte. Et si vous cliquez sur. Il pourrait en fait obtenir cette fenêtre vide où vous avez un nom et une valeur. Et c'est là que vous pouvez voir vos variables lorsque vous déboguez et vous pouvez voir qu' ici tout a changé. Tous les boutons ont changé. Je sais que vous avez un bouton de débogage , ce qui signifie l'exécuter en mode débogage. Donc, si vous avez des erreurs et que vous ne pouvez pas trouver ces erreurs, le débogage remarqué est assez décent, et il vous aide à trouver pourquoi certaines variables n'est pas vide, par
exemple, ou pourquoi c'est votre cercle ne bouge pas ou votre formes ou quoi que ce soit. Et Destro est vous toutes les variables que vous avez un point de rupture devant et quelle valeur ils ont. Mais je n'utilise pas nécessairement cela quand je veux un débogage. J' aime imprimer des choses, le consul en utilisant la fonction de ligne d'impression. Je préfère juste le faire de cette façon pour d'autres langages de programmation. Je fais aussi la même chose. J' ai juste imprimé des choses au consul. Hum, il y a seulement quelques moments où un débogage utilisé, mais si vous regardez vraiment, si vous l'avez utilisé auparavant dans d'autres langages de programmation, alors je recommande de regarder Daniel Schiffman voir la vidéo YouTube en profondeur sur le bugger D et il vous
aidera à comprendre comment l'utiliser s o Généralement, ce que vous faites est de jouer le programme, et comme vous le jouez où vous mettez des points de rupture, vous allez voir les variables ici avec leurs valeurs en termes. Peut-être que les valeurs de l'air, pas juste. Et cela vous aide à comprendre pourquoi quelque chose ne fonctionne pas et ce qu'il est. Ce qui est si puissant dans le bogueur D, par
opposition à votre impression au conseil, c'est que tout le programme s'est arrêté. Donc, toute l'animation s'arrête et vous pouvez simplement l'utiliser pour passer par les étapes. Donc, si vous étiez à l'intérieur de ah, Loop et que vous ne savez pas, nous ne comprenons pas pourquoi quelque chose ne fonctionne pas et blanc ou quelles valeurs sont réellement
présentées,
Euh,
pour vos formes ou pour n' présentées,
Euh, Euh, importe quel autre Tu as besoin, Teoh, prends cette variable. Ensuite, c'est un bon moyen de déboguer votre manteau car alors vous pouvez simplement l'étape et vous pouvez
le passer étape par étape. Et puis il y a le continuer, qui vous permet de sauter par-dessus quelque chose. Et puis il y a un bouton d'arrêt à nouveau. Je ne vais pas expliquer ça parce que je ne l'utilise pas vraiment, donc je ne comprends pas complètement comment tout fonctionne. J' ai marché la vidéo de Daniel Schiffman, mais je pense que c'est mieux si tu la regardes toi-même. Si vous voulez l'utiliser tout. Si vous l'éteignez que tout revient à la normale, et alors c'est une partie très importante dans le traitement pour beaucoup de gens qui aiment utiliser. D' autres déchargeurs de programme ont été bien utilisés Teoh autres langages de programmation et une utilisation que pour créer de l'art génératif. Je fais généralement mes classes en Java eso en mode Java, mais il y a d'autres modes ici. Ah, il y a un froid p cinq Js, qui est fondamentalement un autre framework, donc c'est similaire au traitement, mais il est construit sur JavaScript au lieu de Java, et ils avaient l'habitude d'avoir un éditeur comme celui-ci. Mais maintenant ils ont juste un éditeur Web, et je pense que c'est beaucoup plus simple et plus facile à utiliser parce que je veux dire P 5 robe, ou JavaScript est destiné au Web, donc il est beaucoup plus facile de l'utiliser réellement dans un navigateur que si vous, parce que si vous utilisez ce mode que chaque fois que vous l'exécutez,
il ouvrira un navigateur pour vous, et je trouve cela vraiment ennuyeux parce que l'éditeur Web a un vous beaucoup plus simple je où vous pouvez réellement voir votre travail directement dans le côté droit de votre et vous pouvez réellement le faire. Ah, je pense à la réalité. Donc, pendant que vous
codez, vous pouvez voir votre odeur de code en cours d'exécution, ce
qui est assez agréable. Mais je n'aime pas la robe cinq parce que c'est beaucoup plus lent pour certaines choses. Je pense que le traitement est beaucoup plus puissant pour beaucoup plus rapide,
à mon avis,
peut-être parce que c'est dans un navigateur,
je ne sais pas. Je pense que le traitement est beaucoup plus puissant pour beaucoup plus rapide, à mon avis, , peut-être parce que c'est dans un navigateur, Mais si vous avez déjà utilisé le script Java, et si vous pensez qu'il est beaucoup plus facile d'utiliser P five dress que de le faire, vous pouvez également suivre mes tutoriels en utilisant Java. Et vous pouvez traduire tout cela en déposant un script. Donc, c'est à vous de décider comment vous voulez utiliser le traitement. Il veut l'utiliser avec le mode drame ou P cinq robe. Il y a aussi un mode python. Je n'ai jamais vraiment utilisé ça avant, donc je ne sais pas vraiment comment ça marche, mais il y en a un. Donc, si vous avez utilisé Python auparavant, cela va vous être utile. Donc, lorsque vous téléchargez le logiciel pour la première fois, vous ne verrez pas tous ces modes. En fait, tu ne verras que le tirage au sort. Um, je pense que c'est juste une goutte. Donc, si vous voulez ajouter les autres modes juste à eux, je viens de les ajouter pour vous montrer qu'il y a d'autres modes. Et tu penses comme sur Agg ? Non, juste pour vous montrer vraiment le meilleur, euh, vous pouvez voir qu'il y a aussi un mode Android Il y a notre pour le traitement si vous avez déjà utilisé notre pour l'analyse de données, euh, et les données visualisation. C' est aussi cool. Um, ouais. Je ne sais pas vraiment beaucoup sur les commerçants, mais je sais qu'il y a beaucoup utilisé avec le traitement, donc vous pouvez peut-être vérifier ça si vous savez quelque chose à ce sujet. D' accord. Ensuite, vous pouvez voir le fichier ou le toucher. C' est là que vous avez votre fichier d'esquisse ou votre esquisse. Fondamentalement, les fichiers de
traitement sont appelés esquisses juste parce qu'ils produisent de l'art, et ensuite vous avez des touches ici, donc si vous voulez ajouter un nouvel onglet, vous pouvez l'appeler n'importe quoi. Donc, je vais colorier juste nouveau robinet et vous pouvez avoir un nouveau fichier. Donc, tout ça allait l'être. Lorsque vous enregistrez ceci, tout cela sera à l'intérieur du dossier d'esquisse. Donc, lorsque vous enregistrez une esquisse de traitement, il va créer un dossier et chaque fichier que vous ajoutez ici, il va l'ajouter à ce dossier. Ah, et c'est un excellent moyen si vous voulez organiser vos fichiers. Donc généralement, quand je crée des classes, je les mets ici. en Et tuenapprendras plus sur les cours plus tard dans ce cours. Ah, si je veux peut-être avoir des palettes de couleurs que j'ajouterai un nouveau fichier pour ça juste deux choses
distinctes. Et pour le rendre plus propre, il est beaucoup plus facile pour vous de naviguer dans votre code car avoir tout dans une pile est un idéal parce que vous avez beaucoup fait votre entrée à l'école, et ce n'est pas bon. Ça ne va pas t'aider. Ça va juste rendre les choses plus difficiles pour toi. Ok, et puis il y a le mensonge de numérotation ici. C' est génial pour le débogage. D' habitude, c'est là que je l'utilise, mais je ne regarde pas vraiment les numéros de ligne. C' est aussi bon pour expliquer ce que vous voulez expliquer à quelqu'un juste lui dire que pour regarder une certaine ligne, il est beaucoup plus facile de simplement les laisser regarder dans l'ensemble du programme. Last but not least, il y a la console. C' est ma partie préférée chaque fois que je veux un débogage ou voir quelque chose visuellement Ah, parfois certaines des choses que vous juste ici dans votre code ne vont pas apparaître dans l'illustration. Ainsi, les positions, par
exemple, les nombres ne vont pas s'afficher à moins que vous n'ajoutiez un texte, observez votre écran et attachez la position à cela. Ensuite, vous pouvez voir les chiffres. part ça, je ne verrai aucune valeur. Donc, si vous voulez voir ça, vous pouvez l'imprimer au conseil. On va passer par ça aussi au bout du tracteur . Nous allons donc voir comment fonctionne la ligne d'impression d'un ami dans la façon dont nous pouvons utiliser tout cela. Et puis, si vous avez des erreurs, ce soit la syntaxe, erreurs, eso si j'écris quelque chose, vous pouvez voir les erreurs ici, ils sont très utiles pour réparer vos heures. Donc, si vous voulez réellement regarder dans la zone et copier notre message, puis vous pouvez aller chercher. Est-ce que c'est Google ? Et ici aussi, vous pouvez voir des erreurs. Donc, quels que soient les problèmes que
vous pourriez avoir, vous pouvez voir ici et ensuite il va vous dire quel robinet il est sur. Donc, si c'est dans ce top ou dans ce truc, et alors ça va vous montrer ce qui va se trouver dans son eso Si vous nos 12 en ligne alors il
va vous dire que l'erreur est en fait là. Ok, donc ça a juste besoin de savoir à propos de toi je C'est assez simple. Il n'y a pas grand-chose, Sénateur. Vous pouvez me suivre beaucoup plus facilement parce que vous ne saviez pas où tout est. Donc si je t'avais dit d'ouvrir un nouvel onglet, tu sais où aller. Si je vous ai dit de regarder la console, vous savez où cela passons à la section suivante où nous pouvons réellement en apprendre davantage sur la programmation
3. Chapitre 2 : Java dans le traitement: dans ce chapitre, il est crucial que Papa pratique à mes côtés de moi pour vous familiariser avec les concepts. C' est toujours mieux de l'essayer vous-même. C' est personnel. L' expérience colle mieux. Nous allons pratiquer dans ce tracteur est tout ce qui est utilisé dans la programmation en général et dans le traitement. Plus précisément, la première moitié sera sur les concepts de base de la programmation tels que les variables, contrôle de
flux et les fonctions et les classes. Et dans l'autre moitié discutera des variables système et des fonctions que vous n'avez pas besoin de créer vous-même. Entrées utilisateur via la souris ou le clavier et l'outil le plus utilisé dans de nombreux
projets artistiques génératifs . aléatoirement. Et enfin, nous allons parler un peu d'une partie très importante du codage qui est souvent négligée par les débutants , qui était la structure du code et l'organisation qui engloberont l'annotation de votre code et le
séparera en plusieurs fichiers. Maintenant, créons un nouveau fichier de traitement et commençons
4. Environnement: Donc, avant de commencer à expliquer ou à taper dans les types de données et les variables, les classes et les
fonctions et tout cela, j'ai besoin d'expliquer l'environnement. D' abord, eso comme vous pouvez le voir devant vous, j'ai deux fonctions, et je vais juste les appeler fonction, et vous allez en apprendre plus sur le traducteur et comment créer la vôtre. Mais le est venu nativement avec le traitement. Donc, au centre de la fonction, vous mettez tout ce que vous voulez être initialisé ou exécuté une fois, donc ce n'est pas pour l'animation. Habituellement, ce n'est pas pour afficher des formes si, moins que ce soit juste ah, la
forme comme la base de votre conception que vous voulez seulement en faire, puis parce que vous voulez créer quelque chose à l'intérieur de la fonction de dessin, où il boucle encore et encore. Ensuite, vous venez de mettre dans l'ensemble de la fonction. Et dans la fonction de dessin, vous mettez tout ce que vous voulez être fait encore et encore. Donc c'est une boucle sans fin. C' est fondamentalement une boucle infinie, donc quoi que vous y mettiez, ça va être fait infiniment encore et encore. Donc, si je veux dessiner un cercle là-dedans. Il va dessiner le même cercle encore et encore au-dessus de lui, jusqu'à ce que vous arrêtiez le programme. Donc jusqu'à ce qu'on appuie sur le bouton stop , la raison pour laquelle je veux que tu saches à ce sujet, c'est parce qu'on va travailler dans la fonction de mise en
place et de dessin tout le temps. Je vais avoir besoin d'un endroit où tout mettre en place et d'un autre endroit où vous pouvez animer si jamais vous avez besoin d'animer des trucs. Et vous pouvez essentiellement recréer la fonction de dessin en utilisant une boucle dont nous allons parler plus tard appelée une boucle while où vous diriez, alors que vrai Et c'est quelque chose que beaucoup de programmeurs python font chaque fois qu'ils veulent quelque chose courir jusqu'à ce qu'ils veulent arrêter, il est pris. Faites-le en écrivant une boucle qui ne se termine jamais et instantanément. Donc ils l'ont créé pour vous, où vous pouvez dessiner n'importe quoi à l'intérieur. Il y a un moyen de l'arrêter et peut-être de dessiner un séchage statique à l'intérieur de la goutte Funcated. Je l'ai fait avant, euh, et mes autres cours et vous pouvez utiliser la fonction no loo pour ça, donc ils savent que la fonction live va arrêter ça de boucler. Donc, ça va être un peu similaire à l'ensemble de la fonction où tout à l'intérieur fonction de
doctorat va être fait une fois. Et puis il y a aussi une autre fonction qui est très utile chaque fois que vous voulez un nous dessinons quelque chose. Donc, si vous arrêtez boucle et que vous avez une fonction de tirage, Mais alors vous voulez que l'utilisateur clique peut-être sur l'écran pour obtenir une nouvelle vierge sur le dessin , euh, tout pourriez-vous utiliser ? Euh, nous dessinons la fonction pour ça. Alors peut-être que je peux dire, et je vais juste l'écrire dans les commentaires si une souris est pressée et si, où je C'est ce qu'ils appellent le code de studio. Quand vous écrivez des choses dans des commentaires, juste Teoh rationalise ce que vous faisiez, donc je vais juste l'écrire dans Supercuts. Ce n'est pas nécessairement un vrai code qu'il écrirait, Donc si les montants sont pressés, alors je veux que vous meniez le tirage au sort. Je vais juste dessiner à juste titre comme ça parce que je ne veux pas l'écrire à l'intérieur des commentaires. Juste c'est pour que vous puissiez voir qu'il est coloré que c'est une fonction réelle sur le traitement. Alors nous dessinons. Donc si je veux Oh, chaque fois que je clique sur la souris, ça va redessiner. Donc, nous dessinons va essentiellement exécuter tout à l'intérieur de la fonction de dessin à nouveau. Donc, chaque fois que vous appelez, nous dessinons, ça va appeler la fonction de tirage. Disons que je veux dessiner un cercle et que je veux l'essayer à nouveau. Je pourrais juste faire redessiner chaque fois que la souris est collectée ou chaque fois qu'un clavier est cliqué. Ça n'a pas d'importance. Ah, quand vous voulez être sec, il peut peut-être sécher. Nous dessinons tous les 10 cadres environ. Ok, c'est seulement besoin de savoir sur l'environnement. Euh, seulement besoin de savoir est l'ensemble des fonctions exécute celles qui abandonnent les répétitions de fonction. Et puis, si vous voulez arrêter la fonction de dessin d'un battement, vous pouvez simplement utiliser la fonction no look, et vous pouvez utiliser le redessiner de Shinto. Appelez simplement la fonction de dessin à nouveau pour exécuter tout à l'intérieur. Encore un foie. Maintenant, allons dans le prochain modèle
5. Integers et flancs: stocker des informations dans la mémoire dans différents types de données tels que les nombres et le texte dans ce module discutera deux types de nombres. Entiers en flottants. Puisque les entiers sont des nombres entiers, ils sont parfaits pour le comptage ou pour toute fonctionnalité qui ne nécessite pas de précision. Les flotteurs, revanche, sont plus précis, ils sont
donc utiles pour les calculs de division. Par exemple, disons que je veux diviser l'écran en rectangles égaux. Et à flot est la façon d'aller en entier autour des nombres, ce qui ajoute plus de lacunes indésirables dans le tourisme. Les flotteurs sont parfaits pour de multiples utilisations, dont
certains sont le positionnement d'éléments sur le canevas, définition d'une taille ou l'animation. Alors, comment définissez-vous ces deux types de données pour définir une variable ? Utilisé le mot-clé type de données ici Il est soit dans ou flotter un nom de votre choix et de votre valeur. Il y a des cas où vous n'affecteriez pas de valeur à un stade de définition de variable, et cela ressemblera à ceci et au traitement. Bien que les nombres soient initialisés avec une valeur de zéro par défaut, voyons un exemple
6. Exemple : Exemples et flèches: c' est démontrer où nous avons appris des entiers et des flottants. La première chose que je veux faire est de parler un peu de l'exemple que je vais créer. Donc, nous avons dit que les entrées et les chars sont parfaits pour Anna rencontrer Frandsen. Donc, je vais créer une toute petite animation juste pour vous montrer comment utiliser des variables et spécifiquement dans les tickers dans les flotteurs. Ok, je vais utiliser une fonction de forme appelée cercle. Je vais rester avec le cercle pour toutes ces démonstrations et ce tracteur, juste parce que je n'ai pas encore introduit les fonctions de prise, donc je ne vais pas en inclure trop. Ça va être un cercle, et je vais vous expliquer comment ils fonctionnent. Euh, juste pour ces démonstrations pour commencer par le cercle, je vais dessiner le cercle juste pour vous montrer à quoi ça ressemble. Ensuite, nous pouvons utiliser les variables. Donc, Circle nécessite trois arguments. Le 1er 1 est l'exposition à l'écran. Le 2ème 1 est la position blanche sur l'écran, et le 3ème 1 est la taille. Donc, pour le 1er 1, je vais juste le mettre au milieu de l'écran. Depuis notre écran a une taille de 400 par 400 pixels. Donc, le milieu va être 200 mains sur l'axe Y. Je vais faire 200 aussi, et ensuite je vais lui donner une taille de 20. Maintenant, nous savons déjà que c'est l'exposition, et pourquoi la position ? Pour déplacer ce cercle, je vais devoir les changer en variables afin que je puisse incrémenter ces variables. Maintenant, si je viens de gagner ça maintenant, je vais avoir un cercle au milieu de l'écran. Mais je veux le déplacer. Je veux le déplacer vers la droite ou vers la gauche ou vers le haut et le bas. Ok, donc on a déjà parlé de la mise en place et du tirage au sort. Donc, je vais créer une animation et ne pas faire un cercle dessiné encore et encore. Je dois à la couleur de fond ici. Donc, chaque fois qu'il va dessiner la couleur de fond et puis le cercle, si je vais les apprendre, le cercle donc il va regarder comme si j'avais déjà un cercle. Je ne suis pas beaucoup au-dessus de l'autre, et j'allais avoir l'air plus propre quand avant c'était, tu sais, un peu bizarre parce qu'il y en a beaucoup trop sur l'autre. Ok, maintenant je veux déplacer la position X. Donc ce que je vais faire est de créer un entier et de l'appeler X, et je vais lui donner une valeur initiale de zéro. Même si vous ne le faites pas, les valeurs initiales du faux héros. Mais j'aime le faire. Juste pour être capable de savoir que je voulais commencer à zéro. D' accord ? Non, pour l'animer, je vais écrire X et puis plus l'ancienne valeur de X plus de la valeur annuelle ou cette
valeur d'étape je vais juste faire je sais que cela semble un peu bizarre d'utiliser la même variable encore et encore à l'intérieur de lui-même. Mais, euh, ce que je fais, fondamentalement, est d'assigner et vous de la valeur à l'ancienne variable au lieu d'avoir beaucoup de variables, ce qui n'a aucun sens. Parce que si je veux faire une animation de 10 images que je vais avoir 10 x ah, variables, ou je vais avoir une boucle for pour créer toutes ces variables pour moi, ce qui n'a aucun sens. Alors ? Donc, la façon dont vous feriez cela est juste de faire X, qui signifie que l'ancien X que nous avons ici un signe c'est l'ancienne valeur de X. Donc c'est un peu comme chose que vous X. Ils disent Ok, maintenant X va égaler tout ce qu'il était avant. En plus, disons un, donc je veux que ma taille de pas soit d'un pixel. Non, si je fais ça, rien ne se passera parce que je ne l'ai pas vraiment utilisé ici dans mon cercle. Donc maintenant je pourrais juste faire X au lieu de la 200. Maintenant, cela ne va pas commencer. 200 va commencer à zéro. Mais c'est très bien. Si je voulais commencer un 200, je vais devoir l'initialiser un 200. Et faisons ça pour l'instant, juste pour rendre l'exemple de C'est plus simple, tu sais qu'il va passer du centre vers la droite. Maintenant, cela se déplace parce qu'il a commencé un 200 puis à chaque fois, en ajoutant vouloir à elle. Donc c'est 201 202 203 et nous ne pouvons pas nécessairement voir ou juste parce que le nombre de trames est par défaut, 30 images par seconde et donc nous ne voyons pas nécessairement. Tu le vois ? Mouvements, chaque pixel. Non. Si je veux que ça soit plus lent, je peux juste faire 0,5, mais ça ne marchera pas. C' est ce dont j'ai parlé quand j'ai dit que si je veux un mouvement plus précis ou un plus précis, positionnement plus précis, alors je vais devoir retourner. Donc je vais changer ça en flot et ça va marcher. Et maintenant, je peux être encore plus précis avec mes mouvements. Donc, si je voulais être très, très lent, je peux faire 0,5. Je peux aussi faire 0,1, ce qui va être très lent. Um, et c'est utile quand vous créez un dessin. Donc, si je veux dessiner ça et que je veux o effacé fond, il va dessiner va être plus lisse. Mais si je fais plus un, alors ce sera une malle ici. Et si je le fais, plus trois va être même Trunk ici et ainsi de suite et ainsi de suite en raison du mouvement est très rapide. Donc, il bouge. En fait, trois grandes âmes chaque étape franche et c'est quelque chose en fonction de ce que vous
cherchez . Certaines personnes aiment ce coffre. Vous regardez, certaines personnes style, ont des mouvements e très ivres de style gens ont un mouvement très lisse qui ressemble à une peinture à la fin. Cela dépend donc de ce que vous cherchez, ce que vous voulez créer. Maintenant, si je veux bouger du côté opposé,
je peux juste dire un moins trois à la place et celui-ci va bouger dans l'autre sens, et nous pouvons faire la même chose pour pourquoi il est juste flottant large et commençons à 200 et puis Je vais changer ça pour pourquoi. Et maintenant ça va se déplacer sur le côté gauche très vite et en bas, euh, pente. Donc si je voulais être très diagonale, alors je vais juste venir trois degrés et ça fera 45 degrés. J' allais passer par le coin, donc c'est essentiellement ce que tu peux faire avec des chars et des vêtements. Et il y a certainement beaucoup d'exemples qui vont bientôt venir qui utiliseront flotteurs et introduiront beaucoup. Donc, dans chaque démonstration, sont qui vont venir après que les types de données va être quelque chose qui utilise certains de ces types de données à nouveau. Donc, si vous les parfaites, vous pouvez facilement aller aux modules suivants.
7. Couleur: Ce type de données est un peu différent, mais tout ce que nous devons savoir à ce sujet, c'est qu'il stocke les couleurs des valeurs Fred Green, bleu et Alfa. Ces valeurs vont de 0 à 2 55 Le type de données de couleur est utilisé avec les
fonctions de trait de remplissage , qui seront visitées plus tard pour déclarer une variable de couleur. Vous ajoutez le mot-clé color avant le nom de la variable pour la valeur. Il y a différentes façons de le stocker. Vous pouvez utiliser un code hexadécimal ou utiliser la fonction couleur avec 13 ou quatre paramètres. Si vous utilisez un paramètre, vous stockez une valeur de niveaux de gris du noir au blanc. Si vous utilisez trois, vous stockez un spectre de couleurs RVB, c'est-à-dire toutes les couleurs qui sont le résultat de la combinaison du rouge, vert et du bleu. Disons que vous avez 255 pour le rouge, zéro pour le bleu et zéro pour le vert. Ensuite, vous avez une couleur rouge vif. Il en va de même pour le bleu et le vert. Le quatrième paramètre est pour la valeur alfa ou, en d'autres termes, la valeur de passage A. La transparence peut ajouter une autre couleur à votre scène sans ajouter une autre valeur de couleur. Pour mieux comprendre ce type de données, je recommande de l'essayer vous-même. C' est notre repère pour voir un exemple
8. Exemple : Couleur: OK pour l'exemple de couleur. Je veux commencer par parler de la fonction d'arrière-plan où la fonction d'arrière-plan utilise réellement les données de couleur. Et comme je l'ai expliqué dans la vidéo, quand j'utilise une seule variable, alors j'utilise une valeur du noir au blanc. Donc, de 0 à 55. Alors maintenant, j'ai un fond de blanc. Et si je change ça à zéro, je vais avoir un fond noir. Donc, c'est fondamentalement la couleur. , Dans la vidéo, j'ai dit qu'on utilisait la couleur surtout avec Phil et les fonctions de course, et c'est exact. Ces air, les fonctions que j'utilise avec les formes. Mais j'ai oublié de mentionner la fonction d'arrière-plan, qui utilise également la couleur du type de données. Et c'est une ferme utilisant 200 ça me donne super. Alors je vais y retourner. Teoh, attends. Juste parce que c'est ce que je commence, habituellement avant que j'établisse un design et qu'elle est ma palette de couleurs, ok. Et pour définir une variable de couleur. Comme je l'ai dit, nous avons utilisé le type de données de couleur, et ensuite vous pouvez lui donner le nom que vous pensez approprié. Donc on veut dire si je veux avoir une couleur bleue. Je veux juste l'appeler bleu. Juste essayer Faire sens des valeurs avec le nom de la variable. Juste pour vous rendre plus facile une fois que vous commencez à travailler sur des projets plus importants sera beaucoup difficile pour vous d'aller et venir pour comprendre quelles variables vous créez et pourquoi. Ah, vous quittez ces variables que je n'aime pas vraiment en créant des variables avec un levier sauf si c'est quelque chose qui est assez commun pour beaucoup de gens à utiliser. Et je ne vais pas utiliser le bleu juste parce que Blue est en fait natif au traitement. Ok, donc je vais créer trois variables de couleur appelées, hum rdd. Donc le 1er 1 donne àavoir la couleur rouge. Et j'ai dit, Teoh Guy a plusieurs façons d'initialiser une variable de couleur. L' un d'eux utilise un code hexadécimal, ce
qui est ce que j'utilise habituellement dans mes classes ou dans mes projets personnels, car il est beaucoup plus facile d'utiliser six chiffres que d'utiliser une fonction de couleur entière avec 3 à 4 paramètres, surtout si vous avez une valeur Alfa. Donc, mais pour cette démonstration, je vais vous montrer la fonction appelant aussi. Donc, pour un rouge, je vais faire à 55 sont donc nous avons RVB dans la fonction de couleur pour les valeurs. Eso je vais donner la plus haute valeur au rouge et ensuite je ne donnerai aucune valeur au vert
et à votre valeur pour le bleu juste pour lui donner une couleur rouge vif et ensuite je vais utiliser Jeanne pour le vert pour faire la même chose. Je vais donner zéro pour le radicalisme. Un nouveau rouge. Je veux une couleur verte et je ne veux pas de bleu. Je vais faire la même chose pour le bleu. Donc, si quelqu'un qui utilise votre programme ou s'il partage votre programme avec quelqu'un, il va comprendre que cela signifie rouge et cela signifie vert et cela signifie bleu. Donc, c'est assez descriptif juste parce que les fonctions de couleur expliquent déjà ce que vous essayez de définir. Utilisez vos meilleurs jugements lorsque vous créez vos noms de variables. C' est à vous de décider comment vous voulez les créer, mais faites-les simplement assez descriptifs pour que tout le monde puisse les comprendre même si vous êtes le seul à regarder ce code et ensuite utilisons ces valeurs pour colorer nos cercles. Je vais rester avec les cercles à nouveau parce que nous n'avons pas encore introduit les fonctions de forme . Donc je veux utiliser une seule chose pour ne pas vous confondre. Ok, je vais le mettre au milieu de l'écran, donc je vais juste en faire 200. 200 parce que notre écran est 400 par 400. Hum, et la moitié de ça est 200. Et puis je vais lui donner une taille de 20 en fait, allons le rendre un peu plus grand. Donc je vais lui donner une taille de 100 et ensuite pour colorer ça. Donc, si vous jouez ça maintenant, vous pouvez voir qu'il est blanc avec un coup noir. Donc, ce sont en fait les valeurs par défaut pour la fonction de contour et de remplissage. Ah, mais on va changer ça. Donc je vais faire Phil. Je vais lui donner la couleur rouge. Je veux choisir la boîte rouge. Non, il peut voir qu'il a un remplissage rouge, mais maintenant le trait est toujours la couleur noire développée. Habituellement, ce que je fais est juste utilisé la fonction de médicament du nez et cela supprime l'accident vasculaire cérébral. Vous pouvez changer la couleur de votre coup,
alors peut-être que je veux lui donner une couleur verte,
leur couleurde groupe,
ils sont créés. Vous pouvez changer la couleur de votre coup, alors peut-être que je veux lui donner une couleur verte,
leur couleur de groupe, Et je peux voir. Et vous pouvez voir que ce que j'ai fait ici, j'ai utilisé un trait à l'intérieur de la configuration et j'ai utilisé pour remplir à l'intérieur de la fonction de dessin. C' est à vous de décider comment vous voulez faire cela, parce que c'est basé sur votre programme. Ah, pour ça, par exemple, je ne mets pas forcément le coup ici sauf si je veux que le même coup pour tout mon programme soit comme ça. Mais si je veux que ce soit spécifique à un cercle et que je vais le mettre ici, donc quoi que ce soit sous le coup de Fillon ici, il va être coloré. Alors maintenant, Circle va avoir un remplissage rouge et un trait vert. Mais si je crée un autre cercle et qu'on va le mettre à zéro pour 15 et 200 étant donné la taille de 100, je sais que si je fais
ça, ça aura la même couleur. Donc, si je veux le changer, je peux juste remplacer cela en écrivant une autre fonction de remplissage, et cette période de malaise pourrait être variable, qui est ma couleur bleue. Et je vais laisser le coup le même pour qu'il ait toujours le coup de reine. Mais si je veux changer le coup pour celui-ci aussi, je dois l'écrire avant ça. Donc je vais juste lui donner un coup rouge, va avoir un coup rouge. Donc, quoi que vous le mettiez avant la forme, il va la colorer avec ces couleurs. Donc si je ne veux pas d'accident vasculaire cérébral pour celui-ci, je peux juste faire un accident vasculaire cérébral. Ça ne va pas avoir d'accident vasculaire cérébral. Donc oui,
c' est comme ça que vous remplacez les couleurs. Donc, cette fois, je vais vous montrer comment le créer en utilisant du code hexadécimal. Donc tu vas faire la même chose. C' est une couleur, donc il va toujours avoir un type de données de couleur, et puis je vais juste faire une couleur blanche, et puis il va loger notre symbole et six s. Donc, cela va vraiment me donner une couleur blanche. Donc, si je le mets ici, euh, créons une couleur noire pour qu'on puisse la changer et voir comment ça ressemble à un engagement. Appelez ça noir, et j'utilise aussi un code hexadécimal. Et pour le noir, c'est en fait six zéros. La première fois que je vais utiliser le blanc, et ensuite je vais changer cet orteil noir. Vous verrez qu'il va s'entraîner au noir de sorte que les hacks vont fonctionner de la même façon que la fonction de couleur fonctionne, mais c'est beaucoup plus petit. Il est plus facile de trouver lorsque vous allez sur adobe color ou cooler ou l'un de ces sites Web où vous
avez des palettes de couleurs. Et si vous avez une multitude de couleurs, alors il est beaucoup plus simple de l'écrire de cette façon que d'écrire la fonction de couleur
encore et encore. Et même si vous voulez copier la couleur de l'un de ces sites Web, il est beaucoup plus simple à utiliser pour copier une couleur, puis pour copier une taxe que de copier les trois chiffres qui entrent à l'intérieur de la fonction couleur. Et une chose que je n'ai pas expliquée dans ma vidéo d'explication est que ces codes
hexadécimaux vont de 0 à 9. Donc chacun a fait il va effectivement de 0 à 9, puis d'un orteil après le A T F sont équivalents à 10 à 15. Mais parce que ces six chiffres de l'air donc ils l'ont substitué Ah, tout ce dont ils avaient besoin,
quelles lettres à la place ? Aussi, c'est pourquoi il y a une combinaison de chiffres et de caractères que pour le blanc complet, vous allez aller à la dernière valeur, qui est six EFS. Et puis, si vous voulez aller au noir, alors vous n'avez aucune valeur. Donc, ce sont des zéros. C' est fondamentalement comme de 0 à 55 à 55 est la valeur la plus élevée. C' est donc le plus brillant. Donc c'est blanc et zéro est pas de couleur ou pas de valeur. Donc c'est noir. C' est à peu près tout ce que nous avons besoin de savoir sur la couleur et nous allons passer par des exemples dans le prochain chapitre est, eh bien, nous pouvons voir comment la couleur est utilisée un peu plus.
9. Boolean: Notre type de données suivant est utile pour basculer entre deux états. C' est parce qu'il n'a que deux valeurs possibles. Vrai et faux. C' est l'équivalent d'un interrupteur marche/arrêt dans notre vie quotidienne. Il y a également des types retournés dans l'état. ALS, par
exemple, Vérifier si un nombre est égal à supérieur à notre liste à un autre nombre sera vrai
ou faux. Nous en apprendrons plus sur les conditions plus tard. Dans ce cours, Cem utiliser des exemples pour des milliards serait bambin entre deux couleurs différentes, basé sur la position d'un élément sur notre campus pour vérifier deux éléments de collision d'air ou limiter une animation
pour définir taureau penche vous suivre la même syntaxe est les types de
données précédents, mais avec le mot-clé Boolean à la place. Et la valeur par défaut de ce type de données est false. Voici un exemple. Code
10. Exemple : Boolean: Ok, parlons un peu de milliards. Donc, pour les lingots est trois exemple va être un peu plus difficile. Tout simplement parce qu'il exige conditionnel est de montrer leur pouvoir. Je vais vous montrer beaucoup d'exemples en utilisant conditionnel ou en l'utilisant une déclaration if et ils vont être très faciles à comprendre juste parce qu'ils sont très similaires à la façon dont vous parlez en anglais ou dans toute autre langue en utilisant zor conditionnel quand vous voulez pour le dire à quelqu'un. Si quelque chose arrive, alors quelque chose d'autre pourrait arriver. Ok, alors comment tu commences ? Hum, si vous vous souvenez de la vidéo d'explication, nous avons mis ça dans la taxe commence par un mot-clé, et ils s'appellent lingots parce qu'ils sont nommés d'après quelqu'un appelé George Boole. Vous pouvez lire plus à ce sujet en ligne si vous aimez celui que vous connaissez, Ce que nous devons savoir ici, c'est que nous avons besoin du mot-clé Boolean afin de créer une variable avec une valeur vraie ou fausse. La plupart du temps, il est associé à la condition SLA. Ce qui se passe fondamentalement, c'est que le if conditionnel, renvoie des types de données de bullion, donc il retourne vrai ou faux, donc il vous dira ? Oui, la condition était signifiée ou savoir que la condition était intacte. Donc oui, c' est là
que je m'occupe habituellement des lingots. Donc je ne fais pas forcément des milliards tout le temps. Parfois, si je veux basculer quelque chose sur la base de l'interrupteur éteint sec. Si je voulais être comme s'ils l'utilisent comme une entrée par l'utilisateur, disons que vous voulez créer une illustration ou une générative de notre création, et que vous voulez que la personne choisisse si elle veut qu'elle soit colorée ou en noir et blanc , ou s'ils veulent voir le design en noir et blanc ou en couleur. Ensuite, vous pouvez utiliser un lingot pour dire noir et blanc et ensuite le mettre dans les chutes. Mais quand la personne clique sur un certain nombre de clics et quelque chose qui changerait le design en noir et blanc que cette variable booléenne va, Teoh passe à true, qui va produire un design qui est en noir et blanc. Donc, en gros, traiter ce que vous voulez de lui, euh, donc aujourd'hui nous allons Teoh faire un exemple avec la couleur depuis qu'on vient d'apprendre à propos de la couleur. Je vais faire ce dont je viens de parler. Donc je vais juste l'appeler échelle de gris variable, et je vais le rendre faux, en fait, commençons par True. Donc, quand je commence, je veux que l'illustration soit en niveaux de gris. Donc je vais encore dessiner un cercle. Je vais l'avoir au milieu et je vais l'avoir 100 pixels et ensuite je vais utiliser Phil, ok ? Et au lieu de créer une variable de couleur, je vais juste mettre la couleur directement à l'intérieur de la fonction de remplissage car ils
prennent également les mêmes choses que la fonction de couleur prend. Donc, ils prennent RVB un ventre Alfa pour le quatrième paramètre. Donc je vais juste faire une couleur arbitraire parce que je sais que je vais utiliser un conditionnel f. Tu n'as pas à t'inquiéter, mais c'est le seul moyen que je peux démontrer à Julian. Uhm, je vais juste dire que si l'échelle de gris est vraie, je vais avoir un remplissage de gris et ensuite si l'échelle de gris est fausse, j'aurai cette couleur. Donc pour l'instant, c'est vrai et ça va être en niveaux de gris. Mais si je change, cet orteil tombe, mais ce sera cette couleur orange vif. Mais c'est comme ça que vous allez créer un lingot. Tout ce que vous devez savoir à ce stade, c'est comment vous créez un lingot. Nous ne allons pas créer d'exemples utilisant des milliards dans cette classe, mais nous allons utiliser, si conditionnel, c'est beaucoup. Donc, ceux-ci ont essentiellement utilisé l'intimidateur dans le type de données derrière l'écran. Ah dit en ce moment l'échelle de gris égale vrai va retourner une date une fois. Donc, c'est trekking si la valeur d'un niveau de gris est égale à true, et il va retourner si c'est vrai ou faux. Donc, quand c'était faux, cela est devenu faux, donc ce n'était pas le cas, et ensuite c'était vrai parce que la grande compétence est en fait fausse. Et donc celui-ci est exécuté. Vous n'avez pas à vous inquiéter si les conditions nous allons en parler plus en détail. Quand les exemples pour eux, je viendrai le long. Donc vous avez seulement besoin de savoir, c'est que Villines retournent vrai ou faux ? Et que, bien que utilisé la majorité du temps avec conditionnel
11. Personnages et ficelles: si vous cherchez la taxe à votre Dennard de l'art ou si vous faites des opérations simples comme chargement d'une image, alors vous avez besoin des chaînes de type de données de chaîne. Aaron Array de caractères, qui est un autre type de données et les caractères de traitement, ont été utiles pour suivre. Si une lettre est cliquée sur le clavier ou pour déconstruire une chaîne les utilisera dans un exemple dans la section type du tracteur pour connaître les forces. Disons que nous voulons un chargement d'un fichier. Affaiblir. Stockez son nom dans une variable comme donc nous aurons besoin du mot clé à nouveau. Cette fois, c'est une chaîne, puis le nom de la variable et enfin la valeur. Cependant, cette fois, la valeur doit être stockée entre guillemets doubles, donc nous ne confondons pas le traitement. Si le traitement voit un tas de tableaux sans guillemets, il s'attend à ce qu'ils soient des variables, et il lancera une erreur indiquant que les variables sont définies. Aussi, sachez que ce doit être des guillemets doubles pour les chaînes, car les guillemets simples sont pour les caractères. Le traitement lancera une erreur de toute façon, alors ne vous inquiétez pas si vous ne mémorisez pas tout cela tout de suite. Voici un petit exemple rapide pour vous
12. Exemple : Exemples et ficelles: Ok, parlons de personnages et de cordes. Je veux commencer par définir un caractère et un blister de chaîne avec des chaînes. Et puis nous allons parler des caractères un peu plus parce que les chaînes habituellement utilisées plus souvent et les caractères dans,
ah, ah, beaucoup de langages de programmation, pas seulement le traitement. Ok, String est le seul type de données du type de données que j'ai expliqué qui a une lettre majuscule pour le clavier. Donc tous les autres que nous avons utilisés commencent par une petite lettre. Donc finit réellement commencer commence pour la petite lettre. Ah, flotter la couleur de la petite lettre aussi. L' intimidation et la chaîne de caractères sont la seule. Maintenant, il a une lettre majuscule. Ça ne marchera pas avec une petite lettre. Et juste pour suivre la convention de chaque classe de programmation là-bas qui enseigne programmation aux débutants, je vais faire une chaîne de bonjour monde. Alors bonjour. World est juste un premier programme que tout le monde, euh, exécute dans n'importe quel langage de programmation ou tout ce qui concerne la programmation. Donc si tu veux faire un développeur Web et qu'ils vont commencer par bonjour monde donc je
vais juste super, um, une chaîne. Je vais l'appeler. Bonjour. à droite cette boisson. Bonjour, le monde. C' est fondamentalement quand une chaîne est, um comment vous utiliseriez ceci. Habituellement, vous l'utiliseriez où la fonction de texte. Donc, si vous voulez écrire, euh, le texte, cette grue, vous utilisez la fonction de texte, vous pouvez utiliser bonjour à l'intérieur de celui-ci, et ensuite vous pouvez définir la position de l'endroit où vous voulez qu'il soit. Je vais le remettre au centre, et on ne verra rien juste à cause de défaut. La couleur de remplissage est blanche, donc je vais changer cet orteil noir pour qu'on puisse voir quelque chose, et on puisse voir Bonjour. Le monde est à l'écran au 202 100. Donc, il est en fait dans le centre. Vous le feriez parce qu'il n'est pas aligné. Au centre. C' est une ligne à gauche. Donc, le côté gauche de la phrase ou de la phrase est en fait au centre. Il y a d'autres fonctions dont nous pouvons parler plus tard. Et les exemples quand nous parlons un peu plus de texte, euh, et nous pouvons voir comment nous pouvons aligner tout cela. Et maintenant, si vous voulez utiliser la variable de caractère, vous pouvez simplement faire du caractère, et vous pouvez le nommer comme vous voulez. Habituellement, je ne définit pas les caractères de cette façon, donc c'est un peu étaient de le nommer. Mais disons que je veux l'appeler save et je vais lui donner le caractère s.
Et comme je l' ai mentionné dans Explication Video for Strings, ce sont des guillemets doubles pour les personnages. C' est une seule citation. Cela ne vous laissera pas le faire dans l'autre sens et va finir cyniques et ok, donc je ne l'initialise pas nécessairement de cette façon. Habituellement, façon dont nous utilisons les caractères est quand je veux enregistrer une image. Donc, si je voulais piste d'une personne a cliqué sur le bouton S, alors je voulais enregistrer une image. Disons que vous voulez peut-être que la personne change les formes de votre design. Donc peut-être que vous avez créé deux designs différents avec l'un en utilisant des cercles et l'autre en utilisant, euh, des carrés et en fonction du caractère sur lequel ils cliquent sur le clavier, vous voulez les changer. Donc, disons que vous les voulez. Teoh dessiner que vous vouliez, conçu pour changer en carrés, et puis si elle utilise la lettre C, alors vous voulez changer ce signe en cercle et vous utiliseriez cela à l'intérieur d'eux une fonction appelée déprimée ou la touche relâchée. Donc, chaque fois que le clavier est réellement enfoncé, il peut comprendre les lettres que vous appuyez afin que nous puissions vérifier si cette lettre est réellement Preston la touche qui est pressée. Alors faites ceci ou faites ça. Ceci est seulement une démonstration pour voir comment une chaîne d'un caractère est définie et comment vous pouvez les
utiliser. Donc, ici, nous avons utilisé amusant comme nous avons tapé la phrase à l'intérieur de la variable Bonjour à l'intérieur de la fonction de
texte. Oui, et nous en apprendrons plus sur le texte ou le type et la section du tracteur 3.
13. Les tableaux: last but not least dans les types de données, pour ce cours, est le type de données de tableau, qui englobe fondamentalement tous les autres A raise store multiple valeurs, et une variable est opposée aux types de données mentionnés précédemment, et les valeurs sont les types de données mentionnés précédemment. Par exemple, nous pouvons utiliser une augmentation pour stocker plusieurs couleurs et les utiliser pour colorer des formes aléatoirement en utilisant le même nom de variable. Imaginez si nous voulions stocker cinq couleurs pour utiliser sa scène. Il aura besoin de cinq lignes de variables de couleur seulement. C' est un peu absurde, en fait restrictif à long terme comme lever ouvert. Tant de portes pour nous. Nous verrons ce matin-là les exemples du prochain tracteur. Voyons maintenant comment nous pouvons définir une augmentation Pour commencer, nous devons savoir quel type de données nous voulons. Un magasin. Reste à notre couleur. Exemple pour un tableau de couleurs aura besoin du mot-clé color, mais cette fois nous allons le suivre avec deux crochets vides. C' est notre indication que c'est un tableau qui suivra avec un nom de variable. J' aime rester avec les noms de variables de plèvre parce qu'ils ont le plus de sens. Il existe plusieurs façons de déclarer une augmentation. Vous pouvez soit avoir une initialisation vide, soit vous pouvez affecter des valeurs directement. La règle empirique est d'ajouter les valeurs directement dans la phase de définition si vous avez un petit nombre de valeurs constantes, c'est généralement mon tableau de couleurs,
cependant, cependant, si vous avez besoin d'ajouter plus de valeurs plus tard que juste état et taille initiale pour le tableau, comme ça, ils fonctionnent généralement pour les positions des éléments de départ, entre autres choses. Une autre chose très différente à propos d'une augmentation est que lorsque
vous les utilisez, vous devez utiliser le nom de la variable et la position de la valeur demandée entre
crochets . Et une chose très importante à noter ici est que les positions commencent à partir de zéro, pas un. Donc, si vous avez besoin de la valeur de la première position, vous utiliserez zéro pour la seconde, vous utiliserez une et ainsi de suite. Voyons un exemple rapide
14. Exemple :: pour perquisitionner sa hauteur. Vous pouvez essentiellement utiliser n'importe quel type de données que nous avons utilisé auparavant et tableau de crédit hors de celui-ci. C' est essentiellement une liste de valeurs à l'intérieur d'une variable d'un certain type de données. Je vais continuer avec l'exemple de couleur parce que c'est le plus utilisé dans mes projets , et je pense que c'est beaucoup plus facile pour vous de le voir. Howie a créé parce que pour mes autres classes ou pour toutes les classes à venir, je vais l'utiliser très souvent. Donc je vais commencer par le type de données couleur. Et comme nous l'avons dit pour indiquer qu'il s'agit d'un tableau, vous devrez faire des annonces entre crochets. En gros, c'est juste te dire que nous sommes en train de traiter ça. En passant, ce n'est pas une variable de couleur régulière. C' est Nobre, donc oui, ça va contenir un tableau de couleurs ou une liste de couleurs, et ensuite tu pourras le nommer comme tu veux. Bien sûr, vous avez toujours Teoh s'abstenir d'utiliser le même nom de variable que le type de données. Il a travaillé parce que cela ne fonctionnera pas car il est natif au traitement, mais pour une augmentation, j'utilise généralement le même durable lui Donc pour les couleurs, j'utilise la palette ou j'ai utilisé des couleurs juste parce que la couleur est utilisée. Mais les couleurs n'est pas parce que j'utilise généralement le pluriel pour indiquer que c'est un tableau quand je l'utilise ailleurs dans le programme, même si Reyes vous dit réellement qu'il y a une augmentation juste à cause de la façon dont il utilisé et tout au long du programme, ils sont très différents des variables ordinaires. Mais j'aime utiliser les couleurs ou j'aime utiliser le pluriel juste parce que c'est beaucoup plus facile pour moi. Dis-le quand je parle d'accord, il y a parce que c'est beaucoup plus facile pour moi de penser à une augmentation de cette façon. Et puis j'ai dit qu'il y a deux façons de définir une augmentation pour les couleurs. Je vais vous montrer la façon directe d'attribuer des valeurs au tableau de couleurs qui utilise les accolades et de mettre directement la valeur à l'intérieur. Et puis je vais te montrer l'autre sens. Personne ne peut utiliser aussi bien, qui est également utilisé beaucoup, ou le plus souvent que directement comme ça, parce que la plupart du temps quand il a utilisé une augmentation, il veut stocker beaucoup de valeurs qui sont initialisées tout au long de la programme. Ainsi, comme boucle, par
exemple, génère des positions dans le programme, alors vous voulez l'enregistrer et cela. Très bien, donc nous ne voulons pas nécessairement définir directement les valeurs à l'intérieur de ce tableau avant la
variable de couleurs ou pour les couleurs. Juste où vous voulez juste un ensemble de couleurs à utiliser tout au long du programme, Alors ? Oui. Certainement l'assigner directement est la voie à suivre. Ok, donc je vais vous montrer aussi. Howie, d'
habitude, va choisir ma palette de couleurs. Donc je passe par couleur dot Adobe dot com, et j'ai mon coffre semble, et je vais juste utiliser celui-ci, mais vous pouvez aller vérifier l'autre. Vérifiez les tendances. Drones basés sur ce qu'ils ont dans les mains de ba. Ce sont tous les projets du nouveau projet qui sont maintenant sur moi les mains dans ces sections, et il y a beaucoup de couleurs dans différentes catégories. Et puis vous pouvez aller à la section explorer et il peut aussi chercher mes couleurs. Répétez, tapez orange. Vous pouvez voir toutes les palettes de charbon qui ont la couleur ou dedans. J' ai déjà un set dans ma bibliothèque. Je vais utiliser celui-ci, et je vais copier et coller ces couleurs ici. Donc, c'est pourquoi utiliser du code hexadécimal ? Parce qu'il est beaucoup plus simple de copier et de coller car il suffit de copier le code hexadécimal et de le coller . Ok, je sais que si nous sommes dans le programme parce que nous n'avons pas utilisé Array n'est rien faire. Donc, nous allons réellement dessiner cercle à nouveau, il centre de l'écran. Je ne vais pas lui donner un coup pour l'instant. Vous pouvez également utiliser la fonction de remplissage Nord n'importe quel point où vous voulez juste un trait et non, Phil. Ok, donc pour l'instant, on va juste utiliser ça et à l'intérieur de la
fonction Phil ah, fonction Phil ah, je vais utiliser le tableau de couleurs. Sachez si Aziz a dit qu'il est dans la vidéo d'explication. Si je voulais toutes ces cinq couleurs, c'est un peu absurde d'utiliser cinq variables. Il est beaucoup plus simple d'utiliser un tableau de couleurs. Maintenant, si nous voulons utiliser moins l'une de ces couleurs, je veux utiliser la première couleur. Et comme je l'ai mentionné à nouveau dans la vidéo Explication, j'ai utilisé le nom de la variable comme n'importe quelle autre variable. Mais au lieu de cela, je vais utiliser les crochets spéciaux et puis à l'intérieur ici, dans l'étape des définitions, vous n'avez pas nécessairement besoin d'insérer quoi que ce soit ici. C' est juste une indication que, en passant, c'est un tableau et pas une variable régulière. Mais ici, vous allez devoir définir une position parce que vous appelez les valeurs en ce moment. Donc, si j'utilise le 1er 1 dans une augmentation, ils commencent par zéro et se termine par un de moins que la longueur du tableau de couleurs. Maintenant, nous en avons cinq. Le dernier sera en fait une position pour les 0123 et 4. Si je veux utiliser le 1er 1, je vais faire zéro. Et cela va en fait prendre la couleur à la première position. Et si je veux utiliser le 2ème 1, je vais en utiliser un. On va tous les utiliser pour voir les vêtements qu'on a, et ensuite deux pour les 3, 3 et 4. Que se passe-t-il si j'utilise réellement quelque chose ou une position qui n'existe pas ici ? Disons que 55 n'existe pas. Donc, si vous oubliez que les positions à l'intérieur d'un tableau commencent par zéro et que vous finissez par faire 123 et quatre. Et le dernier sera cinq ans. pensant que ça va être cinq, tu vas avoir une erreur. Donc, ils vont essentiellement te dire que la pluie des bites hors de l'équilibre exception qu'ils peuvent
faire ce que tu demandes. Juste parce qu'il y a une erreur ici et l'indice Ray est hors d'équilibre. Exception signifie que vous allez en dehors du tableau en dehors des positions à l'intérieur
du tableau. Donc, il n'y a pas une position cinq, il n'y a que 0123
et quatre, et c'est un très utile sont en fait beaucoup de fois quand j'utilise une boucle et je veux
passer par tout le droit, surtout si vous avez un grand tableau que vous ne voyez pas le taille de celui-ci ici, vous avez tendance à entrer dans ce lot er. Et voir ça te fait juste comprendre immédiatement que oh, peut-être que j'utilise un poste. Donc, vous allez réellement regarder dans la position des tableaux que vous utilisez pour savoir pourquoi il sort réellement hors des limites. Ouais, donc je voulais juste te montrer que c'est le cas, mais si tu passes de 0 à 1 de moins que la longueur, alors tu es bon d'y aller. Une autre façon de définir, euh, des variables. Dans l'exemple, vidéo a effectivement mentionné que vous pouvez l'utiliser pour stocker des positions. Donc je vais juste faire un autre tableau où je vais stocker. Il flotte les valeurs et aussi, Ah, nous allons utiliser des crochets pour indiquer qu'il est en Ray. Je vais à des positions sûres parce que c'est un ensemble de positions. Et cette fois, je ne peux pas définir un certain nombre de positions directement, généralement parce que j'utilise des positions où je stocke des positions car elles les génèrent à l'intérieur de quatre Loop, nous allons voir quelques modules plus tard, car ils n'a pas lu ces positions, je vais les stocker dans les positions loin de la façon avec Initialize un rayon vide dans le travail et le traitement utilise le nouveau mot-clé et puis utilise à nouveau le type de données, euh, alors faites juste flotter. Encore une fois, les crochets. Mais cette fois, au lieu d'avoir des crochets vides, car en ce moment nous initialisons une variable vide. Mais on doit savoir combien on va commencer. C' est une valeur initiale, donc vous pouvez écrire n'importe quoi et ensuite vous pouvez l'étendre plus tard si vous le souhaitez. Avec la plupart du temps, on sait déjà combien on va en utiliser. Donc pour un marcheur aléatoire, par
exemple, dehors, ce qui est un exemple que nous allons passer et tracteur 3. Mais vous pouvez commencer avec 400 marcheurs aléatoires ou 1000. Ça dépend du look que tu cherches. Donc maintenant, disons que je vais commencer avec cinq médecins, accord ? Je ne vais pas générer ces postes, mais je vais vous montrer comment vous le feriez un par un. Donc pour l'instant on n'a pas cinq. Donc, pour le 1er 1, nous avons fixé que sa position zéro. Donc je vais juste faire des positions. Et puis je dis essentiellement au programme qu'à la position zéro, je veux en magasin une valeur de 200. Disons et gardez juste à l'esprit que ce sont des valeurs uniques, donc ils ne sont en fait pas accidentellement mes valeurs. Je l'appelle juste positionne ça pour le rendre plus facile, mais ce serait plus logique si je l'appelais peut-être des expositions. Donc je vais juste faire ça pour l'instant. Et je vais faire la même chose pour ici, donc ça va être appelé expositions à la place
, , afin qu'on puisse la remplacer ici, et ensuite le 1er 1 je vais lui donner une valeur de 200. Faisons un autre. Donc, ce sera l'exposition à la position 1 dans le tableau et donnons-lui une valeur
aléatoire, et puis je vais faire un et zéro, donc vous pouvez voir un grand changement ici. Um, pour celui de la position, je vais le faire zéro. Tu vas devoir le faire pour trois et quatre aussi. C' est pourquoi les boucles ou mieux. Parce qu'alors vous pouvez passer par le tout et y générer des valeurs. Donc maintenant je vais utiliser Exposition zéro ici, et vous allez voir que ça va avoir la valeur 200 ici. Ok, le problème ici est que je n'ai pas de trait, et donc vous ne pouvez pas le voir parce que le remplissage par défaut est en fait la Syrie blanche, et vous pouvez voir le cercle ici. Ok, maintenant, faisons position pour voir un grand changement. Maintenant, c'est l'exposition est en fait à zéro. Non, je vais le jouer. En fait, voyez-le. L' exposition est en fait ajouter zéro et la raison pour laquelle le cercle est coupé en deux est parce qu'il tiré du centre, donc son centre est en fait en position. X ajouter zéro. C' est tout ce que nous devons savoir sur les types de données dans la section suivante. Nous sommes en fait à travers les autres concepts et le traitement, tels que, si conditionnel, est boucles et fonctions et classes et objets.
15. Conditionnement: sont un excellent moyen de contrôler le flux de votre manteau. Ils sont connectés au type de données d'investissement car la condition est évaluée à vrai
ou faux. Si une condition est évaluée à true, le bloc de code s'y rapportant s'exécute. Sinon, rien ne s'est passé ou si trouver le bloc de code associé à la fausse valeur s'exécute. Ceci est utilisé dans n'importe quel exemple où vous souhaitez séparer les fonctionnalités en fonction d'une condition. Disons que je veux définir la taille de ma forme en fonction de la position sur l'axe X relatif à la ligne centrale. Si c'est sur le côté gauche, je voulais être petit, et si c'est sur le côté droit, je voulais être grand. Ce n'est cependant pas très réaliste, car dans la vie réelle, nous pouvons avoir plus de deux conditions qui peuvent également être faites dans le
traitement en utilisant deux ou plusieurs conditions différentes qui peuvent évaluer à vrai à un certain temps de la vie des programmes voir la syntaxe aura plus de sens ici. Pour écrire une instruction conditionnelle, vous avez besoin du mot-clé si suivi de deux parenthèses, continuez la condition, par
exemple, X est supérieur à 10. Ensuite, pour accolades entourant le code que vous devez exécuter dira que la taille sera cinq de la variable X est en fait supérieure à 10. Ensuite, le code s'exécutera. Sinon, rien ne se passera à moins que nous ne définissions une déclaration else. L' instruction else s'exécute, si la condition est fausse. Que se passe-t-il si nous avons besoin de ces multiples conditions ? Eh bien, on vient d'ajouter d'autres. Si avec des parenthèses suivant le mot-clé Theis, faisons maintenant la condition X est supérieure à 30 et nous allons faire la taille 10. Savez-vous si la variable X est supérieure à 10 ? On a la taille de cinq. Sinon de la hache est supérieure à 30 que les tailles. 10. Et enfin, si aucune de ces conditions n'était vraie, alors le bloc else est exécuté. Vous pouvez avoir autant d'autres instructions if que vous avez besoin après votre première instruction F, et vous pouvez toujours éliminer l'instruction L finale si vous n'en avez pas une utilisation. Cette information gratuite Il existe une autre façon d'écrire la condition ALS en utilisant une instruction switch. Je ne vais pas y entrer parce que le F conditionnel au traitement suffit, mais n'hésitez pas à le vérifier dans la page de documentation de traitement. Allons maintenant sur notre exemple conditionnel
16. Exemple : Excelles: dans cet exemple conditionnel, nous allons en apprendre un peu plus sur les conditions conditionnelles. Ensuite, nous avons appris dans la section des explications juste parce qu'il ya beaucoup plus que je veux parler de ce qui avait besoin d'un peu plus d'un exemple dans une démonstration. Et je vais seulement démontrer le f conditionnel juste parce que le commutateur est quelque chose que vous pouvez aller dans la documentation et comprendre une fois que vous apprenez tout sur le if conditionnel, surtout parce que je n'utilise que, si conditionnel, la majorité du temps. Même si vous allez dans le code d'autres personnes, vous allez voir si la condition ALS plus que vous allez voir les instructions switch. En Python, par
exemple, il n'y a même pas d'instruction switch. Il y a seulement et si conditionnel, euh ,
mais ouais, ayez peur de l'utiliser si vous pensez qu'il vaut mieux pour vous de lire alors et si conditionnel , une fois que vous comprenez comment utiliser tout cela pour contrôler le flux, importe ce qui va montrer, je vais couvrir quelques choses que vous allez voir beaucoup dans le manteau des gens, et je vais parler d'un exemple que j'ai utilisé en milliards et lire le taux sur cela
parce qu' il y a des choses que je vais corriger dans cet exemple. Alors commençons par ça. Dans un exemple précédent, j'ai utilisé des lingots et je l'ai fait faux. Et puis ici, j'ai dit, Si l'échelle de gris est vraie, alors faites quelque chose d'autre faire autre chose. C' est donc ce que nous avons appris à ce sujet. Condition ALS. Je n'ai pas parlé des deux signes égaux avant,
euh,
dans cette classe,
mais nous allons en parler à l'intérieur de la démonstration parce que c'est beaucoup plus facile de le voir
en action que de le voir dans un Je n'ai pas parlé des deux signes égaux avant,
euh, euh, dans cette classe, mais nous allons en parler à l'intérieur de la démonstration parce que c'est beaucoup plus facile de le voir explication avec une animation. Ok, donc la plupart du temps, vous ne verrez pas, surtout avec des gens qui ont plus d'expérience dans la programmation, vous ne le verrez pas. Ces deux signes égaux si la valeur que nous allons vérifier est un 1.000.000.000.000
types de données , donc vrai ou faux, la plupart du temps, vous allez voir le code comme si si échelle de gris. Donc, cela signifie fondamentalement si les niveaux de gris sont égaux à vrai. Ah, mais c'est très redondant d'écrire des niveaux de gris égal à vrai, le code va fonctionner. Mais vous pouvez aussi le faire de cette façon, parce que si cela est vrai. Donc, si les niveaux de gris sont égaux à vrai travail Onley, le code à l'intérieur de la condition ne s'exécutera que si les niveaux de gris sont égaux à deux. Vrai. Donc si c'est vrai, alors pourquoi Trek ? Si elle est égale à true une fois, c'est parce que la valeur est déjà vraie. Donc cela va être exécuté donc nous n'avons pas à dire que les niveaux de gris sont égaux à deux vrais ou si cela est égal à des valeurs par défaut. Maintenant, si vous voulez vérifier si ça équivaut à deux chutes, vous pouvez juste faire un point d'exclamation. Un point d'exclamation ne signifie pas, sinon niveaux de gris, ce qui signifie le contraire de ce que Gail est en ce moment engouement. Donc pour l'instant, c'est vrai. Donc, ici va être faux. Donc, si c'était faux, ça va être vrai parce que ça veut dire que si ce n'est pas la valeur ici, donc si ce n'est pas faux, alors faites quelque chose ici. C' est un peu déroutant au début une fois que vous commencez à apprendre cela, mais comprenez simplement que c'est deux valeurs et vous pourrez facilement vous en souvenir à l'avenir. Comme vous le pratiquez la plupart du temps, je ne suis pas au courant. Sauf si je ne vais pas utiliser un bloc else. Donc si je n'utilise pas ça. Peut-être que je ne vais pas utiliser parce que je ne fais que du trekking si ce n'est pas le cas. Et c'est ce que je veux qu'un code fonctionne et je ne me fiche d'aucune autre chose, mais oui, habituellement je ferais juste si quelque chose est vrai. Alors mettez juste la variable et ça vérifiera pour moi si c'est vrai ou faux en regardant la vallée. Donc en ce moment, si Gray échelle Donc il est à la recherche pour qu'il soit vrai pour que cela fonctionne, mais maintenant c'est faux. Donc ça va être faux et ça ne va pas courir, au lieu de chutes de maïs, vérifiez les valeurs. Alors faisons deux dans les cultures, et je vais juste l'appeler X et Y. Je vais les mettre en deux lignes différentes juste parce que je vais leur donner de la valeur là-haut. Donc, faisons ça 10 par exemple, et faisons ça cinq parce que je ne sais pas comment pouvons-nous vérifier si X est égal ou supérieur raison pour laquelle, par exemple, nous allons utiliser ces opérateurs de comparaison pour suivre ça ? C' est exactement ce qu'on a appris en cours de maths. On va faire X. mais au lieu d'écrire un égal normal parce que dans la programmation, un signe égal est un temps d'affectation. Donc ça ne marchera pas pour cette expression. Si nous voulons une piste de quelque chose est égal à quelque chose. Donc, si je fais ça, alors ça pense comme si j'attribuais pourquoi à la variable X et ça va me donner la discordance de
type que les entiers,
qui est X, qui est X, ne correspondent pas avec des lingots parce qu'à l'intérieur de et si conditionnel, vous devez avoir un lingot et pour avoir un booléen, vous devrez être égal pour vérifier si quelque chose est égal à quelque chose. Maintenant, c'est en fait un conditionnel. Donc X est égal
orteil Pourquoi, ce n'est pas donc ça va me donner un faux Donc quoi que ce soit ici va courir et la piste nous allons juste imprimer la communauté de ligne, correct. Et puis je vais te faire mal, et on va voir que c'est mal parce que X n'est pas égal à cinq. Donc si je change ça à 10 maintenant, on va avoir raison. Et la raison pour laquelle cela est beaucoup d'impression est parce que la fonction de tirage est en boucle, donc nous pouvons juste arrêter cette boucle de placement juste pour le bien de cette démonstration. Ok, maintenant je vais retourner ça à cinq, va revenir aux pieds Ron. Mais cette fois, je vais vérifier si ce n'est pas égal en juillet. Donc je vais vérifier si X n'est pas égal orteil. Pourquoi ? En utilisant l'opérateur non devant l'égal Maintenant il a seulement besoin d'un égal parce que pas est présent. Et donc c'est en fait une condition qui va produire des valeurs booléennes ou soit vrai ou faux, et ce n'est pas égal, donc ça va nous donner correct. Et c'est exact. Maintenant, il y a d'autres opérateurs de comparaison, comme Greater Than va me donner correct, parce que X est supérieur à ce que nous allons faire aussi supérieur ou égal. Et ça va être correct juste parce que plus grand que ou égal signifie soit plus grand ou égal . Chacun de ces deux-là suffira. Et puis si je vérifie aussi moins que et il ya aussi moins de et égal à vérifier moins que va nous donner tort, parce que X est certainement pas inférieur et puis inférieur ou égal. Et ça va me donner tort parce que ce n'est pas le cas. C' est ni l'un ni l'autre ou, euh, si c'est 10, alors ça va me donner raison juste parce que l'un de ces deux est correct, donc X est égal orteil. Pourquoi ? Ce n'est pas moins que, mais c'est égal. Donc, ça va me donner raison. Maintenant, comme je parle, j'ai dit une ou plusieurs fois donc je vais introduire une autre variable appelée Z, et c'est pour montrer différents opérateurs que nous pouvons utiliser à l'intérieur de Zoe conditionnel. Eh bien, je vais lui donner une valeur arbitraire, donc
je vais le donner pour et je vais vérifier si X est égal à y et ensuite je vais utiliser cet opérateur bizarre en utilisant deux lignes droites. Donc sur mon clavier, tu les as confinés avec la barre oblique inverse. Donc, avec un changement de barre oblique inverse, nous allons en avoir un. Donc deux d'entre eux vont nous donner ou Ok, Donc ce que je dis maintenant est si x est égal à y. Donc si X est égal au Grable, pourquoi ou X est supérieur à Z, alors exécutez ceci ainsi ou est très indulgent. Il va chercher juste une vraie valeur. Donc si l'une ou l'autre de ces conditions est vraie, ça va faire du pain. Maintenant, ces
deux conditions étaient vraies. Mais si je le fais ? X, c'est moins de tanaisie. Cela va toujours me donner correct parce que X est égal à y et c'est vrai. Et donc je dis soit que cette condition est vraie, soit que cette condition est vraie. Si l'un d'eux est Drew, alors donnez-moi raison. Cependant, si je mets ici et au lieu de ou et ces air à Amper Sands, ça va me donner tort. La raison en est que le 1% ou l'opérateur et est beaucoup plus stricte. Ça veut dire que je ne serai pas vrai à moins que ça ne fasse un vrai. Donc si c'est vrai et c'est vrai, alors je vais être correct. Donc c'est très strict. Donc, si l'une de ces deux valeurs est fausse, alors la chèvre entière ne va pas être exécutée à l'intérieur de ce si conditions. Donc ça va aller à l'autre marche s'il y a un autre bloc immédiatement. Maintenant, si je change ça en vrai et que je cours, ça va me donner raison, parce que maintenant c'est heureux. Puisque c'est vrai et encore la soeur, ça peut être déroutant pour certains d'entre vous au départ. Mais quand vous la pratiquez, vous allez voir que c'est bon sens et que c'est très facile à comprendre. Ok, alors maintenant faisons un autre. Si maintenant nous allons changer un peu cet exemple parce que correct et faux ne sont que deux valeurs. Je ne veux pas en faire un conditionnel de trois blocs. Donc je vais juste dire égal. Et puis si X est supérieur à la raison pour laquelle je vais imprimer plus ou mieux, X est plus grand. Et là, je vais juste dire, pourquoi est plus grand. Donc maintenant si X est égal, Teoh, pourquoi on va devenir égaux, et si X est plus grand, on va obtenir X est plus grand. Et maintenant, si pourquoi est plus grand, on va devenir plus sage. Donc, c'est fondamentalement comment utiliser else avec conditionnel C'est très simple. Une fois que vous comprenez un bloc f else, vous pouvez comprendre autrement si facilement, car il va entre les deux et vous pouvez en avoir autant que vous voulez que vous pouvez aussi, au lieu d'imprimer. Je sais que j'ai introduit l'impression Len avant d'en parler, mais vous pouvez aussi faire du texte pour tout ça. Donc, au lieu d'imprimer au conseil ici, tu peux juste le taper à l'intérieur de ton croquis, je vais le mettre au milieu de l'écran avant qu'on le fasse tourner. On va devoir changer l'orteil noir parce que la sensation par défaut est blanche et le Texas ne
va pas montrer parce que ça prend de la valeur de la pilule. Et maintenant il dit, Pourquoi est plus grand et changeons y Il dit que X est plus grand maintenant et puis enfin, il va dire égal et bien, c'est tout
ce que vous devez savoir sur. Si condition als prochaine, nous parlerons de boucles et de ce que nous pouvons faire avec les boucles.
17. Boucles: dans ce module parlera de mon concept préféré et des boucles de programmation pour ne pas
vous influencer à choisir un favori, mais je crois qu'une déclaration nous aide à éviter la redondance tout en ajoutant à l'œuvre est incroyable. boucles font des merveilles seules, mais elles sont aussi géniales. En cas de combinaison avec une augmentation, nous pouvons faire une boucle à travers un tableau en utilisant la variable d'aération en boucles comme position des éléments de
tableaux, ce qui nous permet de passer par l'ensemble du tableau. Nous pouvons utiliser des boucles pour dessiner une multitude de formes, accéder à chaque élément du tableau ou même agir à un tableau pour la syntaxe. Il existe deux façons d'écrire des boucles en fonction de ce dont vous avez besoin. Si vous savez combien de rations vous allez avoir, une boucle de quatre est parfaite. Cependant, si vous cherchez à boucler jusqu'à ce qu'une condition soit vraie, ne pas connaître le nombre exact de répétitions qu'une boucle while est la voie à suivre. Pour une boucle quatre, vous avez besoin des quatre mots clés, suivis de parenthèses contenant trois composants, une initialisation, une condition et un er incrémentiel. Quoi que ce soit à l'intérieur, accolades qui viennent après se répètent autant de fois que spécifié dans les parenthèses . La variable de boucle for peut être un entier ou à flot, mais comme nous l'avons mentionné précédemment, entre et float. Différent. Les industries sont destinées à la comptabilité. Par conséquent, si vous utilisez les boucles, éléments de tableau d'accès aux
orteils , par
exemple, que vos variables initialisées doivent être de type dans les titters. Voyons maintenant comment définir une boucle while. Pour cela, vous aurez également besoin de trois composants importants lors de l'initialisation. Ensuite, sur la ligne suivante, le mot-clé tout suivi par les parenthèses contenant la condition et enfin, bloc de code d'
initié. Après que tout est exécuté, nous ajoutons l'er incrémental. Un problème que vous pouvez rencontrer plus souvent dans les boucles while que dans quatre boucles est une
boucle infinie . Cela peut planter votre logiciel. boucles infinies se produisent lorsqu'une condition n'est jamais remplie, et cela se produit lorsque vous avez une variable incrémentielle ou, si vous avez raison, la mauvaise condition. Il est temps d'un mini exemple
18. Exemple : Boules: Maintenant qu'on va parler de boucles, revisitons ou course. Un des exemples que nous avons créés dans une augmentation est les positions, Ray. Donc, je vais recréer que si vous voulez des positions de valeurs flottantes, alors nous allons créer un tableau appelé Float et les crochets signifie tableau. Et puis je vais appeler ça des expositions. Je vais lui donner cinq positions. Certains peuvent simplement dire votre flotteur, alors initialisez-le avec cinq cellules vides. Maintenant, dernière fois que nous avons dit, si vous voulez inclure des valeurs ou générer des valeurs à l'intérieur des expositions, affaiblir, disons
juste des expositions. Et puis 0123 et quatre Donc cinq vallées. Mais ça n'a aucun sens. Parce que si j'ai 100 valeurs ici ? Je ne vais pas faire de 0 à 100. Je veux dire, de 0 à 5 est déjà un strict. Au lieu de cela, je peux juste faire un quatre vécu à l'intérieur de quatre boucle. Nous avons dit que nous commençons par un Isar initial. Initialement, il y avait fondamentalement une variable, donc quelle que soit la variable qui crée habituellement en dehors de vos fonctions ici, vous pouvez créer ici la plupart du temps, nous allons voir des gens utilisant I et J. J'utilise I pour ma première boucle pour. Parfois, si vous imbriquez pour des boucles, alors vous utilisez un I un j parce que vous ne pouvez pas imbriquer avec la même variable. Donc, je vais juste faire et je regarde l'index parce qu'il stocke l'index de pour la
boucle for et puis je vais l'initialiser avec zéro. Donc c'est mon Isar initial, et ensuite j'ai une condition. Nous savons déjà lire les conditions de notre dernier tracteur et la majorité de ce haut . Et lorsque vous l'utilisez avec une augmentation, vous allez voir la condition vérifier si l'indice est moins interdire la longueur des rayons. vais juste écrire ça et je vais m'expliquer moins que des expositions. Et je vais utiliser la propriété pour une augmentation appelée longueur. Et si vous remarquez entre les deux, j'utilise toujours cynique et la raison pour laquelle j'ai utilisé pour moi Coghlan et j'ai utilisé cela tout au long du programme. Beaucoup est de mettre fin à une ligne de code. Donc si vous ne le faites pas et cette ligne de code avec un cynique et que vous allez avoir une erreur parce que votre programme ne saura pas où il faut, où se terminer, alors je dis, OK, j'en ai fini avec ça, Donc je vais finir par un point-virgule. Donc, la même chose va ici à l'intérieur de quatre boucles. Je vais finir chaque section par le point-virgule parce que je voulais marcher pour ça seul
, puis pour ça seul et pour la dernière section de l'amour. Et puis je vais m'incrémenter avant de m'incrémenter. Quand j'explique cet étranger, la condition ici est de vérifier le I si c'est moins que les expositions de cette longueur. Donc maintenant, la longueur ici est de cinq. Donc ça vérifie si j'ai moins de cinq ans. Donc, tant que c'est moins de cinq, la valeur d'incrément va monter là où l'incrémento va faire mon oeil ici, monter la valeur de I. Donc ça va être de 0 à 1 à 2 à 3 à 4 jusqu'à ce qu'il atteigne un moins de cinq. Donc, une fois qu'il atteindra un moins de cinq, alors ça va s'arrêter. Et puis l'er incrémentiel que j'ai écrit dans ma vidéo d'explication I plus plus si vous vous souvenez de nos entiers et flotteurs exemple, nous incrémentiels X comme ça. Donc, c'est un er incrémental que nous avons implémenté l'ancienne valeur de X par un, et nous avons commencé à l'intérieur de l'ancienne variable. Maintenant, cela pourrait être fait d'une autre manière. Cela peut également être fait de cette façon. Donc, cela dit incrémente X par un et commence à l'intérieur de X. C'est un raccourci. Il y a aussi moins moins, donc c'est en fait démentir Menting par un. Et puis, si vous voulez incrémenter par une valeur différente, parce que c'est quelque chose que nous avons aussi fait à l'intérieur de ses entiers et flottants Exemple, qui est comme Donc il a fait doux. Et cela signifie essentiellement la même chose. X incrémentielle fait par trois et affaiblir bien faire les inconvénients, et cela va démentir signifié par trois. Donc, ces air juste des mains courtes et rend votre code beaucoup plus propre au lieu d'écrire ceci comme si vous pouvez juste le lire comme si c'est beaucoup plus simple. C' est plus facile à comprendre, et c'est plus agréable à regarder dans votre code. Donc c'est essentiellement ce que je fais ici. Je suis en train de mettre en œuvre par un. Je peux aussi faire plus égal gratuitement afin que je puisse incrémenter toutes les trois valeurs. Il peut le faire si vous voulez créer une grille, je ne crée pas nécessairement un grand de cette façon. Mais j'ai vu des gens qui ont créé des grilles en vérifiant si c'est si l'œil est inférieur à la largeur, puis comme ils vont les incréments par les cellules avec eso, c'est à vous de décider comment vous voulez utiliser cela. J' incrémente généralement d'un, puis je fais mes calculs à l'intérieur de ma boucle for. On va juste augmenter d'un en ce moment. Et puis je fermerai les parenthèses et j'ouvrirai mes accolades pour écrire mon manteau ici parce que maintenant on va faire exactement ce qu'on a fait avant d'utiliser les expositions zéro, un, deux et trois. Mais à la place, je vais juste faire des expositions et à l'intérieur des crochets, je vais mettre l'index et ensuite je vais le donner sur vous. Disons que je veux lui donner une valeur aléatoire, peut-être de zéro à la technologie. Et nous allons également imprimer des expositions juste pour voir les valeurs à l'intérieur de celui-ci. Vous pouvez voir qu'il vous donne exactement ce que nous avons fait avant quand nous avons attribué une valeur à la position à 01 Puis 123 et quatre. Donc, il est en train de dire que maintenant, à l'intérieur du tableau des expositions à la position zéro. Nous avons cette valeur aléatoire à la position 1. Nous avons cette valeur. Donc nous avons ce flottant à peine trois et quatre et ainsi de suite, donc nous savons que ça marche. Mais comment ça marche vraiment ? Donc, un for Loop prend fondamentalement cet index que vérifie s'il est inférieur aux expositions de cette longueur. Donc zéro est certainement moins de cinq parce que la longueur est la taille de ce tableau, puis il va incrémenter d'un. Donc maintenant c'est zéro plus un. Donc maintenant, ces valeurs, en fait une. Maintenant, dans la prochaine génération, il va Teoh, vérifier avec la condition à nouveau. Non, il est 11 est toujours inférieur à cinq, donc il va s'incrémenter et avant qu'il ne s'incrémente ou à chaque fois par incréments. En fait, faire les calculs et ici ou exécuter le bloc à l'intérieur d'une boucle for dans la première oration avait la valeur de zéro. Donc Exposition zéro égale à la valeur aléatoire de 0 à 10. Et quand c'est devenu un, c'était un par ici. Donc les expositions à la position 1 vont être une autre valeur aléatoire, c'est que j'ai aussi fait ,
disons, 10 qu'elles seront toutes 10. Donc ils vont tous être des valeurs flottantes de 10 et ont remarqué qu'il y a un 100.0 ici juste parce que même si j'ai entré un entier juste parce que c'est un flotteur,
tout cet air va ressembler à des flotteurs. Donc, si je change cela en un entier, alors ils seront en images. Mais maintenant, nous ne pouvons pas vraiment entrer de valeurs de Brandon sauf autour d'elles. Donc, si je fais 0 à 10, il ne va pas apprendre car il dit incompatibilité de type, puisque aléatoire renvoie une valeur flottante. Mais si je l'arrondisse et que c'est juste une équation mathématique très simple que nous utilisions
à l'école, nous avions l'habitude d'arrondir les chiffres, donc nous savons comment les exécuter. Donc ça va autour des chiffres pour moi. Et puis ils sont devenus des rapports sexuels maintenant, donc ça va me laisser le mettre à l'intérieur de l'antidrogue. Ce n'est pas très important en ce moment, mais seulement besoin de savoir sur quatre boucles est que vous pouvez les utiliser pour alimenter pour augmenter les valeurs. OK, maintenant, faisons le même exemple exact en utilisant une boucle while, je vais juste laisser la boucle for en ce moment. C' est le cas et je vais te le rendre. Vivé ? Non, je vais commenter ça. Ok, donc, tu sais, dans une boucle de temps, on a dit qu'on allait devoir avoir une première Isar à l'avance. Donc je vais juste créer l'Isar initial ici. Je vais l'appeler et je pour l'index à nouveau et ensuite j'vais écrire la boucle while. Donc, à l'intérieur de la boucle while, vous n'avez que la condition. Et la condition pour nous ici va être à nouveau des yeux moins que les trucs d'exposition comme et à l'intérieur du bloc, je vais faire ce que j'ai fait à l'intérieur de la boucle for. Et puis après cela, je vais incréments I Donc chaque fois que va regarder dans, je vais voir la valeur va vérifier si c'est moins que les expositions que la longueur droite et alors il va le faire si c'est moins vrai, si c'est vrai, c'est encore moins de cinq. Ensuite, il va le faire et ensuite il va passer par incréments. Si vous n'incrémentez pas, ce sera une boucle infinie car ce sera toujours zéro. Il n'ira jamais jusqu'à cinq. Donc, l'arrêt local afin qu'il fonctionne infiniment et qui peut casser votre programme. Il peut geler votre ordinateur. Je ne sais pas ce qui se passe. La plupart du temps, quand ça m'est arrivé, je pouvais juste l'arrêter en utilisant le bouton d'arrêt par ici. Donc, si cela ne fonctionne pas, alors juste d'abord un traitement rapide et tout ira bien. Mais pourtant, rappelez-vous juste que vous avez besoin de l'incremento à l'intérieur d'ici et vous avez besoin de la condition. Teoh, à un moment donné du programme, devenir faux, donc ça s'arrête. Donc, non, cela va faire exactement ce que les quatre l'ont bouclé avant et va nous donner une
valeur aléatoire,
une valeur flottante aléatoire de 0 à 10 positions de fin de 0 à 4 à l'intérieur du tableau. Donc, c'est exactement la même chose que la boucle for. Je n'utilise pas nécessairement une boucle while avec une augmentation juste parce que, ah, pendant un certain temps, il est préférable de l'utiliser avec des conditions que vous ne savez pas quand vont être remplies. Disons que vous avez un marcheur aléatoire, et dès que ce Walker aléatoire se déplace d'un côté des écrans ou d'un côté de votre toile à un autre côté de votre campus. Alors tu voulais arrêter. Peut-être où vous voulez qu'il veuille que ce cercle cesse de bouger ou arrête de colorier votre écran là un moment. Loop est génial parce que puisque le mouvement est aléatoire, vous ne savez pas ce qu'il va franchir cette ligne. Mais si vous voulez générer des positions, ou si vous voulez faire quelque chose où vous connaissez la quantité de temps ou la quantité de répétitions, alors un amour quatre est certainement ce dont vous avez besoin à nouveau. Cela dépend des designs que vous créez. Que cherchez-vous dans l'art génératif ? Et sur cette base, vous allez choisir si vous avez besoin d'une boucle for ou d'une boucle while. Maintenant que nous avons parlé d'une boucle et de répétition du code efficacement ensuite, vous allez apprendre sur les fonctions et comment créer des méthodes réutilisables ou des blocs de
code utilisables pour éviter la redondance.
19. Fonctions: Parlons maintenant d'éviter la redondance dans notre manteau. tâche et la programmation les plus fastidieuses consiste à répéter les mêmes lignes de code chaque fois que vous en avez
besoin . Et si vous voulez plus tard un changement de valeur, vous devez le changer à tous ces endroits chaque fois que vous pouvez éviter tout ce gâchis en créant une fonction. Les fonctions sont des blocs de code réutilisable qui effectuent des tâches connexes et parfois même retournent une valeur qu'il peut stocker dans une variable pour une utilisation ultérieure. J' utilise des fonctions pour un formatage de texte, des nombres
calculés ou faire des formes personnalisées. Disons que je veux créer un visage souriant ou plusieurs visages souriants. Cela nécessitera trois cercles, un grand pour le visage et deux petits pour les yeux et, surtout, une arche pour le sourire. Je peux mettre tout cela dans une fonction, le nommer Smiley et l'appeler un Zeman e fois que je veux. C' est l'efficacité. Examinons la syntaxe d'une fonction avec un exemple beaucoup plus simple. Je veux une fonction qui prend un rayon et retourne un diamètre appellera ce diamètre de la fonction . Les fonctions commencent également par un mot-clé comme des variables. le mot-clé Cependant, indique le type de la valeur renvoyée. Pour notre exemple souriant, le mot clé serait nul, puisqu'il ne renvoie rien. Mais pour cet exemple de diamètre, la valeur de retour sera à flot. Puisque notre fonction prend une valeur, nous devons définir un paramètre. Appelons ça rayon et donnons-lui un type de flotteurs. C' est un calcul simple. Un diamètre est deux fois le rayon s'affaiblit. Stockez ces données dans une variable flottante à l'intérieur de la fonction, puis retournez-les. Mais puisque c'est un petit exemple, retournera le calcul directement. Nous utilisons le mot clé de retour avant un retour. Valeurs maintenant pour utiliser dysfonctionnement, nous l'appelons en utilisant son nom suivi de parenthèses. Puisque cette fonction enregistre une entrée, nous devons passer un argument. Je vais faire une valeur de 10 pour l'affaiblissement du rayon. Stockez la valeur de retour dans une variable, ou nous pouvons l'utiliser directement dans son manteau. Je pense qu'il est temps pour un exemple de mieux comprendre cela
20. Exemple : Fonctions: OK, c'est l'heure des fonctions. Exemple. Comme je l'ai expliqué dans la vidéo d'explication, une fonction stocke un bloc de code dans une méthode raisonnable que vous pouvez appeler n'importe où dans le programme ont été en utilisant la fonction de taille et d'arrière-plan et ces
fonctions aériennes qui sont natives à traitement. Donc, ils ont déjà été créés avec le traitement, donc nous n'avons pas besoin de les recréer. Cependant, il y a
parfois besoin de fonctions ou pour vous de créer vos propres fonctions. Dans l'exemple de vidéo, j'ai parlé de créer un visage souriant et de l'enregistrer à l'intérieur d'une fonction. Peut-être que nous pouvons recréer cet exemple pour voir comment il fonctionne. Pour créer des fonctions, nous avons besoin des mots-clés du type de retour. Donc, pour un exemple smiley, nous n'avons pas besoin de retourner quoi que ce soit que je vais juste utiliser avoid, ce qui signifie vide, donc il ne retourne pas nécessairement quoi que ce soit. Et c'est le mot clé que vous utilisez pour cela. Comme vous pouvez le voir ici, éviter est utilisé, retirer et mettre en place parce qu'ils ne retournent rien, et maintenant je vais l'appeler Smiley, et nous avons les parenthèses où nous pouvons avoir des paramètres, puis les accolades où nous peut avoir le bloc de code que nous voulons exécuter et à l'intérieur de notre visage souriant. Je ne vais pas entrer dans la fonction Arche ou la forme de l'arche juste parce que c'est un peu trop compliqué pour cet exemple. Mais je vais juste créer un cercle jaune et deux petits cercles, et je vais les colorer aussi. Donc je vais donner à ça un gars de jaune, et il va être au centre sur l'écran, et je vais lui donner une taille de 200 cette fois. Et puis je vais créer un Phil différent pour les deux autres cercles, qui vont être les yeux que je vais leur donner un Phyllis Black. Je vais créer deux cercles différents et je vais en mettre un à 34 maintenant et on verra où il est positionné et on pourra le réparer plus tard, et ils auront une taille de 20. Voyons où est celle-là. Ok, on ne verra rien. La raison en est que nous n'avons pas appelé la fonction, donc nous l'avons seulement définie. C' est une erreur que j'ai vu tant de fois enseigner la programmation. Beaucoup d' étudiants oubliaient d'appeler la fonction, et ils s'attendent à ce que leur code fonctionne. Mais ce qu'ils doivent faire est d'appeler la fonction. Je vais d'abord arrêter la fonction de dessin en boucle. Donc, je vais juste utiliser la fonction no look, puis à l'intérieur du tirage car ils ne veulent pas qu'il dessine beaucoup de cercles les uns sur les autres. Alors, à l'intérieur de la fonction de tirage, je vais Teoh, appelle Smiley. Donc, comment vous appelez une fonction est juste en appelant son nom, puis en ayant à parenthèses. Puisque nous n'avons pas de paramètres ici, nous n'aurons pas besoin d'arguments ici. Je vais le faire maintenant, on peut voir qu'il est très éteint. Donc je ne devrais pas être ici. Je sais donc que le centre 202 102 100 est là. Et parce que je suis une personne visuelle, c'est beaucoup plus facile pour moi de voir quelque chose devant moi juste pour comprendre le positionnement de celui-ci. Je peux le visualiser, mais ça peut prendre plus de temps pour moi. C' est plus facile pour moi de le voir, donc je vais déplacer ça ici, donc on sait qu'il est 200 ici, donc j'avais juste besoin d'être moins de 200, la taille est 200. Donc je sais que le rayon de la taille du cercle est de 200. Donc je sais que le rayon est de 100. Donc, nous savons que je peux revenir en arrière peut-être 30 pixels de 200 à 30 pixels. Donc ça va être 170 pour les deux, et ça devrait marcher. Maintenant, je vais avoir un autre cercle, et cette fois le pourquoi va être le même parce qu'ils vont être parallèles l'un à l'
autre . Mais puis les autres yeux vont refléter ce je sur l'axe X. Donc ça va être 2h30 cette fois. Mais pourquoi va avoir 170 ans maintenant ? On a deux yeux. Super. Donc, c'est fondamentalement ce qu'est une fonction. Maintenant, vous pouvez créer Aziz beaucoup de visages souriants que vous voulez à l'intérieur de la vôtre pour grue, mais avec un problème. Donc le problème en ce moment, c'est que chaque visage souriant sera dans la même position. La raison en est que nous n'avons pas de paramètres. Donc, nous ne l'appelons pas avec un positionnement différent. Nous pouvons changer cela en ajoutant des paramètres ici. Donc, si je fais flotter X et flotter pourquoi,
C' est fondamentalement comment nous créons des paramètres. Vous venez de définir des variables sans valeurs, puis vous les utilisez ici, et cela va nous donner une erreur ici dans l'appel car il attend des paramètres. Nous devons donc entrer des arguments. Et en passant, la plupart du temps, vous allez entendre les gens parler de paramètres quand ils sont définir et d'arguments quand ils appellent la fonction. Ok, maintenant, nous avons créé nos paramètres, mais nous devons les utiliser. Donc, à l'intérieur de ce cercle, au lieu d'utiliser 202 100 qui sont des valeurs statiques, je vais les remplacer par les valeurs flottantes que j'ai créées ou les paramètres qui sont créés. Donc je vais juste faire X et y savoir que ça marchera parfaitement pour le cercle jaune. Mais comment puis-je le faire pour les yeux ? Si vous vous souvenez, j'ai dit à partir de la position du milieu, je vais passer à la gauche 30 pixels, puis jusqu'à 30 pixels pour créer le premier je Donc nous
allons faire la même chose. Donc, je sais que quelle que soit cette position, je sais que les yeux donnant à être 30 pixels de moins sur l'axe X et 30 pixels de moins sur l'
axe Y. Et puis l'autre sera de 30 pixels de plus et de 30 pixels de moins. Ok, donc ça va être X moins 30 et ça
va être pourquoi moins 30. Ça va être du vin moins 30. Et c'est un miroir, donc ça va être X plus 30. Et maintenant, nous devons corriger l'erreur et ajouter nos arguments ce soir. Je veux que le 1er soit un 202 100. Donc, ce sera le grand cercle va être à cette position, qui va être le centre. Mais je veux que l'autre soit sur la position 00. Cool. Maintenant, nous devons sourire. Déplaçons en fait celui-ci afin que vous puissiez voir les yeux qui fonctionnent pour les deux. Je vais faire 100 en 100 et ils pourraient se chevaucher. C' est bon. Cool. Maintenant, nous devons des visages souriants, et ils ont tous les deux les yeux à la bonne position. Et maintenant vous pouvez avoir autant de sourires qu'il veut. Et maintenant, connaissant les boucles, nous pouvons créer de nombreux smileys en générant un positionnement Brandon pour eux, et vous pouvez créer toute une page de visages souriants. Et si vous allez à la documentation et cochez ah, la forme Arche et la façon dont elle est créée, vous serez en mesure de mieux comprendre cette documentation maintenant parce que vous savez tout sur les arguments et comment ils sont réellement utilisés parce que vous avez créé votre propre fonction. Non, créons une autre fonction qui revient à peu près cette fois. Je ne laisse que les 100 pixels. Miley, tu sais, je n'ai que ça parce que je veux imprimer quelque chose ici que je reviens de l'autre fonction là-bas dans la création. Vous savez, créons une fonction publicitaire, qui est la fonction la plus simple que vous pouvez créer avec la valeur de retour. Maintenant, une fonction d'annonce va ajouter deux chiffres. Ce sera une fonction très, très simple. Ça va, Teoh ajoute un accident. Pourquoi valoriser ce que l'utilisateur entre ou ce que vous voulez et mettre à l'intérieur de votre programme, et puis il va retourner des informations de ces deux, il peut être un intrus ou un flotteur. C' est à vous de décider comment vous voulez créer cette fonction. Je vais juste créer un entier parce que c'est beaucoup plus simple à traiter. Donc je vais faire le type de retour. Et donc non, le mot clé est éviter plus parce que cela va retourner quelque chose, et je vais dire et et je vais l'appeler à et et les parenthèses, puis d'autres crochets. Maintenant, au lieu d'avoir des paramètres vides ou des parenthèses vides, je vais lui donner une valeur X. Et White Alley. Non, cela va être un peu en colère juste parce que cette méthode doit retourner un résultat de type interview et nous n'avons toujours pas de valeur de retour ici. Comme je l'ai dit dans ma vidéo d'explication, je peux soit créer une variable ici à l'intérieur de cela appelé certains et créons cela abord ou il peut la retourner directement. Et comme il s'agit d'un petit exemple, nous allons aussi le retourner directement. Donc, je vais juste le faire se termine. Je vais l'appeler, et ensuite je vais faire X plus y donc quelles que soient les valeurs à l'intérieur de X et quelles que soient les valeurs à l'intérieur de ce que je veux. Certains d'entre eux et puis je peux juste en revenir. Alors maintenant c'est heureux Il n'y a plus d'erreurs. Et il rend ce fils. Je vais te montrer comment ça va marcher avec ça, et ensuite je vais le changer pour retourner les uns directement. Donc, faisons cela à l'intérieur de la fonction de textes que nous avons utilisé auparavant. Et je vais mettre ça à la position 200. Peu importe ce qu'il y a ici et je vais appeler une annonce. Vous pouvez lui donner la valeur que vous voulez. Tu fais juste 10 et 5. Et si j'ai raison, attiré retourné 15. Droit ? Et il renvoie la valeur. 15 accordez une taille de texte incrémentielle un peu juste pour que vous puissiez voir clairement ce qui est écrit. Ok, donc maintenant il est 15. Et voyons si je veux retourner les valeurs directement. Donc, je vais juste retourner cela directement parce qu'il n'y a pas besoin d'ajouter plus de variables à la mémoire quand vous n'en avez pas besoin. Et si je le
fais, ce sera 15 ans. Nous savons donc que tout fonctionne très bien. Maintenant, il peut garder votre manteau propre en créant des fonctions et en les appelant quand vous en avez
besoin .
21. Cours et objets: sont la base de la programmation orientée objet parfaite lorsque vous voulez créer un modèle pour un nouvel objet qui n'existe pas par défaut. L' un des exemples les plus connus est la classe de véhicules. Disons que nous voulons créer un plan pour créer des objets de véhicule. Nous pouvons écrire une classe appelée Véhicule et commencer à penser à quelles propriétés et actions tous les véhicules ont. Par exemple, ils devraient tous avoir une position de départ. Ils bougent tous. Ils ont tous un type de moteur et ainsi de suite. C' est génial. Nous avons déjà un modèle que nous pouvons personnaliser en fonction du type de véhicule ont été créés . Cependant, il est plus logique ici d'examiner un sujet plus génératif lié à l'art. Regardons un marcheur aléatoire, et pendant que nous y sommes, explorons la syntaxe pour créer des classes et des objets. Chaque classe commence par un mot-clé de classe, suivi d'un nom, par exemple, un marcheur d'appel. Contrairement aux fonctions, un nom de classe est directement suivi avec des accolades plutôt que des parenthèses car elles viennent plus tard lors de la création du constructeur. Le constructeur est le nom de la classe, suivi de parenthèses dans lesquelles nous pouvons ajouter des paramètres pour permettre l'entrée si nécessaire. Maintenant, il est temps de certaines propriétés et méthodes. Une propriété est une variable dans une méthode est une fonction, mais la terminologie est différente car ils appartiennent à une classe. Donc, nous savons déjà comment les créer. Sachez juste que les propriétés vont avant le constructeur et les méthodes vont maintenant pour créer une instance de cette classe, nous avons utilisé la nouvelle classe que nous avons créée car nous avons utilisé des types de données pour les variables continuant avec leur exemple
Walker. Voici à quoi ressemblera notre instance. Nous pouvons également créer un tableau d'objets si nous ajoutons des crochets après le mot-clé Walker, comme maintenant pour créer réellement l'instance, nous avons attribué cette variable avec le type Walker à la valeur de nouveau walker. Pour cela, le constructeur est vide. Mais si nous définissons des paramètres, nous devons passer. Les arguments comme nous l'avons fait avec les fonctions et l'exemple nous aideront à obtenir plus de pratique avec les classes et les objets
22. Exemple : Cours et objets: cet exemple va juste être moi montrant comment les classes d'air utilisées ou comment j'utilise personnellement les classes. Je vais les créer dans le même fichier parce que nous parlerons de plusieurs fichiers plus tard, et je ne veux pas incorporer beaucoup de choses dont je n'ai pas encore parlé. Ok, avant de commencer à passer par l'exemple, je veux parler de pourquoi utiliser une classe Parfois, au lieu de simplement utiliser les formes régulières ou d'utiliser un tableau ou une boucle for est une leçon. Je veux créer un cercle sur la page, mais je veux aussi le déplacer. Donc, tout le programme est de les animer. C' est peut-être une image fixe. En fin de compte, je veux créer en faisant bouger ces formes et en dessinant sur l'écran. Ou peut-être que je veux juste qu'ils bougent parce que je veux partager l'animation elle-même. Donc, un cercle, si je veux le conduire,
a une position X et Y, et il a la taille. Mais si je veux le déplacer, la seule façon de le faire est d'utiliser des variables et d'incrémenter l'accent y basé sur ce que je veux faire avec. Mais maintenant, si je veux créer un tableau de cercles pour les déplacer à travers l'écran, je n'ai pas nécessairement une méthode qui les déplacerait. Je n'ai pas de méthode qui,
hum,mettrait hum, à jour l'écran à chaque fois qu'il y avait un mouvement ou que ces formes bougent. Donc, je vais juste créer une salle de classe comme le fait le processus de pensée. Tu le sais. D' accord. Vous devez créer une classe car il n'existe pas d'objet qui possède toutes ces fonctionnalités dont vous avez besoin car tous les types de données dont nous avons parlé sont en fait des objets qui ont des classes. Ainsi, les méthodes qui sont utilisées avec la chaîne, par
exemple, sont toutes définies à l'intérieur de la classe de chaîne. Donc tu n'as pas fait la même chose. Donc je vais créer un cercle d'or de classe, et nous allons avoir des propriétés quatre mouvement, et pour la taille et même pour la couleur, commençons par lire la classe, nous allons juste l'appeler cercle. Et on a dit qu'il n'avait pas de parenthèses ici. Une classe a un constructeur à l'intérieur de celle-ci. C' est un peu comme la fonction de la classe. Donc, il ressemble à une fonction, mais sans aucun mot clé avant cela. C' est donc le même nom, puis les parenthèses, puis à l'intérieur,
vous initialisez des variables uniques pour d'autres langues. On l'appelle parce que c'est un Isar initial. Donc, vous initialisez tout ce dont vous avez besoin ici et avant. Nous avons dit que les propriétés vont ici, ce qui est le même que la variable diffèrent créé si vous les avez créés avant toutes les fonctions que nous avons. Alors je vais juste faire float ex et pourquoi ? Et puis je vais aussi leur donner la taille qu'il peut être. Ils peuvent tous avoir la même taille, ou ils peuvent avoir des tailles aléatoires. C' est à vous de décider comment nous voulons les créer. Il s'agit simplement de créer le modèle. Le cercle va être le modèle dont nous allons créer de nombreux cercles. Donc, c'est fondamentalement la forme du cercle ou comment ça a été un look ou quel genre de propriétés ça va moitié. Et puis je vais aussi lui donner une couleur, donc on va faire au hasard. Je sais que nous n'avons pas introduit le hasard, mais c'est ce que c'est l'une des choses que je vais utiliser ici juste pour vous montrer comment je l'utiliserais normalement. Je ne veux pas que cet exemple soit un exemple, juste pour vous montrer comment les classes sont créées sans vous montrer exactement comment je les utiliserais. Je veux qu'ils soient réalistes, même si je vais présenter quelque chose à qui je n'ai pas parlé. Probablement. Ok, donc si vous voulez que l'utilisateur définisse la position X sur ma position, toutes tailles ou couleurs, alors vous devrez assigner des paramètres ici. Donc, si je le veux, disons que si je veux que l'utilisateur saisisse la position X et Y, alors je devrai dire float et je lui donnerai un nom différent. Donc je vais juste faire des actes de soulignement, juste l'associer à X et ensuite flotter. Pourquoi, vous pouvez les appeler X X Y. Pourquoi est-ce juste plus facile si c'est différent de celui-ci ? Ce n'est pas déroutant. Et puis vous les affecteriez ici. Donc c'est l'Isar initial. Donc, je dirais que ce X est égal à ce X, donc quelle que soit l'entrée ici va être assignée deux X et alors je ferai la même chose pour pourquoi Mais maintenant je veux juste qu'ils émergent du centre. Donc je vais juste dire 200. Donc je vais taper 200, puis mentir sera 200 aussi. Et puis je vais leur donner la même taille pour l'instant. Donc, ce sera de bons pixels, et alors c'est juste arbitraire. Ce n'est pas important de quelle taille vous mettez. C' est à toi de décider et ensuite je vais faire de la couleur. Faisons en fait une seule couleur. Pour l'instant, je vais juste le rendre bleu. Après cela, je vais écrire une méthode. Donc, les deux principales méthodes que vous verrez beaucoup d'artistes génératifs utilisent,
y compris moi, y compris moi, est la méthode d'affichage et de mise à jour. Vous pouvez appeler la méthode de mise à jour déplacer. C' est à vous de décider comment vous voulez appeler ces méthodes. Mais c'est la convention que vous verrez beaucoup. Je suis juste d'appeler le 1er affichage 1 et l'affichage est fondamentalement la méthode de dessin. Mais je l'ai appelé. Je l'appelle « display ». Juste parce qu'il y a une méthode de tirage nativement et puis éviter grand va déplacer les cercles. Donc ici, vous allez dessiner ce que vous voulez dessiner. Donc, quoi que vous vouliez afficher, vous l'écrivez ici. Je vais lui donner un remplissage de couleur, et vous n'auriez pas utilisé appel ici sont la couleur variable ici et juste remplir directement. Mais je voulais juste le mettre ici et ici juste pour vous montrer que vous pouvez l'ajouter en tant que propriété et vous pouvez même avoir à utiliser votre entrée. La couleur. Peut-être qu'ils veulent randomiser la couleur. Peut-être qu'ils n'auront pas la même couleur. Et puis je vais Teoh dessiner un cercle. Donc le cercle va avoir l'exposition de la position Y et vous les gars, je vais laisser la méthode de mise à jour MT. Pour l'instant, et je vais te montrer à quoi ça ressemblera. Ok, donc vous avez dit que si nous voulons initialiser ou déclarer un objet de la classe circle, nous allons l'appeler comme si c'était le type de données, tout comme les chaînes et introduire et flottant dans tous ces autres types de données, et ensuite je vais l'appeler n'importe quoi. Donc je vais juste l'appeler monsieur et puis je vais les initialiser à l'intérieur de ce cercle de fonction
centrale va égaler votre cool amusé, parce que maintenant je crée une nouvelle instance de classe de cercle. Donc maintenant cela contient une instance de la classe ? Non. Si je veux créer une autre instance, je vais juste faire deux véhicules Cirque, nouveau cercle. Et ces deux auront des paramètres différents si je les initialise avec des arguments. Si jamais j'ai des paramètres ici et les initialiser, et si cela
a, genre, doit émerger du centre et que je l'ai fait sortir du coin,
alors ce étaient des objets différents. Quand je dois m'initialiser pour servir deux ici, c'est bien, ok, maintenant je vais juste mettre l'arrière-plan pour qu'il ne sèche pas parce que je voulais juste repartir à White, et maintenant je vais appeler ça Cirque, et je vais appeler sa méthode à afficher. On ne va pas appeler Update parce qu'elle n'a rien. Et même si j'appelle, ça ne me montrera rien d'autre que l'affichage parce qu'il est implémenté. Ça va me montrer le cercle. Non, c'est ainsi que vous appelleriez des méthodes et des propriétés à l'intérieur de votre classe afin qu'elles soient définies en tant que variables et fonctions car elles sont identiques. Mais parce qu'ils appartiennent à une classe, vous devez utiliser la notation par points pour se connecter ou pour les appeler car ils n'appartenaient qu'aux placards. Et le Cirque est un exemple de cette classe. Il peut accéder à toutes les propriétés et méthodes en utilisant la notation par points. Donc, si je veux accéder à X, car ce n'est pas privé alors ou la valeur des actes que je peux faire cela et je peux
lui définir une valeur , aussi, si je veux le rendre zéro à la place, je peux le faire. Mais pour l'instant, nous allons seulement afficher. Ok, maintenant on peut jouer et tu peux voir notre cercle. On peut le rendre un peu plus grand, alors je vais en faire 20 et ensuite on verra notre cercle malgré. Et si je supprime ça, tu peux voir qu'il n'est plus là. Et c'est juste un moyen de choses communes, n'importe quel Commons ou tout ce qui a des barres obliques doubles avant lui. Ça ne marche pas ou ne se montre pas. Et maintenant, ça se montre. Maintenant, allons en fait avec. Alors, tu le bouges ? Je vais juste faire X plus égal. Je vais faire la moitié de ce pixel. Donc ça va se déplacer lentement parce que je n'avais qu'un pixel chaque anneau. Et maintenant, si je veux le déplacer, je dois l'appeler. Mais vous devez appeler la méthode qui a le mouvement ainsi servi sur la mise à jour et il est maintenant en mouvement. Vous voyez que c'est très similaire à créer un cercle juste avec des variables normales ou des
flotteurs normaux de X et y en tant que positions, puis changer cela à l'intérieur de la fonction de dessin et l'animer. Mais si vous vouliez créer un tableau de ces cercles se déplaçant avec des vitesses
aléatoires, des tailles aléatoires, vous ne pourrez pas le faire à moins de créer une classe. Donc maintenant, il semble très similaire. Mais si nous voulons créer un tableau de ceci, je vais juste faire des crochets pour le changer en un tableau, vais l'appeler Surks à la place parce que je voulais rester fidèle, et puis je vais d'abord initialiser le tableau. Donc nous n'initialisons pas la classe était en fait initialiser le tableau cette fois au début, je vais juste un nouveau cercle Cirque et puis je vais lui donner une taille de 10. Alors disons 1/2 10 cercles. D' accord. Maintenant, pour initialiser chaque instance ou pour créer chaque instance du cercle, il faut utiliser une boucle for . La raison en est que si je veux initialiser tout le monde maintenant, ce Cirque n'existe pas. Quoi qu'il en soit, je vais juste appeler ça Surks. Et maintenant, il dit que cela ne correspond pas à un tableau. Donc je dois créditer aucun droit. Pour ce faire, vous devrez faire zéro jusqu'à neuf juste pour faire 10 cercles. Donc la bonne façon de le faire est d'utiliser, euh, je vais juste faire une boucle pour et je vais donner dans parce que pour une augmentation, nous devons compter. Donc, nous devons utiliser des entiers et va commencer par zéro. Et puis je dois être moins que Surks ne longueur pas parce qu'ils avaient seulement besoin de passer par le tableau jusqu'à la longueur de ce tableau. Ou je pourrais juste en faire 10. C' est la même chose et puis, Mais si jamais je développe cela, il est préférable d'utiliser pouce la propriété du tableau, puis de changer ces deux à chaque fois. Et puis je vais être implémenté pour chaque aération une fois et maintenant pour puiser dans chaque cellule ou chaque élément du tableau. Je vais devoir le faire pour les parenthèses. Donc le 1er 1 va être plus facile. Le 2ème 1 va être un jusqu'à ce que les fonctionnalités neuf, puis il s'arrête. Et maintenant, je vais devoir utiliser une boucle for est bien pour l'affichage et la fonction de mise à jour dans Ce sont en fait surks un autre dans une course. Je vais devoir le faire et les crochets. Maintenant, si je fais ça, on a 10 cercles, mais ils sont tous au-dessus de l'autre. Donc, la puissance de cette classe maintenant est que nous pouvons choisir des positions aléatoires
position de départ aléatoire pour chacun, et ensuite ils vont tous déplacer la même étape, qui est un demi-pixel. Donc je vais juste changer ça en position aléatoire. Je vais en faire une position de zéro à 400 et ensuite pour celui-ci aussi, je vais passer de 0 à 400. Vous n'avez pas besoin de savoir beaucoup sur la fonction aléatoire en ce moment, mais juste pour que vous suiviez avec moi, la fonction aléatoire prend une valeur minimale dans une valeur maximale. Donc ça va me donner un nombre de 0 à 400. Donc n'importe quel numéro de là, donc ça va être et la raison pour laquelle il a choisi des centaines de parce que ma taille de toile est 400 par 400. Je voulais donc passer de zéro, qui est le côté gauche de la toile à 400 qui est le côté droit de la toile. Et il en va de même pour la femme de haut en bas. Et maintenant, si une course le fait, nous allons voir que nous avons beaucoup de cercles dans des positions différentes qui se déplacent de la même façon. Nous pouvons également rendre mon comme la taille de l'étape. Donc, disons que je veux une valeur aléatoire de 0,5 à 3, donc ils auront des vitesses différentes. Certains seront très lents et d'autres seront très rapides. Non, si je le fais, tu peux voir qu'ils emménagent dans un endroit très aléatoire. Je pense, cependant, est que vous pouvez voir que chacun d'entre eux est en fait changer de vitesse. La raison en est que nous le modifions dans la fonction de mise à jour à l'intérieur des
fonctions de dessin , sorte que chaque image obtient réellement une nouvelle valeur aléatoire. Mais vous pouvez changer cela pour avoir chaque cercle avoir quand SBI aléatoire et colle avec elle à travers la période de l'ensemble du programme. Ensuite, vous ferez pour l'initialiser ici à cause de l'initialisation de nos cercles. Objects est ici dans la fonction de configuration, qui ne s'exécute qu'une seule fois. Donc, je vais ajouter une autre variable appelée taille de pas, et je vais obtenir la même valeur, comme y arriver. Donc 0,5 à 3, entrez cette taille de pas. Maintenant, si je lance ça, chaque cercle va recevoir une valeur aléatoire de 0,5 à 3, et il restera avec elle quand ils se déplacent à travers l'écran. Vous pouvez voir que certains sont très lents et d'autres sont très rapides et déjà quitté l'écran. On peut aussi mentir, mais cette fois, taille de l'
étape sera la même pour l'accent dans la vie. Mais il va y avoir assez pour le faire un peu. Sont aléatoires que je peux faire. Nous pouvons faire une valeur aléatoire de 3 à 3 négatif de cette façon, même si, comme l'ajout et la valeur négative va réellement se déplacer dans le côté opposé. Vous pouvez voir que cet été va vraiment de cette façon et certains le sont en fait. Et si vous voulez le randomiser encore plus loin, vous pouvez créer une taille de pas pour accident. Taille de pas pour pourquoi ? Donc, ce sera une valeur différente pour chacun. Maintenant, nous avons des cercles qui se déplacent autour de ce ruisseau. Vous pouvez faire beaucoup de choses cool ici juste en utilisant des propriétés et des méthodes pense que vous
ne pouvez pas faire avec ce que vous avez déjà en cours de traitement. Donc, ouais, vous les faites interagir les uns avec les autres juste parce que ce sont vos objets. Ainsi, les autres objets qu'ils sont créés par le traitement ne peuvent pas nécessairement interagir les uns avec les autres , par
exemple, et le faire vous-même vous permet de créer cela. Donc c'est assez puissant. Et je pense que si vous parfaites ça, vous pouvez tout faire, blesser l'art indigène, n'importe qui
23. Variables et méthodes du système: jusqu' à présent. Nous avons appris à tout créer, des variables aux classes. Mais il y a quelques variables système et méthodes que nous pouvons utiliser sans avoir besoin de
les créer . Les 2 premières méthodes utilisées chaque fois que je commence une esquisse sont la taille et les méthodes d'arrière-plan , les méthodes de taille, c'est-à-dire la taille du canevas et les méthodes d'arrière-plan. C' est la couleur d'arrière-plan des toiles associée à la fonction de taille sont les variables de largeur et de
hauteur qui contiennent les valeurs de la taille de la toile, ces air utiles. Lorsque vous voulez diviser votre écran en une grille, par
exemple, vous n'aurez pas à créer une variable wits. Vous utilisez simplement la prochaine ou deux variables par défaut qui sont appropriées pour les tests. Les médecins dessinent des croquis, et il y a les variables souris X et souris y, qui ont commencé l'accent de la vie. Pourquoi les valeurs de position de la souris ? Ce qui signifie que vous déplacez la souris. Si vous imprimez les valeurs dans le consul, vous pouvez voir où elles se trouvent sur le canevas. En parlant d'impression au consul, la méthode Pentland est incroyablement utile pour le débogage de votre code. En d'autres termes, trouver false dans votre programme pour les corriger, nous verrons comment cela fonctionne dans l'exemple suivant. Enfin, les événements de poitrine de souris et de maintien de repos sont parfaits lorsque vous êtes programme repose sur la souris ou le clavier de l'
utilisateur. Vous pouvez, par
exemple, démarrer l'animation lorsque la souris ou le clavier est réprimé afin que l'utilisateur ne manque rien. Ce sont les quelques variables et méthodes que j'utilise le plus, mais il y a plus que vous confinez dans la documentation, alors assurez-vous de vérifier cela. Maintenant, passons au traitement pour voir comment cela fonctionne.
24. Exemple : Variables et méthodes du système: vous m'avez vu utiliser la taille et la fonction d'arrière-plan encore et encore dans chaque exemple. Donc, commencez généralement cette méthode de taille en lui donnant deux arguments. Le 1er 1 est la largeur, et le 2ème 1 est la hauteur de la toile. Tout au long des exemples, je n'ai utilisé que 404 100 mais il peut utiliser ce que vous voulez. J' utilise généralement une toile carrée
, aussi grande ou petite, parce que je mets mon travail beaucoup sur Instagram, et c'est la résolution la plus appropriée pour moi. Mais vous pouvez faire une résolution HD pour le mettre dans un film comme une accessibilité 1920 par 10 80 ou toute autre taille que vous voulez. Mais je vais rester avec 400 par 400 pour l'ensemble du cours juste pour être cohérent, et vous pouvez donc voir tout le travail dans la même taille que pour la fonction d'arrière-plan. Nous en avons parlé quand nous avons parlé du type de données de couleur, donc vous tapez juste des arrière-plans, et ensuite vous lui donnez soit un paramètre pour le code hexadécimal, soit une valeur d'échelle de gris ou trois paramètres pour R G et B. Je vais donnez-lui juste un 255. D' habitude, c'est ce que je commence. Offrez un fond de blanc. Et puis une fois que j'ai établi la palette de couleurs, je choisis une couleur différente pour photographier mon design. Ok, donc tout au long du programme, j'ai utilisé 202 100 pour X et y pour positionner le cercle au centre cette fois ne va pas le faire
parce qu' il est préférable d'utiliser la largeur et la hauteur qui est native au programme, car c'est connecté à la méthode de taille. Parce que chaque fois que je change cela, ceux-ci changeront automatiquement si j'ai utilisé les variables de largeur et de hauteur. Mais si j'ai utilisé 202 100 comme avant, ça ne marchera pas, parce que ça ne sera pas toujours 400. Et je ne changerai pas toutes ces valeurs chaque fois que je changerai la taille de mon campus. Cette fois, je vais dessiner le cercle au centre. Mais au lieu de mettre 200 par 200 je vais utiliser avec divisé par deux et la hauteur divisée par deux que je vais lui donner une taille de 100 si nous exécutons ça, nous allons voir le cercle au centre de l'écran. Maintenant, si je veux changer ça pour, disons, 200 par 200 alors ça va toujours être au centre de l'écran parce que maintenant ce n'est pas seulement 200 par 200. Parce que si je laissais ça à 200 pour ex et pourquoi ça va être ici parce que pour une toile de taille 200, c'est le coin inférieur droit. Donc, il est beaucoup mieux de simplement faire ce qui est divisé par deux en hauteur, Divisé par deux coller sa valeur à partir du premier argument, et High prend sa valeur à partir des deuxième arguments de la méthode size. Maintenant, tout fonctionne parfaitement. Revenons en arrière, Teoh notre taille de toile précédente et voyons nos prochaines variables. Donc, cette fois, au lieu de dessiner un cercle statique, je veux bouger le cercle, et je veux vérifier les valeurs de la position X et Y de ce cercle. Donc cette fois on va dessiner le cercle, mais je vais utiliser la souris X et la souris Y on va laisser la même taille, et maintenant si je fais ça, tu vas voir un cercle en haut à gauche, mais ce n'est pas vraiment là. Il est juste là parce que la souris, X et la souris pourquoi va commencer à zéro lorsque vous exécutez le programme, Mais comme vous le déplacez, vous allez voir que ce sont les cercles sont en fait en mouvement avec la souris. Mais la raison pour laquelle cela est dessin est parce que nous n'avons pas de côté fonction d'arrière-plan
du dessin. Donc, chaque fois que le cercle sèche, il en dessine un autre sur la toile et ce qui s'y passe. Donc, si je veux réinitialiser chaque image, je vais juste faire l'arrière-plan situé avant de lui donner la même valeur que nous avons commencé avec. Donc 255 4 blanc. Et maintenant, supprimez ceci. Il va se déplacer et pas seulement dessiner, parce que chaque fois qu'il se réinitialise avec l'arrière-plan, puis avec un cercle qui est au centre, puis avec un cercle qui a une souris X et une souris. Femme pour X dans ma position, sachez que c'est très utile parce que maintenant vous pouvez utiliser la fonction de ligne d'impression pour imprimer la position X et la souris y. Cela vous aidera à mieux comprendre votre campus si vous regardez les valeurs. Donc, si une maison de ligne d'impression X dans ma maison, pourquoi on peut voir la valeur dans le consul ici. Donc à chaque fois que vous le déplacez donc si je vais au centre, ça va être 200 par 200. Eh bien, presque 200 sur 200. Ah, et puis si je vais dans le coin supérieur gauche va être zéro un zéro à nouveau, presque juste parce que je sors de l'écran avant qu'il n'atteigne zéro un zéro. Et puis si je vais ici, ça va être près de 400 avant 100, ce qui est la largeur et la hauteur de notre toile. Maintenant, vous pouvez également imprimer la largeur et la hauteur juste pour voir les valeurs d'eux, et vous allez voir qu'il est 404 100. Et si je me suis entraîné à ce 2 200, vous verrez qu'il est passé à 200. Vous pouvez imprimer tout ce qui est variable ici. Notez également qu'il existe une autre fonction d'impression qui est appelée la fonction d'impression et non d'impression Lynn. La différence entre les deux est que l'impression va tout imprimer l'un à côté de l'autre, donc ça ne va pas vous donner une nouvelle ligne à chaque fois pour que vous puissiez voir qu'il va imprimer
tout à côté de l'autre et qu'il n'y aura pas d'espaces entre eux. Mais la raison pour laquelle il y a des espèces ici est à cause de cette virgule, et je vais vous montrer une des valeurs sur moi, et maintenant vous pouvez voir qu'il n'y a pas d'espace. La seule raison pour laquelle il y avait un espace est parce que je demande à imprimer à la sortie en valeurs au lieu d'une. Donc, oui, je préfère la fonction de première ligne, qui est courte pour la ligne d'impression. Ainsi, chaque fois qu'il imprime, il va créer une nouvelle ligne, puis ouvrir la nouvelle valeur. Donc, chaque fois qu'il imprime la largeur, puis il retournera à la nouvelle ligne et à l'intérieur de la fonction d'impression une. Vous pouvez avoir un ou plusieurs arguments. Habituellement, j'utilise plusieurs et vous pouvez aussi le faire, et j'ai vu beaucoup de gens le faire dans d'autres langages de programmation. Vous pouvez également faire une chaîne disant avec et puis il plus, donc vous ajoutez cette valeur à la chaîne parce que print Lynn met une chaîne, donc vous pouvez simplement l'ajouter comme ça. Et maintenant, vous concédez dit largeur, puis plus la valeur ici. Donc, la valeur est un peu comme être mis à l'intérieur du flux, et vous pouvez en faire un autre appelé hauteur, puis la hauteur du signe plus. Donc, vous contaminez deux chaînes fondamentalement ou n'importe quelle valeur à cette chaîne, et je peux voir la largeur et la hauteur. Et si vous voulez une virgule entre eux, vous devrez l'ajouter. Soit ici, soit tu peux. Après la largeur. Elle va ajouter une autre corde, comme si tu pouvais voir qu'elle a une voiture, tu sais. Donc oui,
c' est essentiellement appelé Renforcer Cat Nation afin que vous puissiez ajouter des mots clés en utilisant des chaînes juste pour comprendre quelles valeurs vous recherchez. Juste au cas où vous avez un programme plus grand et que vous voulez que cette fonction de terrain d'impression colle leur jusqu'à ce que vous ayez terminé le programme, il est plus facile si vous savez quelles valeurs s'adaptent au lieu d'aller et retour à la
fonction Pentland . Ok, les mots clés suivants sont natifs pour le traitement sont la souris pressée et garder le repos. Donc, ces événements appelés air parce qu'ils se produisent lorsque l'utilisateur fait quelque chose de sorte Soit l' utilisateur appuie sur la souris ou appuie sur le clavier. J' utilise habituellement ceci avec un f conditionnel. Si je fais f et puis je fais la souris pressé et ici je vais imprimer la ligne ceci. Vous allez voir que Seulement si la souris est pressée, cela va être imprimé de sorte que vous ne verrez pas cela chaque cadre à l'intérieur de la fonction de dessin. Vous ne le voyez que si je clique. Donc à chaque fois que je clique, la raison pour laquelle vous voyez beaucoup est parce que si la souris est en fait sorti mettre une valeur tant que vous appuyez sur, nous allons vous montrer ceci, hum, dans un exemple de vue. Donc, au lieu d'imprimer, nous allons dessiner chaque fois que la bouche est pressée et je vais supprimer l'arrière-plan pour fonctionner pour l'instant. D' accord. Et maintenant vous pouvez voir que j'ai dessiné un cercle où il a cliqué avec la souris. Et si je veux continuer à appuyer, ça va dessiner un tas de cercles. Donc, c'est génial si vous voulez dessiner quelque chose, si vous voulez créer une application de dessin, vous pouvez créer des formes, et nous allons créer un exemple faisant cela dans le prochain chapitre. C' est donc une façon amusante de laisser l'utilisateur explorer les formes que vous avez. Vous pouvez aussi le faire. Si Kee presse, alors je veux que tu changes la forme. Ok, donc pour te montrer que tu restes, je vais faire quelque chose. Je vais créer un booléen, et je vais l'appeler petit et je vais lui donner une valeur de faux maintenant. Et je vais dire que si vous appuyez sur la touche, je veux petit, égal, vrai. Et puis je vais faire un autre est conditionnelle vérifier si petit est vrai. Donc c'est petit. Petit est vrai que je vais vérifier la souris est pressé à l'intérieur de leur ou maintenant savoir sur le conditionnel Cela peut dire, si petit et la souris Chris donc nous n'avons pas besoin de. Message de conditionnel est et nous essayons d'éviter d'imbriquer des choses autant que possible. On va conduire à 50 pixels au lieu de 100 pixels. Ok, donc maintenant, si j'appuie maintenant, ça dessine un grand cercle. Et s'il appuie sur l'une des touches, il va aussi dessiner le petit cercle. La raison pour laquelle il dessine le grand cercle et ce cercle mois-ci est parce que je
n'ai pas mis ça à l'intérieur de la fausse valeur, donc je vais juste faire autre chose. Mais ça ne va pas marcher maintenant parce qu'ici, il vérifie si petit et la souris est déprimée. Donc ici autre va vérifier la souris est impressionné. Donc, je peux faire autre si et vous pas petit et sa souris pressé où je peux dio un exemple de
nidification où je peux dire, si le sein de la souris et puis à l'intérieur de Moïse contrat sein, si petit et puis autre. Mais je pense que c'est mieux juste parce que c'est plus logique et que tu es obligé de le suivre
comme ça . Alors je vais le faire à la place. D' accord ? Et maintenant, toutes les touches sont pressées. Ça va être un petit cercle. C' est ainsi que vous pouvez utiliser garder le repos dans votre programme. Vous pouvez également avoir d'autres utilisations. Je vais juste te montrer l'un d'eux avec soin pour être créatif. Je n'ai pas vraiment toutes les idées. Je vous donne juste les clés, et vous pouvez être aussi créatif que vous le souhaitez dans la création de votre projet final. Ok, donc c'est tout ce que j'ai aujourd'hui pour un système de variables et
de méthodes, Bien sûr, vous devez aller vérifier la documentation pour beaucoup plus que vous pouvez utiliser dans le traitement et nous verrons plus d'exemples et nous verrons plus d'utilisations pour certains d'entre eux et le prochain chapitre.
25. Événements: pour ce module parlera des événements de masse et de clavier, qui sont assez utiles pour différentes entrées utilisateur sont là, puis la souris et le clavier pressés. J' aime utiliser les entrées à des fins multiples, mais mes plus utilisées sont la touche pressée ou la touche libérée pour enregistrer des images de mon illustration. Les différences subtiles. Le premier fait l'action. Dès que le kee appuie, le second attend la libération de la clé. en va de même pour le clic de souris que la souris libérée. Il y a un tas d'autres événements en cours de traitement est la page de documentation, alors dirigez-vous là pour les vérifier. Nous obtenons deux exemples d'événements dans le chapitre de sortie de conception lorsque nous exportons nos conceptions.
26. Ralentissement: dans ce module a discuté du caractère aléatoire. L' utilisation de deux fonctions random et noise random renvoie la valeur d'une valeur minimale définie à un maximum. Cependant, le bruit renvoie le nombre à flot de 0 à 1 que vous pouvez mettre à l'échelle pour répondre à vos besoins. Presque toutes les œuvres d'art que je crée ces aléatoires, et c'est l'un de mes outils préférés dans l'art génératif. Si je veux randomiser la couleur, par
exemple, j'utilise la fonction aléatoire. Cependant, si je veux randomiser les mouvements lisses, j'ai utilisé une fonction de bruit. Voyons un exemple pour comprendre la différence entre la fonction aléatoire et la fonction de bruit .
27. Exemple : Example:: OK pour le hasard et le bruit. Je veux vous montrer un exemple qu'Everton à l'avance que je veux vous montrer comment ces deux fonctions diffèrent. Et je vais expliquer l'exemple et passer par étape. Donc, la première chose que j'ai créée est de flotter les valeurs X et Y position. Et puis, comme toujours, j'ai fait une taille dans le fond de blanc et puis j'ai commencé Pourquoi en haut divisé par deux. Ok, donc j'ai implémenté X et ça commence par zéro, non ? Si aussi comme il incrémente, ce sera en commentant par un. Si je commente celui-ci en ce moment et que je mets X à la place ici, ce sera un exemple normal où le X ou où le cercle se déplace vers la droite. Non, Au lieu d'implémenter X, j'ai créé la valeur flottante or sont, et je lui ai donné une valeur aléatoire de zéro à la largeur. Donc ça va me donner une exposition de zéro à ce qui est tellement flottante exposition de zéro à elle pour que ça puisse être le milieu. Il peut être sur le côté droit. Il peut être sur le côté gauche. Il pourrait être n'importe quelle valeur et nous pouvons imprimer cette ligne bien afin que vous puissiez le voir si vous le souhaitez . Avant de l'appliquer à l'Ellipse. Je vais juste vous montrer les valeurs. Donc ça va me donner une valeur de zéro à quoi ? Et si je l'applique à l'Ellipse au lieu de notre ex, je vais mettre notre et maintenant parce que nous n'avons pas de fonction de fond va dessiner, ok ? Et vous ne pouvez pas le voir exactement parce qu'il dessine l'un sur l'autre, donc vous ne savez pas. On dirait qu'il y a une multitude de cercles, bien que ce soit juste un cercle qui saute d'une position à une autre ferme zéro à la façon dont je
vais montrer l'arrière-plan. Mais si vous vous sentez étourdi en regardant un cercle devenu fou, je vous recommande de ne pas regarder cette section, hum, ou peut-être de le ralentir. Mais d'habitude, ce qui va se passer, c'est que le cercle va devenir fou de zéro à l'esprit chez médecins
aléatoires. Donc si je fais ça maintenant, tu peux voir que le cercle devient fou. Il va de gauche à droite aux positions de Brandon et nous pouvons ralentir en changeant la fréquence d'
images. Donc, je vais mettre la fréquence d'images à 12. Vous pouvez voir que c'est beaucoup plus lent. Je vais ralentir encore plus. Faites-le trois et vous pouvez voir le cercle sauter d'un endroit à l'autre. Et si nous supprimons l'arrière-plan, vous pouvez voir qu'il va dessiner. Mais maintenant, il essaie différentes positions. Maintenant, je vais montrer le même exemple avec du bruit. Ok, Maintenant, vu dans l'exemple du bruit, nous avons les mêmes choses. Nous avons de vrais flotteurs, ex et pourquoi nous avons la hauteur blanche divisée par deux. Et encore une fois si j'incrémente X et que je le mets ici va passer de gauche à droite. Et il voulait qu'on le voie. Juste un chèque. Il se déplace de gauche à droite ? Ouais, je retire X et, hum, remplacer par n so et en ce moment prend une fonction de bruit. Aucun bruit renvoie la valeur comprise entre 0 et 1. Mais maintenant, pour le voir bouger d'une manière très douce, on va devoir zoomer sur l'onde de bruit. Pas de bruit. Être de 0 à 1 est extrêmement petit. Mais si nous le multiplions simplement avec cela ne va pas nous donner un mouvement très lisse juste parce que c'est une très longue attente. Donc on voulait juste en avoir un morceau,
donc je vais devoir faire un poêlon par une valeur. Donc maintenant, je l'échelonne par 300 en le divisant par 300. Et de cette façon, je ne reçois qu'une très petite partie de la vague, ce qui va me donner un mouvement très doux. Et puis je le multiplie par l'esprit de l'agrandir. Donc, je fais un zoom dessus en le divisant par 300 la valeur de certaines manières. Et puis je m'occupe du tronc de la vague par les esprits. Donc maintenant ça passe de zéro à l'esprit, et je vais devoir incrémenter des extras parce qu'il est utilisé ici. J' avais donc besoin d'incrémenter pour obtenir les valeurs. Non, si je dirige celui-ci ici, vous pouvez voir que le mouvement est très, très lisse par opposition au hasard. Et si j'ai effectivement supprimé l'arrière-plan pour le voir essayer le dessin est beaucoup plus lisse et vous pouvez faire beaucoup avec la fonction de bruit. Je vais vous montrer quelques exemples utilisant bruyant et aléatoire il a créé au préalable juste pour qu'il puisse voir le même exemple en utilisant le hasard et le bruit et comment ces deux peuvent différer . Ok, maintenant qu'on a ouvert le projet d'art aléatoire, je vais le lancer pour que tu puisses voir comment ça se passe au hasard. C' est très arbitraire. C' est très fou. Et le mouvement, ça donne toujours d'excellents résultats. Mais maintenant, si vous voyez le bruit fonctionner, aller voir un résultat bien différent ne peut pas. C' est le même exemple en utilisant le bruit et vous pouvez voir que le mouvement est beaucoup plus lisse et il vous donne des courbes plus agréables. Alors que vous jouez avec l'échelle et la force du bruit, vous allez devenir différent flottant dans le mouvement. Tu vas avoir encore plus de rotations juste parce qu'on utilise le hasard, le bruit et la déportation de ces cercles, et ça va te donner un résultat différent. Et c'est l'une des raisons pour lesquelles j'aime le bruit. Beaucoup mieux pour créer Pink Charlie Art au lieu d'utiliser la fonction aléatoire est parce qu' il vous donne ces mouvements apaiser et il vous donne des coups de pinceau par opposition à la
fonction aléatoire qui vous donne un regard très fou sur le travail. Ça peut marcher si c'est ce que tu cherches. Mais généralement quand j'ai utilisé au hasard, c'est juste pour choisir peut-être des couleurs différentes ou pour deux formes différentes comme j'ai utilisé dans mes autres projets. Mais généralement quand il s'agit de simulations ou d'art et de peinture, il est préférable d'utiliser, puis la fonction de course parce qu'il vous donne beaucoup plus lisse routes menthes. Pour l'instant, c'est tout ce dont je vais parler quand il s'agit de la fonction de bruit et de la
fonction aléatoire . Mais nous allons les traiter plus tard dans le prochain chapitre, et je vais faire plus de cours sur eux à l'avenir, surtout la fonction bruit, parce qu'il y a beaucoup que vous pouvez faire avec ça, et vous pouvez produire une œuvre d'art très incroyable juste en utilisant la fonction bruit maintenant sur le module
suivant.
28. Structure: ce dernier module du chapitre 2 va être tout au sujet de l'instructeur d'organisation. C' est très important à savoir, car une erreur débutante est de simplement écrire du code dans une affaire très non organisée, parce que vous ne faites que rendre difficile pour vous-même à long terme, Par exemple, les
commentaires sont essentiels pour comprendre pourquoi une ligne de code est écrite. J' ai lutté avec ça quand j'ai commencé. Parfois, vous savez comment le code fonctionne, mais il ne sait pas pourquoi je l'ai utilisé. Voici un exemple. J' ai la même boucle quatre avec deux commentaires différents. Le premier me dit que je mappe les valeurs Y aux valeurs d'angle, mais la fonction de carte dit déjà cela. Donc ici, je suis seulement répétitif. Ce que je dois savoir, c'est pourquoi je mappe les valeurs Y aux angles. Au fait, ne vous inquiétez pas de l'exemple d'eux-mêmes. Ceci est juste un exemple de commentaires. Dans cet autre exemple, je veux vous montrer comment déclarer vos variables et fonctions avec des noms descriptifs peut vous
aider à comprendre ce qu'ils font à long terme, plutôt que d'ajouter des commentaires supplémentaires montrent. Notez que parfois si vous avez besoin d'annoter votre code que Peut-être la solution est de renommer votre variable ou votre fonction sur le côté gauche. J' ai dû ajouter un commentaire pour comprendre le manteau quand sur le côté droit, le nom des fonctions l'explique mieux. Le point est d'être assez descriptif pour donner un sens à votre code plus tard en revenant à nos classes et objets. Exemple. Nous avons créé la classe au bas de son fichier, mais c'était un très petit exemple. Dans les projets réguliers, les classes prennent un tronc de votre fichier, ce qui signifie que vous allez faire défiler vers le haut et vers le bas pour naviguer entre votre classe et votre projet. C' est pourquoi plusieurs fichiers sont plus pratiques. Habituellement, je crée un fichier pour mon projet principal et un fichier pour ma classe. Et si j'ai plusieurs classes que je les sépare dans leurs propres fichiers. Last but not least dans cette section parlera des conventions de nommage. Je ne sais pas si vous l'avez remarqué, mais chaque fois que je déclare la classe, j'ai commencé avec une lettre majuscule, et quand j'ai créé des variables ou des fonctions, j'ai commencé avec une petite lettre. C' est ce qu'on appelle une convention de dénomination. Ils vous aident surtout lorsque vous travaillez avec des équipes ou que vous partagez votre code en ligne ou simplement pour garder notre code cohérent. Je n'ai pas montré d'exemple avec une variable à plusieurs mots ou un nom de fonction. Mais si vous avez besoin de le faire, vous devrez utiliser la caisse de chameau inférieure. Vous commencez par une petite lettre pour le premier mot, puis pour chaque mot après vous aurez une lettre majuscule. Ça s'appelle ça parce qu'on dirait que c'est le dos d'un chameau. C' est à peu près tout pour le deuxième chapitre. J' espère que vous avez beaucoup appris et trouvé les exemples utiles. Maintenant, il est temps de faire quelques outils artistiques.
29. Chapitre 3 : Les bases de la conception: c' était amusant d'apprendre les concepts de programmation. Mais comment pouvons-nous créer de l'art ? Nous commencerons par les fonctions principales et la transformation. Ensuite, nous allons commencer à implémenter la couleur dans nos exemples. Une fois que nous en sommes familiers, nous pouvons commencer à plonger dans les images et à traiter comment elles sont chargées dans la toile et comment nous pouvons les manipuler. Enfin, mais non des moindres, va puiser dans le type un peu, apprendre à utiliser les types de données de chaîne et de charge et comment charger du texte à partir d'un fichier bien travailler des exemples ensemble pour chaque section pour mieux comprendre les concepts.
30. Forme : Exemple 1: Commençons par le premier exemple de la section de forme va créer quelque chose de similaire à ceci Puisque cela va être aléatoire, ça ne va pas ressembler exactement à ça, mais nous allons aller pour le même look. Dans cet exemple, on a modifié la taille de chaque cercle en fonction de leur position sur l'axe X. Maintenant, cela devrait nous aider à commencer à planifier. Nous avons donc besoin de savoir où ces cercles de positionnés sur l'axe X et nous avons besoin de connaître leurs tailles ou nous devons changer leurs tailles. Par conséquent, je vais avoir besoin de deux variables pour flotter des nombres parce que je voulais être un peu plus précis que l'entier, puisque nous allons vérifier sa position sur deux lignes parce que nous voulons trois différents en fonction de leurs positions sur l'axe X. Donc la première chose dont nous avons besoin, c'est l'exposition, et ensuite nous avons besoin de Désolé. Non, j'aime commencer mes dessins en éteignant le trait, puis je vais changer pour remplir en noir parce que la valeur par défaut est blanche. Et commençons juste avec ça pour l'instant et puis à l'intérieur de la fonction de tirage, je veux donner aux cercles une exposition aléatoire et je vais faire de 0 à 400 puisque nous
faisons de zéro. Je n'ai pas besoin d'écrire le zéro à cause de la faute. C' est à partir de zéro quelque chose que vous faites juste pour 100. Pour l'instant, c'est exactement la même chose que d'écrire 0 à 400, je vais dessiner mon cercle une Position X Et puis au lieu de créer une autre variable pour pourquoi je vais juste le faire directement ici. Donc je vais faire de la hauteur parce que je le veux de zéro à la hauteur. Donc, je veux que tous les cercles aient un positionnement aléatoire sur l'accès Y de zéro à battage médiatique, puis je vais leur donner la variable de taille parce que je veux que leur taille change en fonction leur position sur l'axe X avant de l'exécuter. Donnons-lui une taille initiale. Je vais juste à 10 ans et si on le dirige, on peut voir qu'
on a des cercles aléatoires sur des positions aléatoires. Maintenant, je veux couper ma toile en trois sections. Et si l'exposition des cercles est sur le côté gauche , par
exemple, quand la première section alors je voulais être d'une certaine taille. Et si c'est au milieu, je veux avoir une certaine taille. Et enfin, si c'est sur la partie gauche, je voulais avoir une taille différente. Maintenant, nous pouvons le faire en utilisant une section d'affaiblissement conditionnelle F off. Je ne peux pas utiliser un F un autre f et puis ou bien condamner. Donc je vais dire si X est moins de centaines. Donc c'est ma première section. Donc maintenant, si X est inférieur à 100 donc c'est dans le si c'est dans la première section, je veux que la taille soit une valeur 10 a. Laissez-le à cela et puis puis puis avant de faire le reste. Si je veux juste faire d'autre chose et mettre la taille à 30, voyons ce qui se passe. Maintenant, nous pouvons voir tout ce qui est dans cette section, qui est moins de 100 pixels, va être 10 et ensuite tout le reste sera 30. Je vais aussi, et je vais vérifier si X est supérieur à 100 parce qu'on a déjà vérifié. Si c'est moins de 100, je veux vérifier si c'est supérieur à 100 si X est inférieur à 100 et je veux la taille 3 20 Maintenant, nous avons trois sections de la taille de 10 taille de 20 et de la taille de 30. Pour rendre cela plus intéressant, je vais ajouter une valeur Alfa au Phil. Je vais partir. C' est noir, mais je vais ajouter une valeur Alfa de 100. Donc, de 0 à 5500 est assez agréable. Ce n'est pas si transparent et non, ce rose. Donc ça va nous donner un bon visuel. Alors maintenant, quand ils se chevauchent, ils me donnent une couleur différente. Maintenant, pour rendre cela encore plus intéressant, au lieu de donner une taille d'une valeur statique, je vais lui donner une valeur aléatoire. Je veux lui donner un jour aléatoire de 1 à 10 pour celui-ci, um autour de lui valeur de 11 à 20 pour celui-ci, et enfin une valeur aléatoire de 21 à 30. De cette façon, il aura l'impression de passer plus d'une taille à une autre. Nous avons créé un design que vous pouvez ajouter de la couleur à, que vous pouvez jouer avec encore plus. Peut-être que vous voulez faire des diagonales ou vous voulez jouer avec le positionnement ex dans le positionnement des EAU au lieu de juste X. Ou peut-être que vous voulez le rendre vertical au lieu d'horizontal comme nous l'avons fait ici. Um, ouais. Sentez-vous libre, Teoh, créez sur celui-ci et moi pour jouer avec elle pour voir ce que vous pouvez trouver.
31. Forme : Exemple 2: pour l'exemple suivant dans la section de forme, nous allons créer quelque chose comme celui-ci. Maintenant, cela ressemble à une étoile et il peut être ajouté dans une illustration plus grande, alors voyons comment nous pouvons la créer. Comme toujours, j'aime commencer. On n'a pas d'accident vasculaire cérébral juste parce que ça me donne un regard plus doux. Je sais que beaucoup de gens utilisent aussi les AVC, et cela peut ajouter un élément très cartoony à votre conception. Alors n'hésitez pas à faire ce que vous aimez faire. Mais pour moi, j'aime commencer sans accident vasculaire cérébral, puis à un AVC plus tard. Si je sens que le design a besoin d'OK pour cela, il faudra commencer par un rectangle. Et je sais que j'ai seulement introduit cercle avant, peut-être avec trébuché sur une lèvres dans la section aléatoire, mais je n'en ai pas vraiment parlé. La fonction Ellipse est similaire à la fonction cercle. Cependant, vous pouvez avoir un autre avec la hauteur, donc nous ne ressemblerons pas à un cercle. Il ressemblera essentiellement à une ellipse, et vous pouvez en faire un cercle si vous le donnez. C' est la même largeur et la même hauteur et la même chose vaut pour le rectangle et le carré. Donc, il y a une fonction différente appelée Square qui vous permettra de plus grand carré avec
moins d' arguments. Mais j'aime utiliser l'épave aussi, juste parce que je finis par changer l'esprit de la hauteur et ça lui donne un look différent. Et c'est ce que nous allons faire ici est bien, donc je vais créer le rectangle à la position 00 et je vais donner à la largeur une valeur
aléatoire. Donc je vais lui donner une vallée aléatoire de 10 à 300 parce que je voulais avoir un écart de
chaque côté et ensuite je vais Teoh, donne-lui une hauteur de 20 Maintenant, sur ce va être à la même position à 00 et chaque fois que ça va, Teoh ont un autre avec. Mais ils vont avoir la même hauteur, donc ils vont ressembler à des rectangles de différentes tailles maintenant, vu qu'on n'a pas de trait et le Phyllis White par défaut, je vais devoir changer. La valeur par défaut est tombée au noir. Si je lance ça, ça va ressembler à un rectangle, mais vous pouvez voir qu'il est en expansion. Son dessin en fait l'un sur l'autre. Alors donnons-lui une valeur Alfa de 10. Maintenant, nous pouvons le voir en train de changer, et nous pouvons voir qu'il y a une multitude de rectangles les les uns sur les autres. Maintenant, je dois déplacer ça au centre. Donc si je fais ce qui est divisé par deux hauteur divisée par deux, alors ils le déplacent vers le centre. Ça va commencer par le centre, mais ensuite il va s'étendre à droite. La raison en est que pour le rectangle, il sèche à partir du coin supérieur gauche. Mais nous voulions dessiner à partir des cercles X centraux, donc je vais changer le mode rectangle en utilisant la fonction de mode Rex Teoh Center. De cette façon, il va dessiner du centre, et vous pouvez voir que c'est un look beaucoup plus agréable. Pour que ça ressemble à une étoile, je vais devoir la faire tourner. Il y a une fonction de rotation qui prend une valeur et un éclat. Vous pouvez utiliser des degrés, puis les convertir à l'aide de la fonction d'éclat. Mais je vais juste utiliser directement l'éclat et je vais Teoh utiliser une valeur aléatoire de zéro à deux pi donc deux pi est équivalent à 316 degrés, donc cela va me donner un cercle complet. Cependant, si je lance ceci, nous allons rencontrer un problème car la rotation tourne autour du point 00 de la toile , qui se trouve dans le coin supérieur gauche de la toile. Maintenant, nous pouvons corriger cela en utilisant translate pour traduire toute la toile ou les zéros. Votre nommé la toile au milieu de la toile, qui est ce qui est divisé par deux et la hauteur divisé par deux. Traduire va déplacer l'écran entier ou le trou est à vous, votre point vers ce que vous lui donnez, donc je vais le donner avec divisé par deux divisé par deux. Ok, et maintenant ça marche. Il tourne autour du point 00, qui est déplacé vers le centre. Mais maintenant j'ai besoin que les rectangles soient au centre. Puisque nous avons déplacé des zéros votre point vers le centre, et maintenant je peux redessiner les rectangles à 00 parce qu'ils sont en fait au milieu du campus. Do 00 Maintenant, nous avons un rectangles tournant autour du point médian de la toile, et ils ont des largeurs différentes pour faire cela plus comme une étoile. Je vais changer le fond de l'orteil noir et le filtre blanc. Maintenant, cela lui donne un aspect très différent et il ressemble à un tunnel ou une étoile émergeant
du centre, qui peut être ajouté à n'importe quelle illustration et le rendre impressionnant. Ensuite, utilisez vraiment des fonctions avec des formes pour créer un look différent.
32. Forme : Exemple 3: Pour ses 2 premiers exemples, nous avons créé un dessin animé, mais cette fois nous allons créer un design statique en utilisant pour les boucles et la fonction. Pour ce design, il a créé une rangée de perles, puis j'ai utilisé celles pour créer mon look final parce que cela me permet de colorer chaque ensemble de perles d'une couleur différente. Donc, il va lui donner un visuel différent de dessiner des cercles aléatoires sur l'écran avec des
couleurs aléatoires . Parce que je vais avoir une couleur différente pour chaque cercle. Quand ici, je peux avoir une couleur différente pour un ensemble de formes. Alors créons une rangée de sièges pour cela. On va faire exactement avec un visage souriant et l'exemple des fonctions. Je vais créer une fonction appelée Vidro,
et ici, ils veulent utiliser tous les paramètres pour l'instant. Mais nous allons mettre en œuvre plus tard que pour l'instant, sont juste va créer la ligne et puis nous allons voir ce que nous pouvons faire à côté de créer une rangée de perles. Je vais utiliser la boucle for à l'intérieur de ma fonction. Maintenant, je peux créer trois Eclipsys différentes, peut-être en utilisant la fonction alevis, et faisons cela d'abord,
juste pour que nous pratiquions un peu plus avec des formes, puis nous allons implémenter la boucle for et voir comment nous pouvons créer toute la rangée de cercles ou Philip voit à côté de l'autre pour les premières lèvres. Je vais le mettre à 00 heures et je vais lui donner une taille. Et je veux que ce soit une variable parce que je vais utiliser la même taille pour tous les cercles. Je vais juste créer une variable locale ici, et ensuite je vais l'utiliser pour la taille. D' abord. Je voulais juste le savoir,
écoute, écoute, parce que je veux que ça soit statique, donc il n'y a pas besoin d'une animation parce que ça ne fera que dessiner des cercles les uns sur autres. Je vais changer le filtre zéro et l'arrière-plan à 2 55 et ensuite je vais appeler le dro ici. Donc, si tout cela en ce moment, nous pouvons voir qu'il n'y a qu'un cercle dans le coin supérieur gauche. Demandons maintenant aux autres cercles que le prochain cercle soit à côté du premier cercle. Nous devons le déplacer selon la taille de celui-ci. Maintenant, un cercle ou dans les lèvres sont tirés du centre. Et si je veux le déplacer à côté de l'autre, je vais devoir le déplacer par deux radio I. Donc, en gros, ça veut dire la taille. Parce que la fonction des théologiens prend dans une largeur et la randonnée. Ça ne prend pas un rayon. Il prend tout le diamètre. Donc, je vais utiliser cela pour l'axe X du deuxième cercle, puis sur l'axe Y va être sur le même niveau. Alors devient zéro, et ensuite ils vont avoir la même taille. Si je fais ça, on peut voir qu'ils sont à côté de l'autre après. Rendons ça un peu plus grand pour qu'on puisse voir, et ensuite on pourra le changer. Non. Si je veux dessiner le troisième cercle, il va être la taille multipliée par deux zéro sur l'axe Y, puis obtenir la même taille. Maintenant, chaque fois que je veux déplacer un nouveau cercle, il va être la taille multipliée par la position de cela, donc le 1er 1 va être la taille multipliée par zéro. Le 2e 1 est en fait la taille multipliée par un et le 3e 1 est la taille multipliée par deux. Donc, tout après va incrémenter le multiplicateur. Donc ici il 0123 La chose qui pourrait faire ça pour nous est une boucle for, donc nous pouvons commencer à zéro, et ensuite nous pouvons le déplacer vers le haut. Et nous pouvons utiliser les decks Thean pour cela pour boucle comme un multiplicateur. Donc, créons cela pour et je égale zéro yeux moins de trois et puis le bon endroit appareil . Donc maintenant seulement besoin est juste une fonction ellipse. Et au lieu de cela, je vais faire la taille multipliée par et ça devrait nous donner les mêmes résultats. Ça nous donne le résultat de l'examen. Et si je veux que Teoh change le compte à n'importe quel numéro ? Je peux le faire en ajoutant dans le paramètre et je vais l'appeler count. Et puis j'ai été remplacé par ici. Tout ce que j'écris ici va être dessiné ici. Donc si je fais cinq, on aura cinq cercles et si je voulais Teoh huit, alors on aura huit cercles. Maintenant, notre fonction est prête pour notre prochaine boucle quatre qui va dans la fonction de tirage. Maintenant, cela pour une boucle va dessiner une multitude de rangées de perles. Je vais commencer avec une boucle régulière, allant de zéro à n'importe quel nombre arbitraire que vous voulez. Je vais commencer par 100 et ici peut juste mettre ma fonction. Maintenant, si je le fais, on va voir qu'on a 100 rangées de perles de huit perles. Mais ils sont au top. Et vous pouvez le savoir si elles sont au-dessus de l'autre parce que vous pouvez voir que l'adresse des cercles sont pixélisées. Si je change ça en un pour qu'on puisse juste en avoir un, tu peux voir que c'est beaucoup plus lisse. Et maintenant vous savez que vous n'en avez qu'un maintenant, par opposition à ce que nous avons fait dans l'exemple souriant que nous avons ajouté une position accent y. Je vais juste utiliser la fonction translate à la place. Donc, traduire va déplacer cela là où je veux sur l'écran. Donc, fondamentalement, ça va déplacer tout le campus où se trouveront ces perles de rove au lieu de déplacer les rangées de perles elles-mêmes. Donc je vais juste lui donner une position aléatoire à partir de zéro. Donc nous n'allons pas écrire zéro de zéro à Wick et puis pour l'axe y, nous allons passer la même chose mais avec des hauteurs. Mais maintenant, si je lance ça, c'est en fait déplacer la même toile à des positions aléatoires parce que chacune de ces rangées de perles est dessinée sur le même campus. Donc, ce que je dois faire est de créer de nouvelles toiles pour chaque exploit de ligne. Et pour ce faire, vous pouvez utiliser la matrice push dans les fonctions pop matrix. Mais ils allaient créer un nouveau canevas ou un nouveau calque pour cette fonction pour forme
que vous créez. Donc maintenant je crée un nouveau calque, puis je le traduit en une position aléatoire à travers l'écran. Et puis je vais aller Teoh, dessiner l'ellipse, saisir cette toile, et ensuite je vais fermer cette couche. Je veux juste créer des flux de ligne sur cette toile, et ensuite je veux le fermer N'importe qui ? Ensuite, dans la seconde ah, itération de la boucle, je veux créer un calque différent, et je veux créer une nouvelle fonction de Vidro, puis je vais fermer ce calque à nouveau. Donc, qui est fondamentalement nous permettre orteil ont une multitude de couches au lieu de jouer autour avec le positionnement de chaque ellipse à l'intérieur des battements de route. Cela rend le calcul beaucoup plus facile. Et maintenant, si je fais ça, on va voir qu'on en a beaucoup. Maintenant, nous pouvons voir n'importe quoi parce que la taille des cercles air énorme. Donc je vais juste le changer à 10 et au lieu d'en avoir huit, pourrais juste faire cinq pour le rendre plus petit afin que nous puissions voir maintenant c'est déjà intéressant. Si vous ajoutez de la couleur,
si vous changez, la capacité de chacun des cercles va vous donner un look très, très intéressant. Et si vous avez fait cela aléatoire, donc je vais lui donner une valeur aléatoire de 1 à 5, il peut être juste un cercle ou cinq cercles sur. Cela va être en colère parce qu'il a besoin d'un entier et des retours aléatoires à flot afin que nous puissions simplement convertir cela en une fin en le mettant à l'intérieur d'une fonction entière ou d'une fonction in . Maintenant, cela convertit le flotteur en un entier. Donc ça va être d'accord, et ça va marcher. Donc maintenant, si nous faisons cela, nous pouvons voir que certains sont un été trois et un été cinq. Maintenant, pour le rendre encore plus intéressant, faisons pivoter ces rangées de perles, donc je vais faire pivoter chaque toile en arrangeant la valeur comme nous l'avons fait auparavant. Aléatoire, de 0 à 2 pi. Il y a aussi tarte et quart de tarte et demi-tarte donc vous pouvez jouer avec vos valeurs
ici dans la rotation, vous pouvez obtenir des résultats différents, mais je vais rester avec deux pi parce que je veux une rotation de zéro Teoh 3 60 Maintenant, vous peut voir que c'est beaucoup plus agréable. Vous pouvez également créer un Phil aléatoire pour ces cercles. Donc, ici à l'intérieur de ma boucle for, va faire de chaque collection des ellipses qui sont créées par B dro une couleur différente. Mais je vais garder un niveau de gris jusqu'à ce que nous atteignions le module de couleur. Donc, il va être juste aléatoire, et je le veux de 0 à 55 parce que la valeur la plus basse est zéro et la valeur la plus élevée dans le callus de
grâce à 55 qui est blanc. Je vais juste à 2 55 et maintenant chaque rangée de perles va avoir une couleur différente. C' est plutôt cool. Même avec le coup, c'est bien que vous puissiez faire,
vous savez, vous savez, accident vasculaire cérébral et ils vous donneront exactement la même chose que je vous ai montrée au début.
33. Forme : Exemple 4: temps pour l'un de mes exemples préférés et l'un des exemples que j'ai réellement créés lorsque j'ai commencé l'art génératif pour la
première fois. Et c'est une toile de lignes aléatoires. Dans ce quatrième exemple du module de forme, nous allons regarder les boucles imbriquées. C' est la première fois qu'on s'attaque aux boucles imbriquées. Mais puisque vous comprenez assez bien pour les boucles à l'heure actuelle, alors vous serez en mesure de comprendre imbriquées pour les boucles aussi. Pour cet exemple, nous allons créer une grille et pour une grille, nous avons besoin de quelques composants. Donc la première chose qu'on doit savoir à propos d'un grand est le nombre de cellules qu'on aura. Alors combien de lignes et combien d'appels ? C' est là que nos quatre boucles entrent en jeu. Donc, commençons en fait avec la boucle for avant tout ce que je vais juste bien, arrêtez la boucle du programme parce que je veux que ce soit un design statique. Commençons par un imbriqué pour les boucles d'abord afin que nous puissions comprendre ce dont nous avons besoin en termes de variables pour la 1ère 4 Loop va être notre boucle normale, et nous allons appeler l'initialize er I et cela va être inférieur à 10. Donc je vais faire 10 rangées. Dessinons d'abord un rectangle afin que vous puissiez voir la grille visuellement. Et puis nous pouvons ajouter des lignes après que nous allons faire ce que nous avons fait avec les perles Rove dans l' exemple
précédent je vais faire naufragé à la position, taille multipliée par I et puis le blanc va être un zéro parce que nous n'avons toujours pas implémenté la Rose en créant les colonnes en premier. Donc nous allons horizontalement sur l'axe de la hache. Donc je vais laisser le Y à zéro, et puis je vais dire, taille en taille pour la largeur et la hauteur. Donc, la première chose que nous devons créer est la variable de taille. Mais maintenant, au lieu de lui donner réellement la taille statique, je vais devoir calculer la taille en divisant la largeur par 10. Donc, nous ne pouvons pas vraiment y accéder sans ici. Donc, je vais juste faire la taille flottante ici et puis l'initialiser ici après avoir défini la taille de la toile. Donc, je vais juste faire la taille et ensuite faire ce qui est divisé par 10 ce qui est le nombre de colonnes ici. Et maintenant, si nous exécutons ceci, nous pouvons voir que nous avons une ligne et 10 colonnes. Donc, si vous le comptez,
c' est vraiment l'heure. Cool. Maintenant, nous pouvons nicher afin que nous puissions créer l'autre rose pour le propriétaire d'une boucle for. Je vais créer un nouveau sage initial différent. Et cette fois, je vais l'appeler Jay. C' est à vous de voir ce que vous voulez appeler ça, mais vous pouvez appeler ces accent pourquoi ? Ça va aller, mais je vais juste aller avec I N J. Parce que c'est ce que je suis habitué à jours aussi moins de 10 parce que je veux créer 10 lignes puisque nous avons une toile carrée et puis je vais inclure Minjae par un. Maintenant, un rectangle va en fait à l'intérieur des boucles imbriquées pour. Et maintenant, nous avons la taille multipliée par I pour chaque colonne. Je vais faire la même chose, mais cette fois je vais le multiplier par Dre. Donc ça va aller de haut en bas, et si je fais ça, on aura une grille complète. Donc, c'est essentiellement comme ça que nous créons une grille. Il est assez simple maintenant, Let's créateur lignes à l'intérieur de la grande Maintenant dans la conception. Si vous regardez en arrière, vous allez voir que nous avons des lions de rotations différentes. Nous avons donc quatre rotations différentes. Nous en avons un qui est vertical. Nous en avons un autre qui est horizontal et nous devons mourir. Vous savez, l'un va de gauche à droite et l'autre va de droite à gauche. Nous allons créer tous ces éléments, puis après les avoir vus et après avoir compris comment nous les avons créés, je vais créer un F conditionnel pour créer une rotation aléatoire pour les lignes. Créons la première ligne. Donc, une fonction lion prend deux expositions et deux positions y, une exposition de départ et une exposition de fin, puis un début Pourquoi la position et la fin ? Pourquoi se positionner ? Donc, il est fondamentalement connecté à différentes positions sur la toile. Maintenant, afin de nous rendre cela plus facile, je vais stocker le positionnement ici à l'intérieur des variables. Donc je vais l'appeler position X. Cela va être désolé est multiplié par moi, et puis l'autre va à la position. Pourquoi va être la taille multiplier par Dre. Et maintenant je peux les utiliser ici. Et si je fais ça, on va voir que c'est exactement la même chose. Maintenant, créons un voleur. Ligne verticale d'abord. Maintenant que nous savons que les rectangles sont créés à partir du coin supérieur gauche. Nous connaissons cette position. Position d'accent. Pourquoi est dans le coin supérieur gauche de chaque cercle. Donc si je veux tracer une ligne verticale, je vais devoir aller du médecin Axinn. Pourquoi la première position x et y de chaque cercle deux Position X, car il ne se déplace pas sur l'axe X, mais alors de positionner pourquoi, plus la taille du rectangle. Donc sa position X, parce que nous ne vivons pas sur l'axe X, puis position pourquoi, plus la taille. Maintenant, si je le fais, on ne verra rien parce que les lions sont couverts par les rectangles. Donc je peux soit supprimer les rectangles et nous pouvons voir que les lignes sont effectivement dessinées ou je peux augmenter ce trait Poids quatre lignes, 25 Mais maintenant, comme c'est une boucle for, ça va augmenter le taux de course pour la première ligne. Mais puis chaque rectangle après l'intérieur de la boucle quand ceux-ci sont un va être aussi course à cinq. Donc, je vais changer la piste de course ici en un. Maintenant, les rectangles, on va avoir un coup de poids d'un. Et les lignes vont avoir un poids de trait de cinq, de sorte que vous pouvez voir que les lignes sont effectivement dessinées. Maintenant, nous ne pouvons pas voir le début et la fin de chaque ligne. Mais si j'ai dit moins 10 alors on peut voir qu'il s'agit en fait de lignes différentes et pas d'une grande ligne. Ok, je vais commenter ça, et je vais tracer la ligne horizontale. Donc, la ligne horizontale va être l'opposé de la ligne verticale. Donc, au lieu de passer de la position X et position, la position
large , l'
accent, position y plus la taille, il va passer de la position. Position d'accent. Pourquoi ? Mais cette fois, position pourquoi va être le même. Mais la position X va être ajoutée à la taille. Alors regardez, position X
due. Pourquoi ? Donc nous passons du coin supérieur gauche de chaque rectangle, puis nous nous dirigeons sur l'axe X. Donc je vais en position X plus taille. Faisons moins 10 juste pour le voir debout, puis positionner. Pourquoi je dirige ça. Nous pouvons voir qu'il s'agit en fait de lignes
horizontales. La firme de ceci. On peut voir qu'ils sont parfaitement aimés. Maintenant, créons notre alliance Dagon. Donc, la première ligne diagonale va aller du coin supérieur gauche au coin inférieur droit , de
sorte que le
coin supérieur gauche est toujours la position X et la position. Pourquoi ? Et puis le coin inférieur droit est fondamentalement la largeur et la hauteur de chaque carré ou chaque cellule du grand. Donc, il va être positionné X plus la position de la taille. Pourquoi plus la taille Parce que nous sommes en train de passer de la position. Accent femmes mangent rectangle à la largeur et la hauteur d'un pratique. Maintenant, je vois que nous les avons ici. Si encore une fois, si je fais moins 10 pour chaque, nous pouvons voir qu'il s'agit en fait de lignes individuelles. Non, pour la dernière ligne Daniel, on passe du coin supérieur droit au coin inférieur gauche. Donc, le coin supérieur droit que nous avons déjà créé lorsque nous avons créé les lignes horizontales, qui vont se déplacer sur l'axe X, donc ce sera celui-ci. Donc, la position X de départ des lignes diagonales va être la position X plus la taille. Et puis on ne bouge pas sur l'accès Y. Donc, ce sont des armes pour être en position. Pourquoi ? Pour la position de départ, puis on se déplace comme ça. Donc, le coin inférieur gauche va se déplacer sur l'accès Y. Donc ce que nous avons fait ici et garder l'axe X comme son Donc, nous faisons des actes de position parce que nous le gardons ou ne pas bouger sur cet accès. Mais on passe à l'accès Y. Ce n'est pas si compliqué si vous soumissionnez s'en appuie. Mais pour l'
instant, pratiquez-le avec moi, et vous serez capable de le comprendre par vous-même. Et maintenant, nous avons des lignes du côté opposé. Ok, maintenant que nous avons nos quatre lignes différentes, si je n'en ai pas assez commun, nous pouvons voir un design plutôt cool aussi. Mais je ne vais pas pour ça. Donc on ne va pas garder ça ? Est-ce que je vais faire un petit exemple de probabilité. En utilisant l'aspiration aléatoire l créer coulé. Je vais l'appeler au hasard et ici je vais Teoh obtenir une valeur aléatoire de 0 à 1, donc ça va me donner une vallée flottante de 0 à 1, ce qui signifie que nous contractons pour une probabilité égale de créer ces lignes. Donc, il va y avoir 25% de chances pour chacune de ces lignes d'apparaître pour que cela se produise. Je vais faire si notre est inférieur ou égal 24.25 était juste 25%. Vous pouvez aussi faire, Ah, des centaines et ensuite en faire 25 ici si cela vous permet de comprendre plus facilement. Mais j'aime y aller, et je vais te montrer une autre façon de le faire aussi. Donc, si notre est moindre égal 25%. Donc il y avait 25% de trans de cette ligne à apparaître, et si je lance ceci maintenant, vous pouvez voir que c'est en fait Hedden à certains moments. Donc ici, il n'y a pas de lion ici. Il y a une ligne verticale. Faisons en fait une des lignes diagonales du thème parce que c'est beaucoup plus simple à voir. Vous pouvez voir que certains d'entre eux sont en fait cachés, donc il y a en fait 25% de l'un de ces pas de ligne diagonale ici. Ok, je vais garder le 1er 1 pour qu'on soit organisés et qu'on n'oublie rien. Et puis pour le 2e 1 je vais faire autre chose. Si c'est le cas, on en a fini avec 0 à 25 %. Maintenant, nous allons passer de 250,26 ou quelque chose de plus de 0,25 à 50 pour le deuxième trimestre. Donc, nous avons déjà vérifié pour moins ou égal. Je vais seulement vérifier pour un plus grand que parce que cela va se heurter si je le fais ou égal ici aussi, puisque j'utilise le même nombre et notre est mon équivalent standard 50%. Donc maintenant, si elle est supérieure à 25 % dans moins de 50 %, cela signifie encore 25 % trans. Alors ça va être cette ligne, et ensuite je vais le faire. Sinon F R est supérieur à 50% et notre est inférieur ou égal à 75%. Donc c'est une autre chance de 25 %, et enfin ce sera la dernière. Donc maintenant je peux voir que nous avons un design très amusant, et si je supprime le rectangle, nous pouvons voir que nous avons un grand design. Maintenant, je veux réparer une chose parce que c'est un regard, mais ce que j'ai créé est un peu différent maintenant. Si je ramène les rectangles, vous verrez que les lignes horizontales et verticales ne sont pas au centre de chaque rectangle sur le bord. Donc, pour que cela ressemble à l'exemple réellement créé, je veux déplacer chacune de ces lignes horizontales et verticales au centre du rectangle. Parce que, voyez-vous, les lignes diagonales se déplacent en fait à travers le centre. Donc, ce serait bien si les lignes verticales et les lignes horizontales se déplacent également à travers le centre. Donc, pour déplacer chacune de ces lignes verticales ou horizontales, nous allons devoir les déplacer par la taille divisée par deux. Alors déplacez-les de la moitié de la taille du rectangle. Ok, Donc si nous regardons celui-ci, par
exemple, si vous voulez déplacer cela de la position X et la position pourquoi de ce rectangle, qui est un coin supérieur gauche, Teoh ce site, puis Nous allons devoir ajouter la taille divisée par deux à cette position X. Et puis nous voulons aussi déplacer l'exposition finale par taille, divisée par deux. Donc si je vais par ici, je fais plus la taille divisée par deux. Et pour l'exposition de fin ainsi que vous l'exécutez, nous pouvons voir maintenant que les lignes verticales sont en fait au centre de chaque rectangle. Faisons la même chose pour les lignes horizontales, qui se déplacent sur l'accès blanc. Donc, nous sommes en train de déplacer chacune de ces lignes horizontales vers ici. Donc, le pourquoi est de descendre par taille divisé par deux. Donc je vais faire la position de départ, position Pourquoi, plus des soupirs divisés par deux et la fin. Pourquoi la position à ajouter à cela ? Taille divisée par deux. Donc, si je vais sur la position ici, pourquoi la position de départ va être à la position. Pourquoi plus dimensionné divisé par deux, puis celui-ci aussi. La position finale va passer au milieu de la mise en scène, et maintenant elle est plus proche de ce que nous avions au début. Mais puisque c'est aléatoire, n'
aura pas le même exemple à chaque fois. Et si j'ai enlevé le rectangle maintenant, on peut voir que c'est beaucoup plus agréable. Nous pouvons également changer l'arrière-plan bien formé le coup en blanc pour faire son premier exemple. Si vous voulez la même conception encore et encore, vous pouvez ajouter à des graines aléatoires. Vous pouvez ajouter n'importe quel nombre aléatoire ici. Sachez juste qu'à l'intérieur de la graine aléatoire, chaque fois que vous mettez zéro va être le même résultat exact. Et maintenant, si je fais ça, on aura un plan aléatoire. Mais maintenant, si vous gardez un œil sur une section de la conception pour voir que ce sera la même encore et encore. Bien que nous ayons un nombre aléatoire ici, il garde le même design parce que vous avez un siège aléatoire pour ça. Donc vous dites que je veux ce design à chaque fois. Donc, si vous voulez peut-être la conception aléatoire siège 10 et ce sera un design différent. Mais si vous voulez revenir à la conception que vous avez aimé un grand, hum, zéro, alors vous pouvez facilement y revenir. J' aime Teoh créer un nombre aléatoire pour cette graine aléatoire, puis l'imprimer afin que je puisse juste l'exécuter et voir tous les dessins et puis celui que j'aime, je viens de sauvegarder le numéro qui est imprimé dans le consul et le garder de côté. Et quand je veux vraiment imprimer le design ou faire quelque chose avec le design, alors je retourne juste à ce siège aléatoire. Donc c'est un bon moyen pour vous. Si jamais vous êtes chargé de créer un design, pour revenir à votre design original que vous voulez. Ok, il y a potentiellement une variable différente que nous pouvons créer, qui est le nombre ou le nombre de colonnes et de lignes. Donc je vais discrète ça pour qu'on puisse voir la douleur du design d'une taille différente de rangées et colonnes. Je vais avoir le même pour l'accent y , donc je vais commencer par 10. Et puis je me substituerai ici, et nous verrons que nous avons le même design, surtout parce que nous avons un siège aléatoire ici aussi. Et je vais le garder juste pour que nous puissions voir le même design avec le même aléatoire Voir, Non, si vous faites ce 50 le design va changer parce que les valeurs d'entrée sont changées. Cette boucle va en fait environ 50 fois, mais la taille de chaque cellule est toujours divisée par 10. Donc il est encore 10. Vendre 10 lignes à tour de rôle colonnes. Je dois donc remplacer cela par des comptes aussi. Maintenant, vous pouvez voir que c'est très dense. Donc, soit vous changez le coup, attendez peut-être deux, ou vous pouvez changer la taille du campus. Ou tu peux changer ça, peut-être 20. Alors, ouais, joue avec ça et vois ce qu'il peut en créer. Maintenant, je vous ai dit que je vais vous montrer un exemple différent utilisant aléatoire pour donner des
probabilités différentes sans réellement faire de pourcentage, parce que je vais commenter tout cela, et puis je vais créer une autre fonction aléatoire. Mais cette fois, je vais en fait l'appeler et je vais le lancer en un entier afin que vous puissiez utiliser la fonction d'intervieweur pour envelopper le hasard autour d'elle, pour le changer en un entier pour convertir le flotteur en un entier. Ou vous pouvez simplement le lancer dans l'intérêt afin que vous puissiez juste faire des parenthèses et à l'intérieur de entier avant la valeur que vous voulez le lancer dans où un inter. Donc, vous êtes toujours en train de convertir, et ensuite je vais faire pour parce que je l'ai fait. Je veux avoir quatre rotations différentes pour les lignes. Maintenant, ce que cela renvoie est une valeur comprise entre 0 et 3. Donc, il retourne 0123 qui sont quatre valeurs parce que c'est en fait un revêtement de sol. Les valeurs n'obtenaient qu'une valeur comprise entre 0 et 3. Et s'ils impriment ça, on verra qu'on a 01 et ensuite on devrait t'avoir dans trois. Mais nous n'en aurons jamais quatre parce que les chiffres ont planté l'air. Donc, le arrondi d'accord, nous pouvons l'utiliser maintenant dans, si conditionnel. Donc, Aiken Dio, si elles sont, est égal à zéro. Je vais faire une chose et puis tout servi r est égal à un, mais aussi sont égaux à deux. Et enfin, vous pouvez faire autrement si r est égal à trois ou parce que nous savons qu'il n'y a que quatre valeurs . Je peux juste me sentir autre parce que je sais que les quatrième valeurs seront toujours trois, et ensuite vous pouvez mettre toutes vos fonctions de ligne ici. Alors faisons ça et je vais retourner à 10 ans pour qu'on puisse voir mieux conçu. Et si je cours ça en ce moment, c'est le même et je vais être rare pour caresser. Attends. Et nous avons le même design que nous avions avant. Vous pouvez donc choisir un pourcentage. Et pour
celui-ci, ce sera toujours une probabilité égale. Sauf si r est égal à 011 que je veux cette ligne. Si R est égal à 12, peut-être que vous voulez avoir une transe et ensuite vous donnez trois transes pour que ça apparaisse. Et puis, ah, le
troisième des Trans est pour cette étape, toi et Kurt. Pour cela et eux, le reste aura le troisième. Donc c'est à vous de décider ce que vous voulez utiliser, mais je vais vous donner les deux options et me sentir libre. Teoh Juste celui qui est facile à utiliser pour Vous êtes celui qui a plus de sens pour vous maintenant sur le prochain exemple pour en savoir plus sur les fonctions de forme
34. Forme : Exemple 5: pour cet exemple suivant. Nous apprenons sur la fonction de point, qui est une autre fonction de forme, et nous allons également montrer les classes. Donc nous allons créer ce marcheur aléatoire. Donc, nous revenons au design animé cette fois avant de créer la classe, je veux créer ce que la classe va faire. Ok, donc nous allons répéter sur ce que nous avons fait et l'exemple introduction et flotteurs pour commencer à travailler une hache dans ma position puis, à l'intérieur des fonctions de tirage, je vais déposer des points au lieu d'une ellipse ou d'un cercle. Et le point ne prend que deux arguments, et vous pouvez le voir ici attend des paramètres comme float et float. Mais il va à l'accent y et puis je vais utiliser X par une valeur aléatoire, peu négatif doux à trois, parce que je voulais aller et arrière, et puis je vais faire la même chose pour pourquoi maintenant, si je cours ceci, nous verrons un marcheur aléatoire se déplacer, mais il est très petit, alors augmentons la taille du trait parce que le point n'a qu'un trait. Il n'a pas de Phil, donc je vais juste faire un AVC Attendez de trois. Je vais commencer Accent. Pourquoi ? Et au centre de l'écran. Donc nous la concédons, maintenant je peux voir un casier aléatoire. Maintenant, c'est déjà cool, mais nous voulons créer un tableau de ceci. Nous n'avons pas de type de données appelé point, donc nous pouvons en créer un tableau pour créer une multitude de marcheurs aléatoires. Nous devons donc créer ce type de données afin de créer que nous allons créer une classe au lieu de créer la clause dans le même fichier comme nous l'avons fait auparavant. Je vais simplement créer un nouveau robinet puisque nous avons appris à propos de plusieurs fichiers et c'est ce que je fais. Habituellement, vous pouvez appeler les points de classe ou vous pouvez l'appeler Walker. Je vais l'appeler Walker parce qu'on est en train de créer un marcheur et ensuite, pour la classe , je vais l'appeler, raccompagner, et on va faire exactement ce qu'on a fait ici. Mais maintenant, on va le mettre à l'intérieur de la classe. Donc nous avons initialisé une position d'accent y, donc je vais le faire. Serait ici est bien, puis à l'intérieur du constructeur. Je veux réellement entrer la valeur. Je n'en veux pas. Teoh, sois
juste là. Bien que je puisse. Mais je vais juste faire flotter, souligner X pour un Underscore différent, très osseux et flottant. Pourquoi ? Donc, nous ne vous confondons pas. Alors je vais dire que X est égal à soulignement X. Donc, quoi que j'entre ici. Quand j'ai appelé la classe plus tard, je veux mettre à l'intérieur de ce X natif à la classe et ensuite la même chose pour pourquoi et maintenant ce que j'ai fait exactement ici en l'affichant avec le poids de course et le point ici je vais
faire à l'intérieur de mon Expliquer la fonction. N' hésitez pas à appeler cette fonction comme vous le souhaitez. Mais j'y vais d'habitude, je vais prendre le coup. Attendez. Et je vais pointer vers X et y aussi. Mais cette fois, les X et Y sont en fait pris des propriétés locales et non de l'extérieur . Non, avoir une fonction de mise à jour, fonction ou de suppression. Et ici, je vais incrémenter Teoh. Les valeurs de l'accent y. Donc c'est mon mouvement. Donc je vais le mettre à l'intérieur de la mise à jour. Et maintenant je vais supprimer tout cela et le recréer, en utilisant Walker pour savoir que j'ai un casier que je vais juste appeler ce sera ici comme un
type de données . Et parce que mon marcheur est en fait un point, je vais juste appeler ça non. À l'intérieur de l'ensemble de la fonction, je vais initialiser mon point. Walker. On a dit que Teoh crée une instance. On peut appeler Point et dire nouveau marcheur. Maintenant, nous avons des arguments. Donc encore une fois tapé, initialisez-le. Je vais finir sage au centre. Je vais dire ce qui est divisé par deux divisé par deux. Donc c'est ma valeur initiale pour X et Y à l'intérieur de mon marcheur. Donc ça va être avec le divin Erbitux. C' est élevé divisé par deux. Donc, c'est essentiellement là que cela va commencer, et puis je vais incrémenter pour chaque image. Donc je vais devoir appeler des points ici, donc je vais l'afficher comme nous l'avons fait avant. En fait, nous dessinons le point, et puis nous allons le nourrir uniquement après avoir déplacé le point. Donc, j'appelle fondamentalement tout cela où j'ai appelé la fonction d'affichage et j'appelle tout cela où j'ai appelé la fonction de mise à jour. Et maintenant, si je cours, ça devrait faire exactement la même chose. Donc, il marche toujours au hasard à travers l'écran, en
commençant par divisé par deux et dur divisé par deux. Donc, le centre de ma toile Non, créons un tableau de points. Je vais créer un tableau. Et maintenant je vais changer ces deux points. Et avant de pouvoir initialiser mes instances, je dois initialiser mon tableau. Je vais l'appeler Neil Walker, et vous commencez par 100. Non, à l'intérieur de la boucle A. Je vais passer de zéro à la longueur des points. C' est 100 et je vais Teoh, créer une instance pour chaque point du tableau. Et puis je ferai la même chose quand je l'appellerai. Non. Si je l'exécute, j'ai beaucoup de casiers aléatoires maintenant pour le rendre encore plus intéressant, je vais faire de la couleur du trait un noir fané. Donc je vais changer la transparence, aussi. Peut-être 100. Qu' est-ce que Trey 100 ? Pour l'instant, c'est beaucoup plus agréable. Et maintenant, si je fais même 10, c'est plus floue, et ça ressemble plus à une peinture que de simples points aléatoires se déplaçant à travers l'écran. Et si vous voulez le voir ne pas essayer. Donc, si vous je veux voir ces points bouger, vous pouvez juste réinitialiser l'arrière-plan ici et peut-être supprimer la transparence pour que vous puissiez le
voir. C' est donc une simulation cool que vous pouvez peut-être changer le hasard ou utiliser du bruit pour créer un troupeau. Et c'est quelque chose qui est un exemple que vous pouvez voir dans l'une des références dont je parlerai plus tard, qui est la nature du livre de code de Daniel Shipman. Ok, revenons à vous, par
exemple. Je vais vraiment faire ce 30 et ensuite je veux prouver le contexte. Super. Maintenant, je peux faire plus avec ça. Bien sûr, vous pouvez leur donner des positions de départ aléatoires. Donc, puisque vous avez ceci à l'intérieur d'une boucle for, vous pouvez le remplacer par une position X et Y aléatoire, et donc chacun commencera à une position aléatoire différente. Cela pourrait aussi lui donner un aspect différent. À mon avis, c'est la plus grande étape. Une fois que vous avez atteint la création de vos propres classes, vous avez déjà ouvert beaucoup de portes pour vous-même, et vous pouvez créer beaucoup de designs différents juste avec les classes seules. Vous avez donc la possibilité de répéter à ce sujet pour créer votre projet final maintenant sur l'exemple de
forme suivant .
35. Forme : Exemple 6: pour cet exemple, nous allons créer une forme personnalisée. Nous avons donc tout appris sur la création de nos propres classes, mais nous avons utilisé les mêmes formes qui sont natives au traitement. Cette fois, nous allons créer nos propres formes en utilisant la facilité de vergis. Maintenant, pour créer une forme personnalisée. Il y a une classe appelée forme P et traitement et la forme P commence de cette façon. Donc, vous créez la classe et ensuite vous lui donnez un nom comme vous l'avez fait avec n'importe quel type de données. Donc, je vais juste l'appeler forme, et puis vous l'initialisez en appelant votre nom de variable et en appelant la fonction créer des formes, créer une forme, créer un compartiment pour votre forme. Il va englober tout ce que vous allez créer, puis pour commencer à dessiner vos nuances, ils vont dire forme et ensuite commencer la foi, et vous allez finir avec point de forme et et entre commencer la forme et et la forme, vous allez essayer ou concevoir, et même votre remplissage et votre coup vont aller ici. Commençons par ce point de forme que Phil va me faire sentir noir pour l'instant. Et puis on va commencer à utiliser Burgess ease. Donc sur Thèses sont les points que vous mettez sur votre toile. Ce traitement finit par tracer une ligne entre les deux. Donc, si je dessine les premiers verdicts à la position 00, puis je dessine le 2ème 1 en largeur et en
hauteur, puis je l'exécute, nous ne verrons rien parce que nous devons conduire sur l'écran. Donc maintenant nous créons ceci à l'intérieur de la forme du compartiment, mais nous ne l'avons pas vraiment dessiné. Donc, pour conduire, pris juste pour utiliser la fonction de forme, puis mettre la forme à l'intérieur de celui-ci, puis mettre la position de
départ. Donc je vais faire la position de départ à 00 parce que notre ligne va étendre à partir de la 0,2 la largeur et la hauteur. Donc, je positionne fondamentalement la plus grande forme ou le rectangle où la forme va
aller à l'intérieur de lui à 00 et je peux voir la ligne allant de l'arrêt coin gauche au coin
inférieur droit. Mais c'est la forme que nous pouvons établir en utilisant la fonction de ligne. Nous allons donc créer une forme qui est un natif à traiter. Je vais créer un arc. Vous pouvez simplement copier et coller les chiffres exacts que j'écris ici, et je vais essayer d'expliquer ce que je fais. Donc, je vais commencer à 00 parce qu'avec la fonction de forme, il peut déplacer la forme à n'importe quelle position que je veux. Et faisons ce fait la souris X et la souris. Bon, pour que vous puissiez voir la forme bouger. Mais alors la plupart des X et la plupart, pourquoi ne travailler qu'à l'intérieur de la fonction de dessin ? Et parce que je ne veux rien dessiner, je vais laisser l'arrière-plan deux blancs à chaque fois. Ok, donc si je retourne à la hauteur, je peux déplacer ma forme pour déplacer le coin de mon rectangle où est ma forme. Non, commençons notre forme d'arc. Donc, afin de faire notre arc, je vais commencer à 00 sur le campus, puis je vais passer à la droite 30 pixels et vers le bas 30 pixels qui vont créer une ligne
diagonale. Et si je fais ça, tu peux voir que j'ai une petite vie de Daniel. Donc c'est la première ligne de notre bateau, et je vais arrêter ça à 00 pour l'instant, avant qu'on puisse le déplacer. Donc vous pouvez donc que je puisse démontrer sur ce là il concède à 30 le 1er 1 dans ledit 00 et puis le 2ème 1 est à 30 et 30. Maintenant, je veux remonter pour créer l'autre ligne de mon arc. Pour ce faire, je vais devoir déplacer 30 pixels ici et revenir à zéro dans l'accès blanc. Donc d'ici à là, il est 30. Et puis je veux déplacer 30 à nouveau pour lui donner le même espacement. Donc je vais devoir aller à 60 ans. Donc ça va être à 60 de la gauche et zéro, donc on va monter ici. Donc c'est 60 et zéro. Maintenant, vous pouvez voir que nous avons déplacé 30 et ensuite nous avons déménagé pour regarder vers la droite 30. Et maintenant, nous remontons à zéro et à droite par 30, ce qui signifie qu'il est 60 à partir de l' extrême gauche. Maintenant, je veux descendre ici pour tracer la bonne ligne du bateau. Maintenant,
nous le savons, c'est solide. Ça veut dire que je veux descendre un autre 30, ce qui signifie qu'il est 60 et ensuite je veux de l'accès X à partir du point zéro que je veux jusqu'à 60 ici. Donc je vais garder l'axe X là où il est maintenant, donc ça va être 60, mais ensuite je vais descendre 60. Donc ça fait 60 60. Maintenant, faisons ça d'abord avant qu'on ne voie. Maintenant, le remplissage fait la bonne direction, parce qu'avant qu'il ne pense, je veux monter et donc le champ était là. Mais maintenant que nous descendons, il sait que c'est là que va la forme. Ok, maintenant je veux revenir ici,
autorité, puis jusqu'à 30 ans. Donc il sera de retour à 30 h 30. Alors maintenant nommé, en fait ici. Maintenant, je vais revenir en arrière de 20 sur l'axe X et en bas de 60 pixels. Maintenant, on a une bêtise. Et si je suis retourné à la plupart des accents sait pourquoi vous pouvez voir mon arc bouger afin que je puisse voir qu'il est en fait terminé maintenant pour dessiner sur l'écran. Je vais supprimer l'arrière-plan car nous créons un exemple de dessin pour cela. Et maintenant, je peux dessiner. Beaucoup de bateaux allaient changer la transparence pour cela, disons 50. Donc maintenant, si je dessine, je le vois vraiment. Non, si vous remarquez ici, vous pouvez voir que chaque arc a un coup manquant sur le côté gauche. Maintenant, la raison en est parce que nous ne sommes pas fermés ou en forme. On peut le fermer en remontant à 00 avec la fin, ou on peut juste faire près ici et ça fera le travail pour nous. Il ira au premier point et fermera la forme. Maintenant, vous pouvez voir que nous avons la ligne sur la gauche. Donc ça marche maintenant pour rendre ça encore plus intéressant. Je vais retourner les couleurs, donc je vais rencontrer le zéro arrière sol et je vais faire le Phil 2 55 Je vais
ajouter un coup de blanc, jamais courir ça. On va avoir un programme de dessin maintenant. Chaque fois que je vais faire ça, on va voir ça. Bo ici va être très opaque parce que c'est avant de déplacer la souris Il est en fait dessiner beaucoup et beaucoup d'arcs sur l'autre parce que notre programme est en fait à une cadence de 60 images par seconde, donc c'est assez rapide. Donc, il dessine beaucoup et beaucoup de formes avant de déplacer la Souris X. Et c'est pourquoi en une seconde il a voulu changer ça. Je vais d'abord déplacer ceci dans une fonction pour le nettoyer. Je vais l'appeler Bo, et je vais utiliser tout ça à l'intérieur de ma fonction d'arc. Ok, je vais l'appeler ici parce qu'on a créé la forme ici. Donc quoi qu'il y ait ici, c'est la physique des orteils. C' est là et je dessine. Donc maintenant, c'est le même programme que nous avions avant. Mais cette fois, au lieu de simplement le faire parce que si ce Bo opaque qui ruine notre design,
je ne dessinerai que les formes Si la souris est pressée pour qu'elle ne soit pas pressée, je veux dessiner le destin. Et maintenant nous n'avons pas ce bo ici et maintenant à chaque fois que je clique, nous allons dessiner. Mais ensuite je vais demander à Teoh de diriger le programme encore et encore pour obtenir le design que j'aime. Donc, disons que je veux tirer un coup sur les arcs et ce n'est pas agréable pour moi parce que ça descend et je voulais être plus au centre, donc je vais utiliser l'événement keep pressed. Nous en avons parlé auparavant, mais nous n'avons jamais vraiment utilisé un exemple. Chaque fois que nous utilisons garder le repos, nous devons vérifier quelles clés, car alors toute clé que vous cliquez va travailler orteil. Commençons par n'importe quelle clé et ensuite nous allons spécifier. Maintenant, je veux réinitialiser l'arrière-plan. Chaque fois qu'une affaire est pressée, je vais dessiner l'arrière-plan et maintenant je vais dessiner mon arc. Ça n'a pas l'air sympa. Un flingue. Il suffit de cliquer sur n'importe quelle touche et ça va fonctionner maintenant. Et si je veux juste une clé pour travailler avec ça Maintenant, je clique sur cet espace loin cette fois. Cette fois, je clique sur de La prochaine fois
que je clique sur T. Ce n'est pas pratique, surtout si vous voulez utiliser plusieurs touches pour différentes fonctions. C' est pourquoi je vais utiliser uniquement la barre d'espace pour supprimer ou réinitialiser l'arrière-plan. Mais la façon dont vous pouvez le faire est d'utiliser et si conditionnel, puis il y a une variable native à l'intérieur du traitement appelée Key. Donc, cela a n'importe quelle valeur de la clé. Donc, si vous imprimez ceci, vous obtiendrez la valeur de la clé sur laquelle vous cliquez, puis je vais suivre son égal à l'espace, et puis je vais réinitialiser l'arrière-plan. Donc maintenant, si je clique sur le numéro trois, ça n'arrivera pas, c'est si je clique sur la lettre demande. Ça n'arrivera pas, mais si c'est comme cette barre de visage, ça va s'effacer. Et maintenant peut-être que je suis content de ce design. Je peux utiliser une clé différente comme S, par exemple,
pour sauver mon design, mais on va parler d'économiser dans le tracteur. Pour l'instant, nous avons créé un design qui voulait créer. Je sais que l'utilisation de vortex et l'utilisation d'une fonction de forme pour dessiner sur l'écran sans
savoir exactement où sont les choses est un peu difficile. Mais nous allons Teoh plus tard et le module type. En savoir plus sur l'importation de vos conceptions à partir d'illustrator ou de n'importe quel logiciel vectoriel
pouvant exporter en SVG. Pour l'instant, nous avons fini avec le module de forme de la section de base de conception. En seulement six exemples, nous avons appris à créer une variété de formes afin que vous puissiez créer vos propres formes. Vous pouvez créer un cercle de ligne Lipsky de ceux qui seuls peuvent créer. Cela seul peut créer une quantité énorme de designs, et il est impatient de voir que vous les utilisez dans vos projets finaux. Ensuite, nous allons parler plus de la couleur et du design.
36. Couleur : Exemple 1: Dans ce premier exemple de couleur, nous allons parler de RVB par rapport à lui croustillant. Il finira par créer ce design. Nous verrons le même design en RVB, puis nous verrons le design en intérêt. BMO. Donc, ces modes air à couleur RVB représentent le rouge, le vert et le bleu, comme nous l'avons appris. Mais il y a un mode de couleur différent dont nous n'avons pas encore parlé, et il s'appelle Address be pour la teinte, la saturation et l'équilibre. Donc, fondamentalement, il passe par le tableau de couleurs, puis la saturation est à quel point cette couleur est saturée. Donc, s'il n'y a pas de saturation que cela va être en niveaux de gris, s'il y a une saturation élevée, ce sera le plus de saturation de cette couleur. Mais alors, pour la luminosité, c'est comme si vous aviez ajouté du blanc et du noir à votre design. Ainsi, plus vous ajoutez de noir, ce qui est inférieur à la valeur de la luminosité qu'il va, la couleur sera plus foncée. Et puis plus vous ajoutez de blanc, ou plus la luminosité est grande car vous obtiendrez une couleur plus claire, qui a un peu plus de lumière. Créons d'abord le design en noir et blanc, puis nous allons commencer à le colorier. On va avoir besoin d'une position accent y parce qu'on va tracer des lignes au hasard sur cette grue et je vais bien avoir besoin de Lupas, et je vais commencer par 100. Donc, avoir X à une position aléatoire de zéro à l'esprit. Et alors pourquoi va être en position aléatoire ? Quelle était ta propre taille ? Et puis je vais faire un coup avec la valeur aléatoire de 0 à 2 55 Donc ça va être une grande échelle qui va être aléatoire. Ils peuvent en fait voir toutes les lignes que nous essayons. Ensuite, je vais tracer les lignes à X et Y, et ensuite on va leur donner une longueur de 10. Donc, ce sera la position de l'ONU va être de X plus 10. Donc, il va passer de l'exposition de l'exposition de départ à 10 plus le X. Ça va être la position finale et ensuite la même chose pour la vie. Donc nous allons avoir un tas de Dagon Alliance, et je veux que ce soit statique, quelque chose pour arrêter la boucle, et je vais augmenter le coup. Attendez, peut-être trois. Ok, donc nous avons des lignes aléatoires sur l'écran avec une couleur aléatoire provenant d'un spectre en niveaux de gris. Maintenant, je veux aussi faire pivoter l'est juste pour obtenir le design que nous avons et encore une fois pour le faire pivoter . Je vais juste faire pousser la matrice pour créer et vous calque pour chacun. Maintenant, si je cours ça sans amis, la direction tournait. Ce sera exactement la même chose. Et si je fais des graines Franken juste pour voir le même design, cela ne change pas, donc c'est en fait la création d'une nouvelle couche. Mais rien n'est authentique parce que chaque couche au-dessus de l'autre. Mais maintenant, je veux changer la position de chaque couche et la rotation. Donc, je vais changer la position en fonction de l'accent en se faisant élire traduire, en fait faire le mouvement de chaque ligne entre les deux. Je vais laisser ça à 00 de chaque campus, et puis ça va être 10 parce que l'Europe moins fait est en fait 10. Alors si je fais ça, on verra que c'est exactement la même chose. Donc on n'a rien changé. Nous avons toujours chacun de ces autour en position. Vous pouvez voir que c'est la même chose, surtout ces deux lignes sont la même position parce que nous avons des graines aléatoires. Et maintenant, je vais tourner. Et cela va changer l'ensemble et encore autour de lui, à peine de 0 à 2 pi entre les deux, un cercle complet pour une rotation complète et qui avait un look plus intéressant. Si j'augmente cela à 400, cela me donnera un look plus intéressant car il y a plus à jouer. Mais en fait, changeons l'arrière-plan en blanc. Vous voyez les choses mieux et introduisons la couleur maintenant. Donc, au lieu de dire,
euh, euh, accident vasculaire cérébral. Donc, au lieu de dire un aléatoire allant de 0 à 55 seulement pour un paramètre, ajoutons les deux autres paramètres. Donc maintenant nous allons avoir R, G et B, et je vais faire la même chose pour les deux valeurs aléatoires des concessionnaires à 55. Et si je lance ça maintenant, on va avoir beaucoup de couleurs, et comme vous pouvez le voir, les couleurs sont très brillantes. Mais maintenant, changeons ça. Teoh il suffit de douves et de voir comment cette différence. Maintenant, je vais changer la mélodie de couleur à l'intérieur du pourcentage de la fonction. Et puis juste pour que nous n'ayons pas à changer tout cela ici, vous pouvez soit laisser les valeurs par défaut. Mais je vais dire que je veux que la valeur la plus élevée soit 255 pour que la saturation soit 255 et que la luminosité soit 255 minutes pour la vallée de l'Alfa. Je vais laisser ça en être un. Donc ça va être de 0 à 1 sur un ventre flottant. Maintenant, ils ont changé le mode couleur, et si je lance ça, on aura une couleur différente. On a plus de Noirs, on sera là. Hum, et nous avons des couleurs plus vives maintenant. Nous pouvons voir cela mieux si je l'utilise à pleine saturation à chaque fois et pleine luminosité, chaque fois que vous pouvez voir qu'il est très, très lumineux parce que maintenant il est juste regarder à travers le tableau de couleurs qu'il a. Mais alors cela lui donne la plus haute saturation et la plus haute luminosité. Maintenant, si je retire 2 55 ici et que je le mets zéro donc non, il n'y a pas de luminosité et les couleurs qu'il va être noir parce qu'il n'y a
pas de blanc maintenant pour ramener à 255 et j'ai changé la saturation à zéro. Nous allons voir qu'il n'y a pas de couleur du tout parce que 255 est trop lumineux. Alors maintenant, c'est blanc. Et parce qu'il n'y a pas de saturation, il n'y a pas de couleur. Jouons avec la luminosité humaine. Je vais juste faire de la luminosité 100. Alors maintenant, on va voir que c'est un peu grisâtre. Et si je passe à zéro, bien
sûr, on aura du noir. Je vais faire 100 puis je vais augmenter la saturation d'un peu. Aller voir un peu plus de couleur, savoir si l'augmenter à 200 nous allons avoir un peu plus de couleur à je vais faire 2 30 Mais comme la luminosité est encore très sombre va augmenter cela un peu trop. Maintenant, on a une couleur de design pour enfants, tu sais, je vais retourner au
hasard, au hasard, tout ça, mais je vais aller avec Hugh à partir de 100 250. Donc, c'est le tableau de couleurs. Donc, si je vais de 102 150 m seulement en choisissant les couleurs. Si je passe de 0 à 55, je choisis parmi l'ensemble du tableau. Faisons en fait à 50 et vous verrez que tout va être lu. Ok, donc la majorité est en fait juste. Mais si je vais encore plus bas, peut-être un 20. Oui, la majorité est rouge, et il y a un peu d'orange qui entend là-bas. Ok, je vais faire 255 pour la séparation et la justesse, et ensuite on verra que c'est très brillant. Non. Au fur et à mesure qu'ils augmentent
cela, il va ajouter plus de couleurs de 0 à 100. Et je veux faire de 100 à 150. Maintenant, nous ne recevons que des verts et des bleus parce que vous n'utilisez que le cœur de l'arrivée couleurs. Voyons ce qui se passe si je retourne à RVB, donc je vais simplement le dire parce que le mode de couleur de défaut est notre téléviseur, vous savez, si je l'exécute, vous pouvez voir que c'est une palette très différente. La raison en est parce qu'il devient plein grain et plein bleu, mais alors il se déplace en valeur de 100 à 150. Et si j'enlève les graines aléatoires et augmente un peu ça, on va avoir un peu différent juste parce que maintenant on a plus de rouge pour jouer avec. Ajoutons en fait encore plus de rouge. Donc nous avons à partir de 202 150. C' est donc une très, très grande valeur à choisir. Et si je baisse au moins un de ces deux à 10, alors on devient violet et on obtient parce qu'on devient plus rouge que vert et bleu. Et si j'ai aussi réduit ça à 55, nous allons aller encore plus bien. Jouez avec les couleurs pour voir la différence entre RVB et à croustillant. Beaucoup de gens jouent avec intérêt soit s'ils veulent changer la teinte, mais ils veulent garder la saturation et la luminosité parce que si vous randomisez r g et B, vous allez obtenir un look différent de ce que vous allez obtenir de l'adresse être eso. Peut-être que vous voulez garder la préparation de votre couleur, mais alors vous êtes vous voulez jouer avec les nuances de rouge alors jouez avec la saturation ou la luminosité, donc nous allons obtenir plus d'un look monochrome. Maintenant, voyons un autre exemple pour la couleur pour le comprendre un peu mieux.
37. Couleur : Exemple 2: Mais si pour cet exemple, nous allons parler de l'interpolation des couleurs,
Donc, dans l'autre exemple, nous allons voir la différence entre à nouveau. Audrey Beatrice parle en termes de couleur. Interpolation. Donc j'ai dit que tu auras peut-être un design monochrome si tu utilises la vitesse d'intérêt. Ok, alors créons cet exemple d'interpolation de couleur pour en savoir plus sur les couleurs. Pour cela, je vais créer une grille d'une ligne et de 10 colonnes. Donc pour les grilles, je vais Teoh besoin de plus. Et nous n'aurons pas besoin d'un imbriqué pour une boucle parce que nous allons créer seulement une ligne puis 10 appels, parce que ce que nous avons ajouté ici et maintenant nous allons faire la même chose que nous avons fait avant. Donc, le rectangle va être à la taille multipliée par I, puis la taille, puis zéro parce que nous ne bougeons pas rose sage, et puis il va être dimensionné en taille pour ici. Et la taille va être elle avec divisé par 10. Parce qu'on veut 10 appels. Ne lancez jamais ça. Nous avons une rangée de 10 colonnes. D' accord. Au lieu d'avoir une taille pour la hauteur aussi, je vais juste en faire la hauteur de la toile parce que vous voulez voir l'
interpolation des couleurs dans tout le campus. Maintenant, je vais lui donner un remplissage de couleur, et je vais créer de la couleur en ce moment, donc la couleur va être de type de données de couleur, ou la variable de charbon va être un type de données de couleur. Et maintenant, au lieu de simplement lui donner une valeur ou une couleur, je vais interagir entre deux couleurs. Donc, afin d'interagir entre deux couleurs, nous allons utiliser la fonction de couleur Seigneur dans Cela nécessitera deux couleurs, puis une quantité. Donc, les deux couleurs que nous allons créer apparaissent parce que cela n'a aucun sens de créer en mémoire est deux couleurs parce que nous allons les choisir une seule fois. Donc je vais appeler celui le 1er appel 1, et je vais lui donner une valeur, puis un appel à, et je vais lui donner un problème différent. Donc j'ai déjà deux couleurs prêtes, donc je vais simplement les copier et les coller. Vous êtes libre de choisir vos propres couleurs pour pratiquer avec l'interpolation des couleurs et ensuite je
vais utiliser Coal Juan et appeler ici. Donc je veux interagir de la couleur un à la couleur, aussi. Quantité mensongère. Donc, montant. Nous allons le créer en utilisant le grain que nous avons montant va fondamentalement de 0 à 1. Donc, si je mets zéro par exemple, ici et puis l'exécuter, vous verrez la première couleur. Et si j'en mets un, vous verrez la dernière couleur que j'ai choisie. J' ai donc choisi de l'orange au jaune, mais je veux que les couleurs créent réellement un ingrédient. Donc je voulais passer de l'orange au jaune. Tu voulais faire ça ? Je vais utiliser la variable d'index ou la variable I à l'intérieur de ma boucle for pour créer cette variable ici. Un homme pourrait créer cette variable appelée montant puisqu'elle va de 0 à 1. C' est donc une valeur flottante. Et puis je vais utiliser une autre fonction appelée carte. Donc, mappe fondamentalement un ensemble de valeurs à une plage différente, sorte qu'il change les valeurs d'une plage à une autre. Alors maintenant, je vais changer la portée de mon oeil. Mon index de sa gamme d'origine, qui est de 0 à 10 Teoh la nouvelle gamme, qui est de 0 à 1. Donc maintenant à chaque fois que je zéro, ça va être zéro ici sur les avantages 1. Il va être 10.1 ici pour le montant, et puis pour deux ça va être 20.2 et ainsi de suite et ainsi de suite, dit, je vais utiliser le montant ici à la place. Et si je lance ça, on verra un Grady int passer de l'orange au jaune. Cela à lui seul peut créer une quantité énorme d'exemples. Donc, en utilisant peut-être ceci avec l'un des dessins que nous avons créés, comme les lignes ou la rotation aléatoire des lignes. Exemple. Vous pouvez créer une multitude de couleurs simplement en utilisant la fonction de couleur blurb. Là. Vous pouvez jouer avec les couleurs ici. Vous pouvez passer du bleu au vert. Vous pouvez passer du rouge au violet, et vous pouvez voir la gamme de couleurs jouant autour. Tu peux même augmenter le compte à 20, mais on va devoir le changer
ici aussi. Donc, je ferais mieux de créer beaucoup d'une variable appelée count et faisons-le 20, puis utilisez-la
ici et nous serons là. Donc maintenant, nous n'avons pas besoin de changer les valeurs encore et encore partout. Et puis nous devons aussi diviser le avec par les comtes. Montrez la taille de nos colonnes sont correctes. Maintenant, vous pouvez voir qu'il y a plus de couleur ici parce que nous en avons 20 et si je retire mon coup, vous pouvez le voir plus d'ingrédient. Mais vous pouvez voir les rectangles ici, donc si vous voulez un radiant très lisse, vous pouvez fondamentalement faire le compte de la largeur. Donc plus de faire le comte de 400 puis il va être un Grady lisse se termine parce que maintenant 400 divisé par 400 est un. Donc, chaque rectangle n'a qu'un pixel de large, et donc il va être beaucoup plus lisse. Et maintenant, nous pouvons voir que nous avons créé un int gourmand. Ensuite, nous verrons comment cela fonctionne. Si nous l'avons changé en un montant fécal de fiducie
38. Couleur : Exemple 3: dans notre dernier exemple de couleur. On va l'explorer. Crois-moi. Mode couleur. Un peu plus. J' ai cette fois, je vais créer une grille de trois colonnes et plusieurs lignes, et je vais vous montrer comment faire ça maintenant. Nous allons donc avoir des boucles imbriquées à partir d'exemples précédents. Nous savons que nous allons avoir besoin d'une variable de compte pour cette fois. J' ai créé Count. L' accent compte. Pourquoi ? Donc parce que je veux une valeur différente pour la Rose des colonnes. Puisque je veux trois colonnes, je vais dire que le comte X sera égal à trois. Ensuite, je vais créer 10 lignes pour chaque. Donc maintenant que nous avons le comte X est différent des comptes. Pourquoi ? Je vais aussi avoir son ex dans une taille. Pourquoi si la Taille X va égaler ce qui est divisé par les gars du Count X. Pourquoi va à la hauteur égale divisée par la façon de compter ? Maintenant, je vais créer le rectangle que je suis multiplié par la taille. X J se multiplie par la taille. Pourquoi les membres allaient être sexe de taille. Ça va être de taille. Pourquoi ? Si je lis ceci, vous pouvez voir que nous avons trois colonnes et tourner rose. Maintenant, nous pouvons créer la coloration. J' ai copié et collé la même chose qu'avant. Mais cette fois, au lieu de passer d'une couleur à l'autre de deux variables ici, je suis juste passé de 0 à 255. Et cette fois, je passe de zéro à venir. Pourquoi ? Donc, je veux que l'interpolation se produise sur l'accès blanc que j'utilise J et j'ai dit que je voulais aller de la valeur zéro à compter la valeur y. C' est donc de haut en bas. Et puis je veux mapper cette valeur de 0 à 1 pour le montant dans l'interpolation. Et puis j'ai dit, le remplissage à appeler, qui est notre variable de couleur, et ça va colorer mes rectangles maintenant. Comme vous pouvez le voir, il passe du noir au blanc. Maintenant, pour cet exemple, et je veux le regarder juste moi et pas RGB. En fait, je vais juste changer le mode de couleur pour m'intéresser, et je vais faire la même chose pour la gravure ou la teinte, la saturation et la luminosité pour passer de 0 à 50 à 55. Je ne vais pas m'embêter avec la valeur Alfa parce que pour l'instant, c'est tout
ce dont nous avons besoin. Si je fais ça maintenant, on va voir un truc bizarre. C' est parce que nous changeons le mode couleur de RVB. Alors, maintenant quoi ? C' est en fait vérifier ou ce qui est en train de faire. Il va de Hugh de 0 à 255, ce qui est le plus bas au plus haut. Mais il n'y a en fait pas de luminosité et pas de saturation. Par conséquent, pour le travail de teinte, de
saturation et d'équilibre orteil, je vais utiliser une fonction différente. Je vais utiliser la fonction d'alerte et je vais seulement apprendre pour les teintes, puis pour la saturation suivante et ensuite pour la luminosité suivante. Donc je vais appeler cette valeur à la place. Et cela va revenir à flot valeur et je vais juste le refroidir pour de la valeur. Et puis la luminosité et la saturation vont être les plus élevées. Alors maintenant je suis Lor Ping de 0 à 255 sur Lee pour la teinte. Donc, cette fois, je ne suis pas seulement en utilisant la fonction de couleur blurb, j'utilise la fonction d'alerte parce que je veux seulement interagir entre deux valeurs, vous pouvez également utiliser la fonction Seigneur pour interagir entre deux positions. Une houle. Mais je l'utilise ici pour la situation et l'équilibre et voir à quoi cela ressemble réellement et vous pouvez voir toute la gamme de couleurs est en fait sur le campus. Maintenant. La raison pour laquelle j'ai créé trois colonnes parce que je veux vous montrer Hugh dans la première colonne et ensuite je veux vous montrer la saturation dans la colonne suivante. Et puis je voulais passer en revue le changement et la luminosité dans la troisième colonne. Donc, nous allons en fait utiliser un conditionnel et, si conditionnel, je vais vérifier si je vais égal à zéro, qui est la première colonne. Je veux que les trains de valeur soient dans la teinte de Mendel si j'en équivaut à un. Juste la deuxième colonne que je veux remplir pour avoir n'importe quel Hugh. Je vais juste utiliser zéro pour Red, et ensuite je vais avoir la valeur dans la saturation. Cette fois, je vais avoir la plus haute luminosité, et enfin nous le serons aussi. Mais je n'ai pas besoin de l'écrire parce que le dernier va changer la luminosité va
avoir la plus haute ation sexuelle et ensuite Val pour la luminosité. Maintenant, si je lance ça, vous allez voir que la première colonne va changer énormément. Et puis la deuxième colonne va avoir la saturation de 0 à 255, puis la
dernière sera la luminosité de 0 à 255. Et si vous changez la teinte pour l'un de ceux-ci, alors faisons 150 pour celui-ci. Il va passer de la moins saturée à la plus séparée dans la teinte de 150 qui est ici bleue. Donc c'est à vous de décider. Quelle couleur vous voulez choisir. Ikan. Aussi, il peut choisir une couleur différente pour celui-ci aussi. Alors faisons 200. Ce sera une couleur pourpre et va passer de la moins brillante à la plus haute luminosité. C' est donc une autre façon de jouer avec les modes couleur, interpolation et couleur. Peut-être que vous voulez rester avec le même Hugh comme ici, mais vous voulez varier la luminosité. Peut-être que tu veux rester avec un. Hugh ici est bien et peut-être jouer avec la situation. Vous pouvez également créer une valeur différente. Est-ce qu'un blerp ou une interpellation différente pour chacun d'entre eux ? Donc pour peut-être qu'il quand secrétaire dans la luminosité et alors vous pouvez avoir une quantité différente. Donc peut-être utiliser I Teoh Triple huit en termes de luminosité, puis utiliser J pour intra plaque Hugh . Cela vous donnera également un look différent. Jouez avec elle dans. Faites-moi savoir ce qui se passe avec vous. Montre-moi dans tes projets. J' adorerais voir ce que vous créez avec des tribulations dorées et des vaisseaux. Ensuite, nous allons parler d'images.
39. Image : exemple 1: Nous avons créé
des formes et choisi des couleurs pour les
derniers exemples. Mais cette fois, nous
allons
parler davantage des images et de la
manière dont vous pouvez importer images que
vous avez prises ou images que vous trouvez
en ligne dans vos créations. Pour cela, nous allons en savoir plus
sur la
manière dont les fichiers d'esquisse
sont réellement créés. Donc, pour mon exemple, j'ai un fichier appelé image. Il est en fait créé
une fois que vous avez enregistré votre croquis. Ainsi, chaque fois que vous enregistrez votre
esquisse, vous créez un dossier portant le même
nom que l'esquisse. Si vous modifiez le nom du dossier, cette esquisse ne s'ouvrira pas. nom de l'esquisse doit être identique au nom du dossier. Ensuite, pour ajouter des images
à l'intérieur de votre dossier, vous devrez
ajouter un dossier appelé data. Maintenant, dans ce dossier de données, vous allez avoir tous les fichiers, puis vous allez les importer
dans l'esquisse. Donc, si vous avez un fichier
texte, un fichier image ou des fichiers
SVG dont nous parlerons plus tard dans
la section des types. Tu vas
devoir le mettre ici. Ce n'est pas créé par défaut. Tu vas devoir aller
dans ton dossier de croquis. Et c'est pourquoi,
lorsque vous plaisantez, croquis liés à une
image
ou tout ce
dont vous avez besoin pour importer ou charger
quelque chose dans l'esquisse, vous devrez
enregistrer votre esquisse et créer une donnée fichier dans lequel
vous allez ajouter tout ce que vous allez
importer dans votre esquisse. J'ai ici cette image. Vous pouvez télécharger cette
image sur unsplash.com. Je vais avoir le lien vers cette image exacte dans la section des
notes de la vidéo. N'hésitez pas à
parcourir le site Web et à choisir l'image
qui vous convient le mieux. Je vais donc choisir
cette image et nous la verrons maintenant une fois que nous l'aurons chargée
dans notre croquis. Donc, pour que cela fonctionne, je vais devoir
enregistrer ce croquis. Maintenant, si j'ouvre ce dossier, vous pouvez voir qu'il s'appelle
image1 et qu'
il contient le fichier d' esquisse. Maintenant, je dois créer un
nouveau dossier ici. Appelons cela des données.
À l'intérieur, je vais copier et coller
l'image que j'ai. Alors maintenant, dans mon
dossier de données, j'ai ce fichier image. Maintenant, je peux fermer mon dossier et maintenant nous pouvons travailler
avec l'image. Pour l'image, c'est un peu
similaire à la forme de P. Je vais donc utiliser l' image
PPI
comme n'importe quel type de données. Ensuite, je vais l'
appeler simplement image ou abréviation du mot image. Ensuite, dans
ma fonction de configuration, je vais charger mon image. Je vais dire Charger l'image, et maintenant je vais
utiliser le nom du fichier. Le nom du fichier est une chaîne que vous allez utiliser
dans l'image de chargement. C'est pourquoi, quand je l'ai dit, l'
une des raisons pour
lesquelles vous utiliseriez une chaîne est
de l'utiliser dans l' image de chargement ou lors
du chargement d'un fichier texte. Vous pouvez également le placer dans une variable appelée filename ou quel que soit le nom que vous
souhaitez lui donner. Mais je pense que c'est
bien de l'ajouter ici
parce que c'est un nom court. Vous pouvez également modifier le nom de
votre fichier, puis modifier ici si
cela vous convient le mieux. Mais je vais garder
le boiteux d'origine. Si je le lance maintenant, tu ne verras rien. La raison en
est que, encore une fois, l'image est très similaire à forme lorsque nous avons créé
la forme personnalisée. Je vais donc
l'appeler dans une fonction d'image. Alors je vais le mettre à 00. Mais maintenant, si je
l'exécute, vous allez
voir une partie de l'image, parce que l'image
est incroyablement grande, nous allons devoir la
redimensionner pour qu'elle corresponde à la toile. Nous pouvons le faire en utilisant le redimensionnement des points de
l'image. Il s'agit de la classe
d'image PPI qui redimensionne votre image selon
ce que vous spécifiez. Je vais donc faire de la
largeur et de la hauteur. Il va en fait
étirer votre image ou image obscura si vous l'utilisez pour la redimensionner
avec n'importe quelle résolution. Si votre image a une
résolution différente de celle d'un carré, vous pouvez peut-être la
couper ou simplement redimensionner à un point ayant
la même résolution, mais à un point où vous pouvez voir la majeure partie de l'
image sur votre toile. Donc je peux faire n'importe quelle
taille ici, peut-être que je veux faire 200 par 400. Ce sera une forme
rectangulaire et cela
va vraiment embellir un peu
mon image. Mais je voulais juste te
montrer que
tu peux faire
la taille que tu veux. Je vais juste m'en tenir à largeur
, à la largeur et à la hauteur. Maintenant que nous avons notre image, nous pouvons réellement
jouer avec elle. L'une de mes
manières préférées de jouer avec des images est d'utiliser
la fonction de copie. La fonction de copie prend
essentiellement une image et copie une section ou un rectangle de l'
image et la colle à un endroit différent ou à l'endroit
où vous souhaitez la coller. Le premier argument qu'
il utilise est l'image. Je vais donc simplement dire image. Prenons d'abord une section
à partir du point zéro. Je vais dire à partir de 00 heures. Ensuite, je vais choisir
une largeur et une hauteur. Imaginez que si j'utilise la fonction rectangle
à l'intérieur de la fonction de copie, la fonction rectangle
prend les positions x et y, qui sont la position de départ, qui est le
coin supérieur gauche du rectangle. Et puis il faut une
largeur et une hauteur. Je vais peut-être faire
un 100 par 100. Ensuite, nous allons le
positionner à un autre endroit. Je vais choisir le
milieu de l'écran. Disons 200 par 200. Ensuite, j'
aurai la même taille. Je ne veux pas le redimensionner. Vous pouvez le redimensionner.
Tu veux peut-être l'agrandir, mais je vais le
garder à la même taille. Maintenant, vous pouvez voir que je prends ce morceau ici
et que je le mets ici. Il se trouve maintenant à la
position de 200 x 200, mais il est extrait d'une
position de 0 x 0 valeurs. Au lieu d'avoir
un ensemble de valeurs, je vais choisir une valeur
aléatoire à chaque fois. Pour cela, il s'agira d' une valeur aléatoire comprise entre 0 et la largeur. Pour cela, je veux une
valeur aléatoire de 0 à la hauteur. Ensuite, je veux le
positionner également à une valeur aléatoire de 0 à la
largeur et à une valeur aléatoire
de 0 à la hauteur. Cela va
disparaître de l'écran, donc je vais appuyer sur
Entrée sur cette fonction. Maintenant, j'ai séparé ma position x et y de
départ, ma largeur et ma hauteur, puis ma
position x et y de fin et ma hauteur de fin. Vous pouvez appuyer sur Commande T ou
Ctrl T sous Windows pour
corriger l'alignement. Cela va se
plaindre car la fonction copy attend des
paramètres qui sont des entiers. Et j'ai mis en place des flotteurs. Je ne peux donc que présenter des intérêts. Maintenant, je suis en train de convertir toutes ces valeurs flottantes
en nombres entiers. Maintenant, ça va marcher. Donc, si je clique sur Play, nous verrons des
cases aléatoires sur l'écran. Donc, il copie à partir d'une
position aléatoire , puis le colle à une autre position aléatoire et ça pique la même chose
encore et encore. Et il prend ses
découpes de l'image. Je vais changer le
design pour qu'il y en ait dix par hauteur. Maintenant, chaque rectangle
sera en
fait constitué de lignes très fines. Cela me donnera
un meilleur visuel. Mais au lieu de
les faire passer de 00, de 0 à la largeur, je veux
ajouter de la marge à mon dessin. Je vais créer un
entier appelé marges. Et je vais lui donner 50 pixels parce que je veux que
les découpes ne
soient qu'au centre et
que la bordure ait cette image fixe
de l'image d'origine. Pour
ce faire, je dois définir la position des
rectangles que je crée, non pas à partir de 0, mais à partir de la marge. Donc, si je le lance, je veux qu'il y ait une bordure
sur le côté droit, sur le côté droit
et sur le côté gauche. Pour obtenir une bordure
sur le côté gauche, je vais obtenir
un nombre aléatoire, non pas de 0 à humide,
mais à partir de la marge,
qui correspond
à 50 pixels de largeur moins la
marge. Nous allons donc le faire. Si je lance ceci, vous
pouvez voir qu'il y
a 50 pixels ici où il n'y a pas de
lignes et qu'il y a un pixel ici où
il n'y a pas de lignes. Maintenant, pour que la hauteur fonctionne, je ne vais pas la faire au hasard. Je vais faire le positionnement
aléatoire uniquement de droite à gauche, mais de haut en bas. Je vais
réduire ce chiffre de façon marginale. Donc, la position y pour la position
Y de départ sera la marge. Et puis la position
Y finale sera également une marge. Maintenant, nous avons une bordure sur le dessus. Si je le lance maintenant, nous avons une
bordure très claire en haut. Nous avons des bordures claires sur le côté gauche
et sur le côté droit, mais nous n'en avons
pas en bas. La raison en est
que nous
prenons en fait la hauteur dans son ensemble. Nous devons soustraire les
marges de la hauteur. Nous avons donc deux marges, ce qui signifie que nous devons soustraire marge multipliée par deux
parce que nous en avons deux. Je vais faire de même pour les deux. Maintenant, si je l'exécute, vous
pouvez voir que nous avons une très belle bordure de
l'image d'origine. Et cela lui donne une
bien meilleure apparence. Cela le rend également plus agréable
parce que maintenant la hauteur est dedans, se déplaçant de manière aléatoire,
ce qui signifie que
les bleus vont rester en haut
la plupart du temps. La seule raison pour laquelle il
y a un peu de rose, c'est parce que tout n'est pas
bleu, comme le centre. Et à cause de cela aussi. Mais la majorité des
lignes sont bleues, puis ici, elles seront
roses et roses plus foncées. Il existe donc de multiples
teintes de rose. Maintenant, la dernière chose
que je veux faire pour cet exemple est de vérifier si le nombre d'images est
supérieur à 120 ou à un nombre quelconque. C'est exactement ce à quoi j'ai trouvé que
mon design était le plus beau. Je veux arrêter la boucle. Vous remarquerez que la
boucle s'arrête en fait. Il s'est arrêté après 120 images. Maintenant, si j'imprime FrameCount, vous verrez qu'
il passera de un à 120, puis qu'il s'arrêtera. Parce que la boucle s'est arrêtée. En fait, nous sommes passés à un pour un
parce que nous vérifions si c'est supérieur un, vingt et
un, c'est plus. Et c'est à ce moment-là que la
boucle s'est réellement arrêtée. Il s'est donc arrêté après 121 images. C'est donc aussi un bon
moyen d'arrêter votre conception. Vous pouvez donc peut-être l'imprimer ou enregistrer pour une utilisation ultérieure. Vous pouvez également utiliser une graine
aléatoire avec le
nombre de votre choix. Je commence généralement par 0. Ensuite, à chaque fois
que cela s'exécute, il aura les
mêmes valeurs aléatoires. Il va donc avoir
les mêmes résultats finaux. Dans l'exemple suivant, nous allons créer un collage
de plusieurs images.
40. Image : exemple 2: Dans cet exemple,
créez un collage. Pour un collage, nous avons besoin plusieurs images dans notre dossier
de données. Et j'ai créé,
j'ai enregistré ce fichier, le fichier d'esquisse, et j'ai
créé un dossier de données. Et à l'intérieur, j'ai
toutes ces formes. Vous pouvez donc avoir
n'importe quelle forme aléatoire. J'ai créé de l'hexagone, de l'octogone, aussi, des fleurs
et des triangles. Alors c'est très important. Je vais créer un lien vers ce
dossier dans la section du projet. Mais si vous souhaitez
créer vos propres formes, assurez-vous
simplement de
les créer en PNG et qu'elles ont un arrière-plan
transparent. Si vous voulez l'arrière-plan, n'
hésitez pas à utiliser JPEG ou PNG avec un fond blanc. Ensuite, vous devez les
nommer avec des chiffres. Pour le premier, j'ai
ajouté le mot clé bleu, juste pour indiquer qu'
il s'agit d'une couleur bleue. Puis j'ai commencé à compter. Donc pour celui-ci, c'est 0102, additionnez jusqu'à 06, en fait jusqu'à 09. J'ai inclus ces
turquoises dans le bleu. Et puis pareil pour le vert, pareil pour l'orange, le rose
et le rouge. Ils ont tous neuf images. Ils doivent tous avoir une numérotation
cohérente pour cet exemple, car nous allons utiliser une boucle for
qui compte de 0 à neuf, en fait de un à neuf. Donc, une fois que
votre dossier est prêt, passons à l'exemple. Pour cela, la première
chose
dont nous avons besoin, ce sont les mots clés
de vos fichiers. Donc pour moi, c'est bleu, vert, orange, rouge et rose. Je vais créer les noms
des images. Et je vais les mettre
dans un tableau de chaînes. Et je vais simplement les
appeler des noms d'images. Je vais les mettre ici
directement à l'intérieur du tableau, car je n'ai que
cinq mots-clés. Il n'est pas nécessaire
de l'initialiser
et de le générer à l'aide d'une boucle for. Maintenant, je vais initialiser
le décompte des images. Pour cela, je vais
avoir besoin d'un entier et je vais l'
appeler nombre d'images. Et j'en
mettrai neuf parce que j'ai neuf émetteurs. Et puisque nous allons
charger un ensemble
d' images, puis
les positionner sur l'écran. Je vais créer une
classe parce que cela nous permettra de naviguer beaucoup plus facilement
. Et je vais appeler
cela une grande image. Et à l'intérieur, je vais avoir besoin d'un nom de fichier. Donc, chaque fois que je charge une image, je vais avoir besoin de cette entrée. Donc je vais le mettre ici. de fichier de chaîne. Ensuite, bien sûr, je vais
avoir besoin de l'image PPI parce que je charge l'
image avec ce nom de fichier. Ensuite, je vais avoir besoin d'une position x et y, d'une
largeur et d'une hauteur. Parfois, j'aime les ajouter, en tant que variables, la position et la taille la position et la taille des
formes ou des images. Et ensuite, si je n'en ai pas
besoin ou si je trouve que je n'ai pas
besoin de ces variables, je vais simplement les
changer alors. Parce qu'il est beaucoup plus
facile de commencer avec des variables au cas où vous voudriez modifier
des choses à plusieurs endroits. Et ensuite, si vous constatez que
vous ne l'utilisez qu'une seule fois, vous pouvez simplement supprimer
la variable. Il s'agit d'une autre méthode ou une autre approche pour
créer des variables. Ensuite, je vais
créer le constructeur. Ensuite, je vais appeler le nom du fichier de
soulignement de la chaîne de paramètres. Juste pour qu'il soit plus facile pour
nous de savoir qu' elle sera
associée à cette chaîne ici. Et ici, bien sûr, je vais écrire que le nom du fichier
sera égal à ce qui est
entré dans cette classe. Ensuite, mon image, je
vais charger l'image. Je vais utiliser le nom du fichier. Dans ce cas, le nom du fichier ne
comportera ni PNG ni JPEG. Vous pouvez demander à l'utilisateur de saisir
le fichier avec l'extension. Mais pour l'instant, comme je sais que
toutes mes images sont en PNG, je vais m'en
tenir au PNG, surtout si vous voulez que
votre programme n' PNG avec un
arrière-plan transparent pour qu'il fonctionne, alors c'est mieux vaut
initialiser l'extension et demander à l'utilisateur de
saisir le nom de l'image. Je vais lui donner
une largeur et une hauteur. Je vais faire 120 par 120 juste
parce que je l'ai testé auparavant. Et je sais
que 120 vont fonctionner. Ensuite, pour x ou pour la position, je vais lui donner une valeur
aléatoire de 0 à un. Ensuite, pour y, de 0 à la hauteur. Ensuite, je redimensionne les images parce que mes
images le sont un peu. Parce que je ne veux
pas de pixellisation, même si ma toile
mesure 400 x 400,
je crée toujours comme si j' allais créer une toile
plus grande, juste au cas où un jour je
voudrais y revenir et peut-être enregistrer certaines
des images. Je vais le
redimensionner à 120 par 120. Je sais que cela ne semble pas nécessaire ici parce que
nous ne l'utilisons qu'une seule fois. Alors pourquoi utiliser 120 x 120 ? Ensuite, redimensionnez-le
ici en fonction des variables alors que je peux simplement le redimensionner de
un vingt, un vingt. Mais je ferai
quelque chose plus tard. Vous verrez que maintenant
je vais charger toutes les images en utilisant cette classe. Je vais créer un tableau
de cette classe appelé images. Ensuite, je vais d'abord
initialiser le tableau. Image du collage de Neil. La longueur du tableau d'
images du collage sera le suivant : le nom de l'image est multiplié par le nombre
d'images, car nous avons neuf images de chacun de ces noms d'images
multipliées par le nombre d'images. Et maintenant, nous allons
intégrer la liste complète des images. Ensuite, je vais créer les instances du tableau d'images du
collage, donc uniquement la boucle for. Et il va s'étendre
jusqu'aux noms des images, longueur des
points et
aux incréments d'une unité. Ce tableau va être
itéré cinq fois car nous ne l'étendons
qu' à la longueur en points du
nom de l'image. Donc, ici, à
l'intérieur des images du collage, seules les
cinq premières auront des valeurs. J'ai besoin d'imbriquer une autre boucle qui va itérer neuf fois fonction du nombre d'images pour chacun des noms
à l'intérieur de ce tableau, je vais faire une boucle neuf fois pour obtenir les noms
pour les images correctement. Alors maintenant, ma deuxième
boucle va
passer par le nombre d'images. Nous avons maintenant la longueur
de l'image du collage. Cependant, je ne peux pas simplement faire des images maintenant
et ensuite me contenter de moi, parce que je ne
passe que de 0 à quatre. Mais cette matrice d'images
est beaucoup plus grande. C'est en fait cinq
multiplié par neuf. Je dois donc faire l'index
ici en utilisant I et j. C'est là
que l'IA entre en jeu. Ensuite, nous allons le
multiplier par le nombre d'images. Avant de faire quoi que ce soit, je voudrais imprimer les valeurs ici dans la console
afin que vous puissiez voir que ce que j'ai multiplié par les comtés de l'image pendant la première passe de 0. Donc, 0 multiplié par neuf, qui est le
nombre d'images, sera égal à 0. Et puis pour le second, ce sera un
multiplié par neuf, ce qui nous donnera neuf. Et puis neuf multiplié par deux parce que je
vais avoir deux. Et il en
sera de même pour tous. Ensuite, le
dernier sera quatre multiplié par neuf, ce qui nous donnera 36. Cela ne nous donne donc pas de 0 à la dernière valeur
dont nous avons besoin. Neuf multiplié par cinq, c'est 45. Nous en aurons besoin pour atteindre 45. Ce que vous
remarquerez ici, c'est que cela passe de 0
puis passe à neuf. Mais où est mon 128128 c'est essentiellement les neuf premiers,
où se trouve le bleu. Donc, je ne reçois que le
premier pour le bleu
, puis je reçois le neuvième index à l'intérieur
de mon image de collage, et c'est le vert, c'est le début du vert. Et puis 18, ce sera
le début de l'orange. Mais je dois ajouter neuf
images de chacune d'elles. C'est là que j'entre en jeu. Je vais ajouter j à cela. Parce que pour les
neuf premières positions, où c'est 0 ici, nous allons y ajouter j. Donc,
le premier sera 0, le second sera un, le troisième sera deux, et ainsi de suite. Alors pour ici,
quand nous aurons neuf ans, quand ce sera un, ils
seront
tous neuf. Et puis, quand nous y ajoutons j, ils seront au lieu de 99101112
parce que neuf plus 0, qui est la première
itération du j, sera
neuf, puis neuf plus un est Ça va avoir dix ans. Nous allons donc
avoir l'ensemble de la gamme. Imprimons donc
ceci et voyons ce qui se passe. Nous avons toute notre gamme. Nous avons donc de 0
à vendredi 5, ou en fait 44 parce que
nous passons de 0, mais nous avons 45 positions, ce qui couvrira
notre gamme d'images de collage. Je vais supprimer ceci et peu commun celui-ci
actif j ici. C'est un
peu compliqué de commencer à le faire. Mais une fois que vous avez compris
le concept, que vous l'avez parcouru à l'
aide de la ligne d'impression et que vous avez vu comment
les choses fonctionnent réellement, vous pouvez même remplacer i par j et voir ce qui fonctionne
et ce qui ne fonctionne pas. Je pense que faire
des erreurs vous aide à mieux comprendre ce
qui se passe. Pour moi. Je n'aime pas simplement
suivre des tutoriels, mais j'aime aussi
faire des erreurs et essayer différentes choses, même
s'ils m'ont dit que cela ne produirait pas
le bon résultat, je veux juste voir quoi
arrive si ça ne va pas. Je comprends donc ce
qui se passe quand tout va bien. Nous avons maintenant les valeurs de
notre tableau d'images ici. Et je vais lui donner des valeurs. Nous pouvons maintenant créer les instances de la classe d'images de collage. Je vais juste dire nouvelle image
puis image collée. C'est pourquoi j'ai créé
ce paramètre ici, parce que je veux générer des noms de fichiers
à l'intérieur de la boucle for. Et si je devais faire tout
cela dans ma boucle pour, ce serait très long. Il est donc beaucoup plus facile de
créer une classe ici. Nous savons que le nom de chaque image
commence par le nom de l'image. Je vais donc commencer par les noms
des images. Et ils vont
avoir de l'IA parce que IA passe par la longueur des points des noms d'
images, puis je vais ajouter à
cette chaîne un trait de soulignement 0
parce que je sais que mes fichiers ont le nom de l'image
, puis un soulignez 0, puis l'itération ou le
numéro du nombre d'images. Et puis je vais
concaténer une autre valeur à la chaîne. Et ça va être J plus un. J'ai j plus un
entre parenthèses parce que je veux que ce soit beaucoup plus fort et
que ça arrive en premier. Si je le supprime, alors cela
va concaténer j et ensuite il va y
ajouter un. Juste pour
mieux voir cela, imprimons-le. Je vais faire un commentaire, que rien ne se passe.
Si je l'imprime. Vous verrez que nous
aurons du bleu puis 001 parce que j vaut
0, ce sera un. Ensuite, pour le suivant, il
y aura 0, puis 11. Donc, il regarde
celui-ci comme s'il s' d'une concaténation à la
chaîne et il ne le
regarde pas comme si
nous l'ajoutions à j. Mais je veux l'ajouter
à j parce que j
commence par 0 et je
veux commencer avec un. Je vais donc ajouter des parenthèses pour rendre ce calcul
plus solide que les autres. Donc, cela se produira d'
abord et ensuite je
vais créer ce numéro
dans la chaîne. Maintenant, si vous regardez cela, nous avons les bons chiffres. Maintenant, pour le bleu, c'est le trait de soulignement 0. Il s'agit d'un trait de soulignement 0. Et puis c'est celle-là. Alors maintenant ça fonctionne. Je vais ajouter les
parenthèses ici. Et toutes mes images se trouvent
en fait à l'intérieur de mon tableau. Si je veux vérifier, je peux imprimer un tableau. Vous pouvez voir que
nous avons maintenant beaucoup de classes
ou d'instances
différentes de la classe dans
mon tableau d'images. Vous n'allez pas
voir ce qu'
il contient à moins d'y aller. Donc, si vous voulez y aller, vous devrez l'
imprimer à l'intérieur de la boucle. Nous pouvons donc utiliser cet indice. Parce que ces variables
ne sont que locales aux boucles for. Ensuite, je vais
imprimer les noms des fichiers. Je peux voir que tous les noms de fichiers sont réellement ajoutés
à l'intérieur du tableau. Ensuite, nous allons
réellement dessiner les
images à l'écran. Comme il s'agit
d'un design statique, je vais juste faire
une boucle ici. N'hésitez pas à en faire
un design animé. Mais à partir de mon design, je
vais le rendre statique. OK, maintenant, pour positionner
les images stockées dans le tableau d'images, je vais également créer
une autre boucle for, mais cette fois, la boucle for
va en fait de 0 à la longueur de ce
gloss tableau d'instances d'image. Et pour réellement montrer l'
image ou les images, je vais faire de l'image. Et puis à l'intérieur, je vais utiliser le
tableau d'images et la valeur de l'indice. Et comme cela
ne me donnera les instances de ce cours, je vais devoir entrer ici et obtenir l'image. Donc, cela va me donner
une instance de la classe, et je vais avoir besoin de
l'image de propriété pour
pouvoir réellement regarder l'image qui est chargée à
l'intérieur de cette classe. Commençons par le
positionner au centre. Juste pour voir si ça fonctionne. Maintenant, j'ai toutes mes images, mais elles ne sont pas vraiment au centre car
les images sont dessinées à partir du
coin supérieur gauche comme des rectangles. Nous pouvons changer cela
en utilisant le mode Image. Je vais le mettre au centre. Maintenant, il
dessine en fait depuis le centre. C'est génial. Maintenant, au lieu de dessiner
toutes les images unes
sur
les autres au centre de l'écran, je vais utiliser les positions x et
y ici. J'ai donc une largeur
et une hauteur aléatoires. Nous pouvons le faire
en examinant chacune des instances. Ensuite, en passant dans x. Donc, si je fais cela, je peux voir que nous aurons positionnement X
aléatoire ou que nous n'avons pas changé
la position y, elle est toujours au centre de
l'écran sur l'axe y. Maintenant, pour changer cela, je vais créer une variable
appelée position. Pourquoi ? Parce que ça va prendre
un peu de temps et ça n'a aucun
sens de le
mettre ici et ça ne sera plus lisible. Alors maintenant j'ai besoin de rangées ou de cinq
rangées pour chacune des couleurs. Maintenant, créez une ligne pour chacun
des noms d'images ou
le chemin des couleurs. Je vais devoir diviser la
hauteur par les noms des images. Maintenant, je vais avoir cinq
rangées de même hauteur, mais maintenant elles sont toutes
au même endroit. donc falloir que je
le multiplie à l'œil nu. Mais maintenant, cela ne fonctionnera
plus car nous avons une longueur de tableau différente. Ce que nous avons fait ici, c'est changer
la façon dont nous écrivons l'index pour que les images
fonctionnent réellement avec
ces deux longueurs de tableaux. Mais maintenant, c'est le contraire. Nous avons des images de cette longueur. Alors maintenant, nous en avons 45 ici. Cela va donc
passer de 0 à 45, ce qui signifie que vous allez placer chacune de ces images sur une ligne différente. Donc, seul ce numéro
pourra tenir ici. Au lieu de cela, je vais diviser la hauteur par les
images de cette longueur. Maintenant, nous avons toutes
les images et nous avons toujours le bleu en haut, puis le vert
ici, et puis l'orange, rouge et le rose,
dans cet ordre ici. Si vous souhaitez modifier la commande, vous pouvez la modifier ici. Et notez simplement que le premier sera
toujours en bas. Vous pouvez donc peut-être les modifier. Vous pouvez trier votre tableau l'aide de l'
une des fonctions de tri, ou vous pouvez créer
votre propre tri dans
lequel vous pouvez simplement
mélanger le tout pour obtenir une couleur
différente au-dessus d'un couleur différente. Maintenant, dans mon image d'origine, j'avais en fait un
fond noir, ce qui rendra les couleurs un peu plus
éclatantes. Maintenant, au lieu de le
diviser par la hauteur, je vais
le diviser par la hauteur moins la hauteur des images, juste pour éviter ces
découpes ici. Maintenant, si je lance ceci,
je peux voir qu'il s'agit
en fait de soustraire
la hauteur de la hauteur réelle, puis diviser par la longueur des points des images
et de créer les lignes. Maintenant, je dois en ajouter la
moitié pour pouvoir tout ramener à la position de ma
femme sur les images. Et si je le
lance maintenant, nous
n'avons pas de découpes en
haut ou en bas. Et je peux faire la même
chose pour le x. Je vais
donc
créer la position x au lieu de la
mettre partout ici. Ici, je vais
appeler la position x. Et y ajouter des images que
je divise par deux points, soit la moitié de la largeur
des images. Et maintenant, ils ne sont pas
découpés ici, mais ils sont découpés
ici parce que nous obtenons
en fait une
valeur aléatoire comprise entre 0 et la largeur. Et j'ai besoin d'obtenir une valeur aléatoire de 0 à moins la largeur. Et c'est pourquoi j'
utilise des variables
ici parce que je savais que j'en
aurais eu besoin ici. Nous pouvons faire la même
chose pour la hauteur en obtenant une valeur aléatoire. Mais comme nous n'utilisons pas réellement
le y ici, utilisons
uniquement l'exposition. Nous ne pouvons pas vraiment le faire ici à moins d'utiliser le positionnement
aléatoire. Donc je vais le faire ici
à la place. Maintenant, nous les avons
tous au centre. n'y a pas de découpes. Vous pouvez l'exécuter
encore et encore. Et vous verrez
différentes variantes et vous pouvez ajouter des graines
aléatoires ici pour obtenir les mêmes
résultats encore et encore. Si je le lance,
ça devrait être
pareil à chaque fois. Vous devez mettre la
graine aléatoire avant le hasard. Mais comme le caractère aléatoire se trouve réellement à l'intérieur de cette classe, vous pouvez soit y placer une
graine aléatoire, soit simplement mettre avant de créer
les instances de la classe. Si tu le mets ici,
ça ne marchera pas. Cela va créer le caractère aléatoire, puis
il dira la graine aléatoire. Ainsi, votre ordinateur ne
regardera vos codes que par ordre
chronologique. Donc, ça ira de
la ligne 1 en bas. À moins qu'il n'y ait une fonction, elle va accéder
à la fonction et appeler tout ce qui s'y trouve. Ensuite, il va revenir
à
tout ce qui se trouve en dessous de cet
appel de la fonction. C'est tout ce que nous devons
savoir sur les collisionneurs ou chargement de plusieurs
images sur notre toile. Ensuite, nous parlerons
d'un autre sujet,
à savoir la topographie.
41. Type : Exemple 1: nous en avons presque fini. Les exemples se trouvaient dans la dernière section des bases de la conception. Et pour cette section des exemples, nous allons parler de la typographie ou de la typographie spécifiquement en cours. Nous avons appris comment Teoh crée des formes dans une section précédente en utilisant la classe de formes P, et nous apprenons comment charger des images dans l'image de la section de l'exemple de base de conception. Nous allons combiner ces deux-là avec le type pour créer quelque chose comme ça. Non, c'est un programme de dactylographie. Donc, tout ce que vous voyez en ce moment dans cette conception est en fait des lettres transformées en formes que j'ai importées en utilisant SP. Bon sang, tu ne dois pas faire ça, nous allons commencer avec une chaîne d'alphabets que nous allons briser en caractères que nous pouvons ensuite utiliser avec le clavier pour entrer ces dessins. En outre, j'ai enregistré ce fichier d'esquisse parce que j'ai besoin d'un fichier de données pour mettre mes fichiers SCG. J' ai donc mon dossier de données ici à l'intérieur de mon dossier d'esquisse. Et puis si je clique dessus, vous allez voir que j'ai tous mes fichiers SPG de A à Z. Vous pouvez également ajouter des espaces et des virgules et des points oiseau pour cet exemple simple. Je ne l'ai fait que d'un à Z et je vais orteil lié à ce plus sauvage ainsi et la
section du projet ci-dessous. En outre, lorsque vous nommez votre doit enfin être cohérent avec vous soit utiliser toutes les minuscules ou toutes les majuscules, puis il a créé une forme différente pour chaque lettre basée sur la forme de la lettre elle-même. Mais vous pouvez créer toutes les formes que vous voulez. Peut-être que vous voulez créer un bouquet de fleurs ou un tas de rectangles avec des couleurs différentes . Donc, vous voulez peut-être remplacer la lettre par des couleurs au lieu de shakes. Mais je vais à dio formes, puis pour la couleur, je vais utiliser une palette de couleurs. Ok, je vais commencer par une chaîne de l'autre un peu, et je vais charger une forme pour chacun de l'alphabet. Donc, je vais créer un tableau de forme P. Je vais appeler ça « voyages ». À l'intérieur de cela, je vais initialiser le tableau, et je vais lui donner une longueur de la chaîne alphabet en utilisant la méthode length et la
raison pour laquelle j'utilise la longueur et ne pas dire 28 à la place parce que parfois vous voulez ajouter Vous voulez des annonces, virgules et des points et tous ces autres caractères, et c'est beaucoup plus facile si vous dites juste alphabet traité Lien. Donc, quoi que vous ajoutiez ici, il est beaucoup plus facile de calculer la longueur, puis de supposer ou de compter à chaque fois. Pour l'instant, je ne vais pas créer de palette de couleurs. Je le ferai et noir et blanc jusqu'à ce que ça marche. Et puis nous ferons une palette de couleurs. Et c'est d'habitude ce que je fais quand je grandisse mes dessins. Ok, maintenant je peux utiliser la longueur de l'alphabet ici à l'intérieur de ma boucle que je vais créer où je vais charger toutes les formes dans la forme P, accord. Mais au lieu de cela, je vais simplement créer une constante, parce que si j'ai d'autres caractères que l'alphabet, ce sera un tableau différent pour ceux pour les charger. Nous allons faire en alphabet et pour Constant, utiliser
généralement de vieilles majuscules. Et c'est 26. Je crois avoir dit 28 avant, mais c'est Ah, l'alphabet arabe. I Il me confond parfois. Donc oui, il est 26 alors je vais faire quatre entier je égale zéro et puis je vais être inférieur à l' alphabet ling. Ok, et à l'intérieur d'ici, nous allons charger les formes dans la forme de la race. Donc, ce sera des formes I et ensuite nous utilisons la forme de charge cette fois parce que nous ne
créons pas une forme avant que nous utilisions créer une forme. Et puis nous avons commencé la forme et fini de trébucher entre les deux. Nous avons utilisé la facilité Vergis, mais pour cet exemple, nous allons seulement charger des formes que nous avons déjà créées auparavant. Et j'ai créé tous mes STD un illustrateur, mais vous pouvez le faire en ligne ou dans n'importe quel autre logiciel. Ok, maintenant je vais charger la forme, en utilisant les noms des fichiers. Maintenant, mes fichiers sont nommés un point sgb ne SPD pas et ainsi de suite. J' ai donc besoin de chaque caractère dans cette chaîne pour obtenir chaque caractère. Il y a une fonction appelée char at ou car at pour les chaînes, et il prend chaque caractère en utilisant un index. Donc pour cela, c'est exactement comme une augmentation pour le 1er 1 C'est à l'indice zéro pour le 2ème 1 c'est un, puis jusqu'à ce que la longueur moins un. Donc ça va être 25. Donc si je le fais, je ? Ça va me donner le caractère à ce moment-là. Et puis je vais au capitaine huit l'extension, qui est dot svg. Maintenant, c'est mon nom final. Ça va être tous les personnages de ce train, puis point SPD sait-il qu'ils sont chargés ? J' y vais, Teoh les a mis au hasard. Médecin. Donc, je vais utiliser la forme comme nous l'avons utilisé avant quand nous avons créé notre forme personnalisée, puis je vais devoir créer un tableau à nouveau. On a été ici. Je vais faire des formes que j'ai à une position aléatoire afin que vous puissiez les voir tous des Urgences à cela confère ici à la hauteur pour pourquoi ? Et si je fais ça, on les verra tous partout. Maintenant, ils sont extrêmement grands. Si je change le Phil 20 mais avec une valeur Alfa, rien ne marchera. La raison en est que nous n'avons pas désactivé SPG ou les styles de formes. Après avoir chargé les formes, vous utilisez simplement, pas désactivez les styles, qui est une fonction avec la classe en forme de pois. Non, ça va appliquer les styles. Donc on a un accident vasculaire cérébral si j'enlève ce coup. Nous avons aussi un problème différent. Quelle est la taille de notre SVG Zahra. Énorme. Vous pouvez changer la taille à l'intérieur de votre fonction de forme en ajoutant
deux paramètres à ceci ou deux ou plusieurs arguments qui vont être la largeur et la hauteur vont faire 100 par 100 . Non, je vois qu'il y a plein de petites formes et on peut le voir mieux si je le ralentit. Je vais donc ralentir à trois images par seconde et je peux voir les formes. Et si j'augmente ou supprime la transparence, nous pouvons voir les formes maintenant enfin fonctionner. D' accord, mais ce qu'il nous faut, ce n'est pas seulement les dessiner à l'écran. Chaque cadre dont j'ai besoin pour créer une machine à écrire pour faire apparaître vos vaisseaux. Lorsque vous tapez les lettres sur le clavier. Je vais utiliser la fonction relâchée de la clé maintenant à l'intérieur de la fonction relâchée de la clé. Si j'imprime le mot-clé, on verra qu'à chaque fois que je tape, tu verras les lettres que je tape dans le conseil ici. Je vais utiliser ce mot-clé pour saisir les formes du tableau de formes P, en utilisant le caractère associé à la touche cliquée. Non, si je dessine les formes ici et que je vais les mettre au centre pour l'instant, je vais les redimensionner parce qu'elles sont énormes. Cela ne va pas aller à l'intérieur d'une boucle for. L' œil va être créé comme une variable où la position sera l'index de la touche à l'intérieur de cette touche de tableau étant la touche pressée ou relâchée sur le clavier. Pour obtenir cela, il y a une autre fonction dans les chaînes appelées index of. Donc, si je fais l'alphabet et puis j'obtiens l'index du caractère cliqué, qui est la clé, cela va me donner la position de celui-ci ici, que je peux également utiliser ici. Puisque nous avons poussé ou chargé les formes à l'intérieur de ce tableau en fonction des mêmes positions de
cette chaîne ou de ces caractères dans
cette chaîne, c'est la même chose, donc il va en fait chercher la clé dans cette chaîne, la chaîne
alphabet, et s'il le trouve, il retournera l'index ou sa position pour vous, puis vous pouvez utiliser cette position pour saisir le même caractère de la même forme du tableau
Shapes à la même position. Know index Off va retourner un négatif s'il ne trouve aucune des clés. Donc, si j'ai appuyé sur l'espace, par
exemple il retournera un négatif, puis il le cherchera ici et il ne le trouvera pas, donc cela ne fonctionnera pas. Donc, il doit être une de la maison un peu ici que vous cliquez sur le clavier. Maintenant, si je clique sur le clavier, vous allez voir les formes fonctionner. Mais maintenant, les formes ne sont pas au centre, car encore une fois ils sont tirés du coin supérieur gauche. Si j'utilise la forme Military pour et mettre dans un centre, et maintenant je clique sur le clavier va être sur l'ensemble, et je dois m'assurer que si cela retourne négatif que cela ne fonctionne pas, car alors cela dira que cet index est pas disponible dans le tableau et il va lancer une erreur. Donc, si je clique maintenant sur l'espace, cela va dire index de tableau hors exception liée parce qu'il n'y a pas de négatif ce que je
dois donc assurer que si l'index de la clé n'est pas réellement égal à négatif, alors faites-le, parce que si elle est égale à négative, alors elle n'a pas trouvé l'industrie clé. Il peut facilement le faire en utilisant un if conditionnel, en utilisant l'index de clé n'est pas égal à négatif, et je peux faire tout cela. Et si vous aviez la commande T ou T contrôlé sur Windows, alors vous pouvez corriger l'indentation. Maintenant. Si je clique sur la barre d'espace parce qu'elle n'existe pas et que les alphabets boivent, alors rien ne se passera. Aucune erreur ne sera levée. Mais si je clique sur les autres lettres qu'elles sont dessinées pour voir cela changer réellement, ajoutons la palette de couleurs. J' ai donc déjà une palette de couleurs que je suis jeune à copier et coller dans mon fichier. N' hésitez pas à choisir les mêmes couleurs ou à choisir les vôtres. Maintenant, au lieu d'utiliser l'euro Phils Chaque ici, je vais l'enlever. Je ne vais laisser aucun trait, et ici, à l'intérieur de mon conditionnel, je vais ajouter un rempli du tableau de couleurs. Comme vous pouvez le voir ici, il y a Ah, tableau de
couleurs que j'ai appelé appelle il a cinq couleurs, et je veux utiliser une couleur aléatoire, donc je ne me soucie pas vraiment de la coloration. Je tiens juste à ce que les formes soient associées aux clés. Afin d'obtenir un index aléatoire à l'intérieur de mes crochets, je vais utiliser la fonction aléatoire à l'intérieur de la fonction aléatoire. Je vais utiliser la longueur du tableau comme mon maximum. Dans le cas où je voulais ajouter des couleurs plus tard, et maintenant il va se plaindre parce qu'un tableau ou des positions dans la maison du tableau pour être des entiers. Donc je vais lancer ça en intrus, donc ça va le convertir et ça marchera. Maintenant. Si je clique sur jouer et taper, nous allons obtenir des couleurs aléatoires pour que vous puissiez le voir. Ok, on a des formes différentes en fonction du moment où je tape. Il est temps de fixer la position de ces voyages parce que les mettre sur l'autre ne fonctionnera
pas. Il est temps de créer une hache dans la position de la vie, et ici je vais mettre X et pourquoi va être une valeur aléatoire de zéro à hauteur, Mais je vais en fait à dio de zéro à la hauteur moins 100 qui est la taille ou le hauteurs de chaque forme. Et je vais supprimer la charge de forme pour l'instant parce que je voulais dessiner à partir du
coin supérieur gauche . Si vous voulez le dessiner du centre, hésitez pas à le faire. Mais alors vous allez devoir fixer le positionnement pour ne pas sortir les formes du haut et à gauche attachée. Parce que quand tu dessines du centre, tu vas devoir t'accommoder pour cette section en haut et à gauche serrée. Mais c'est beaucoup plus facile si vous supprimez cela et laissez-le dessiner en haut à gauche, ce qui
signifie que je sais toujours que ma forme est en sécurité du côté supérieur et du
côté gauche . Mais alors j'ai orteil seulement travailler sur le côté droit dans le côté inférieur. Donc, de cette façon, je sais que si je fais de zéro à la hauteur moins le 100 Je sais que même les formes qui vont être à la partie inférieure de la toile, ils ne vont pas être découpés parce que je sais que j'ai enlevé ou soustrait 100 qui est la taille de la hauteur de ces formes à partir de la hauteur de la toile, ce qui signifie que je suis en sécurité tout le temps Maintenant si je cours, ce X sera à zéro à chaque fois. Mais alors ils vont avoir une hauteur aléatoire et vous pouvez voir qu'ils sont toujours sur le bord du côté inférieur et sur le côté supérieur aussi bien. Si je supprime cela, si vous voulez tester, il peut l'enlever et vous pouvez voir qu'ils sont découpés ici. Je vais le retourner au négatif 100 ou la hauteur moins le 100. Et maintenant, nous sommes en sécurité. Je sais. Travaillons sur le X pour qu'il dessine d'ici ou du côté gauche de la toile vers le côté
droit de la toile. Maintenant, pour ce faire, j'ai besoin de décaler de 100 à chaque fois. Donc, je vais créer une autre variable appelée offset, et je vais l'ajouter à l'exposition. Et puis je dois lui donner une valeur. Donc, si je dis ah 100 ici et que je lance ça, vous verrez que vous n'obtiendrez qu'un décalage chaque fois que vous tapez, parce que c'est une valeur statique. Mais si je commence d'abord avec zéro. Et chaque fois que la forme dessine, je veux augmenter le décalage. Donc l'officier va augmenter de, Disons 50 pour l'instant et voir ce qui se passe. On peut voir que ça marche. Non, c'est une position aléatoire qui s'élève, et ensuite elle est compensée par 50 à chaque fois. Et si je change la valeur de décalage et USC, c'est beaucoup plus grand. Donc 50 ans, bonne taille, la raison pour laquelle j'utilise 15 au lieu de 100 parce que ah, 100 englobent les marges à droite et à gauche de mes MST. Donc, si vous regardez les fichiers ici, vous allez voir qu'il y a de la marge ici, et j'ai créé émergent de 25 25 pixels. Il y a donc 50 pixels, donc l'image réelle est de 50 pixels blancs. Donc si je veux décaler, je vais compenser de 50 pour obtenir les formes à coller l'une à l'autre. Mais si je suis compensé par 100 que je garde les marges, alors ça va sembler qu'il y a beaucoup d'espace entre eux. Si vous voulez ajouter le courant à vos navires comme si vous travailliez avec le type, alors à coup sûr . Utilise le 100. C' est à vous de voir. Maintenant, vous supprimez cette partie tambour de cette marge sur le côté gauche. Pour le 1er 1, je vais commencer X à moins 25. Mais au lieu de le faire à l'intérieur de la clé libérée pour éviter de réinitialiser chaque fois à moins 25 ,
je vais le mettre ici. Donc, les actes vont être moins 25. La raison pour laquelle Pourquoi est ici ? Parce que je veux obtenir une hauteur aléatoire chaque fois que les clés sont collectées ou libérées. Mais je n'en veux pas. Teoh. Quoi ? Je ne veux pas que le X soit réinitialisé à moins 25 chaque fois que les clés sont libérées. Maintenant, cela fonctionne mieux maintenant vous pouvez voir qu'il n'y a pas de marge sur le côté gauche pour le 1er 1 et tout le monde après est seulement 50 pixels décalés vers la droite. Maintenant, quand je voulais réinitialiser chaque fois que je devais cliquer sur le bouton de lecture à nouveau, puis arrêter et joué à nouveau ensemble écran y de réinitialisation à la place. En utilisant un backspace. Je peux facilement le faire en faisant un autre. Si maintenant, si cela est égal à négatif, alors il n'existe pas dans l'alphabet, ce qui signifie que c'est une lettre différente qui signifie retour arrière, un bouton de retour,
un bouton de barre d'espace. Donc je vais voir Teoh, vérifier si la clé est un retour arrière. Quand ce n'est aucun des caractères, il y a, ah valeur constante appelée backspace native au traitement. Il y a aussi en entrée que nous allons utiliser afin d'obtenir une nouvelle ligne au lieu d'
obtenir juste une valeur aléatoire à chaque fois. Donc, si la clé est backspace, alors je veux réinitialiser. Si je veux réinitialiser, ce qui signifie que je veux que X retourne ici, ce qui signifie moins 25. Donc je vais faire X égal moins 25. Et puis je veux aussi que le décalage soit de retour à zéro, parce que si nous ne compensons pas zéro si c'est maintenant 100. Quand j'ai décidé, Teoh se réinitialise et j'ai recommencé à écrire. Cela va commencer à partir de 100 pixels et pas à partir de zéro maintenant. Si je lance ceci et que je commence à taper, si je frappe retour arrière, ça remonte au début. Mais il ne supprime pas l'arrière-plan, donc je dois aussi réinitialiser l'arrière-plan sur blanc parce que c'est l'arrière-plan initial, non Si je commence à écrire et puis j'appuie sur backspace, vous allez voir que c'est une ardoise propre et si j'écris encore une fois, ça va commencer à partir de X moins 25. Voyons maintenant ce qui se passe si je ne réinitialise pas les décalages qui vont être exécutés pour que cela fonctionne . Et maintenant, si je tape maintenant, c'est 250 donc offset est 250. Et si je frappe le retour arrière, le 1er 1 va être ici parce que le décalage était de 250 puis augmenté de 50. Alors maintenant, c'est 300, donc ça va être 300. J' ai reculé de 25 ans à cause de l'Ex moins 25. J' ai donc besoin de réinitialiser le décalage à zéro à chaque fois. Ok, on fait ça, et si je frappe, Backspace revient dès le début, donc ça marche parfaitement maintenant. J' aime ça. Pourquoi a des valeurs aléatoires ? Mais je ne veux pas que ce soit chaque fois que je tape pour obtenir une valeur aléatoire. Je voulais seulement obtenir une valeur aléatoire si j'entre, ou si elle sort de cette grande, donc je vais vérifier si la clé est égale à entrer et alors seulement j'obtiens une valeur aléatoire pour la hauteur. Donc, je vais trouver de nouvelles lignes. N' importe qui quand vous mentez pour être dans n'importe quelle position. Je ne me fiche pas vraiment d'être à une certaine position, donc je vais juste le garder au hasard. Mais cette fois, il n'aura qu'une nouvelle ligne quand je frapperai. Non, Si je clique dessus et que je commence à taper et puis j'ai eu entrer, il va obtenir une nouvelle ligne. Mais il y a un autre problème. S ne revient pas à moins 25 le décalage ne revient pas à zéro. Donc je dois répéter ça à nouveau. Maintenant, si je lance ceci et puis appuyez sur Entrée maintenant, nous avons un problème différent cette fois. Si je retourne dans l'espace, on va rester à la même ligne que nous étions avant de frapper le retour arrière. Alors, je vais aux pieds. Mettez également le positionnement y ici et organisons ceci pour avoir X avant pourquoi juste pour que nous
puissions le lire mieux ? Et si je cours ceci maintenant et que je commence à taper et que j'avais entrer à chaque fois que j'avais entré, je reçois une nouvelle ligne et puis si j'appuie sur retour arrière, je commence à taper. Ça va commencer par le début, donc tout est réinitialisé. Tout va bien maintenant. Ce n'est pas idéal pour répéter le même code, mais nous apprenons quelque chose que nous pouvons utiliser afin d'éviter la redondance. Et c'est des fonctions. Donc, tout crée une fonction de réinitialisation. Et ici, je vais prendre le code répétitif pris dans RV collé ici et puis à la place , je vais juste utiliser la fonction, appeler ou être ici et ici. Non, si je le fais, tout fonctionne de la même façon. J' ai eu de la colère va faire et vous aligner, mais si elle frappe retour arrière, il va aller à une position différente. La dernière chose que nous avons besoin de Dio est d'éviter d'aller en dehors de la largeur de la toile. Maintenant, si je continue, taper va taper et je tapais toujours, mais nous ne le voyons plus parce que je n'ai pas ajouté de limite à la largeur de l'écran. Nous pourrions facilement le faire en utilisant ceci. Nous nous asseyons fonction à nouveau à l'intérieur de la différence de conditionnel ici, donc comme je suis en train de taper, va dire si X plus décalage est supérieur à la largeur, puis s'il vous plaît réinitialiser et aller à un nouveau vin. Donc, il vérifie si l'exposition est hors de l'écran. Un coin gauche de chaque forme est plus grand que l'esprit. Ensuite, nous devons le réinitialiser ici. Maintenant, nous l'exécutons pour la dernière fois, et maintenant si je vais hors écran est en fait créer une nouvelle ligne. Je ne vais pas. Entrez n'importe quoi, mais ça va toujours à n'importe qui. Et si je veux aller quand tu fais la queue avant que je finisse la première ligne, alors je peux le faire avec moi. Il suffit de réinitialiser. Je peux encore aller à un nouveau lion avant d'atteindre la largeur. Mais alors, si je veux aller à l'ouest, va créer un hasard votre vie pour moi numéro. Apprendre cet exemple. Nous serons en mesure d'importer S P. G dans vos fichiers,
pas nécessairement l'utiliser avec une machine à écrire comme celle que j'ai créée, Vous pouvez simplement utiliser SPG es comme des formes aléatoires à mettre sur votre écran. C' est une autre façon de personnaliser vos formes sans créer de formes personnalisées à l'intérieur du traitement, en utilisant Burgess ease afin que vous puissiez désormais créer vos formes en tant que vecteur classé et converti en SVG et important au lieu de dessiner aveuglément dont vous ne connaissez pas le résultat, sauf si vous exécutez le programme encore et encore dans l'exemple suivant de la section type que nous allons examiner le chargement,
taxé à partir d'un fichier.
42. Type : Exemple 2: pour un dernier exemple dans la section de base de la conception, nous allons parler du chargement du texte à partir d'un fichier. Que se passe-t-il si vous avez des fichiers de textes que vous pouvez être exportés de votre messagerie ou de vos e-mails ou quelque chose du genre,
et que vous voulez en faire une analyse ? Donc, je vais vous montrer comment charger du texte à partir d'un fichier afin que vous puissiez l'utiliser dans le traitement. Maintenant, j'ai créé un produit avant où j'ai dû charger des paroles dans mon projet pour créer un design avec des formes, boire les paroles dans des formes et créer un album art en payant sur grand. Pour cela, je vais importer les paroles d'une chanson qui a été coincée en haut eu depuis que j'ai commencé à regarder la playlist extraordinaire de Zoey. Est-ce qu'il va l'utiliser et créer du texte brouillant sur une toile ? Non. Pour charger du texte à partir d'un fichier, nous allons devoir utiliser des chaînes de chargement tout comme nous utilisons load, shape et load image. Nous allons également utiliser des chaînes de chargement à bas texte à partir du fichier texte. Donc, je vais créer une chaîne appelée Text, et en cela je vais charger les flux de mon fichier texte fou. Mais si vous pouvez voir ici, il dit incompatibilité de type car les chaînes de chargement se chargent en fait sur un tableau de forces parce que
chaque ligne à l'intérieur de ce fichier va être une chaîne ou un élément à l'intérieur d'un tableau de force. Donc, je vais juste faire un tableau de chaînes. Et maintenant, si je prince texte, nous verrons le contenu du fichier. Je suis juste pour comparer. J' ai mon dossier ou être ici et à l'intérieur de mon fichier de données à nouveau, j'ai ma peau de fichier texte fou séparer chaque ligne comme un seul objet à l'intérieur de la chaîne, et si j'impression est juste votre position, je vais obtenir la première ligne. Donc ça dit, je me souviens quand et ici, c'est que je me souviens quand. Donc maintenant nous savons que chaque ligne est en fait son propre élément à l'intérieur des cordes, Ray, si j'en fais une, alors nous allons avoir la deuxième ligne que vous pouvez voir ici pour que vous puissiez voir la même ligne
exacte. Le seul problème avec cela est que maintenant, si je veux Teoh déconnecter chaque mot seul afin de le tracer sur l'écran. Je ne pourrai pas le faire facilement. Donc, à la place, j'ai créé juste une chaîne pour le texte, et je vais utiliser une fonction appelée Join. Joindre fondamentalement joint un tableau de chaînes en une ligne de chaîne en utilisant un caractère. Donc, si vous voulez joindre avec une virgule que chaque élément de la chaîne, Array va avoir un commun après. Mais il sera joint en une seule chaîne. Alors essayons-le avec un bizarre, peut-être des personnages à la recherche, ou vous pouvez réellement le voir joint. Aucune jointure ne nécessite un tableau de chaînes et un caractère. Maintenant, le tableau de chaînes va être retourné pour acheter des chaînes de charges. Et puis le personnage est ce que vous lui donnez ici et pour les personnages. Je vais peut-être utiliser ce personnage pour qu'on puisse le voir. Et puis si je plante du texte de ligne et que ce sera une très longue chaîne jointe par ce caractère. Donc si vous pouvez voir ici, je me souviens quand et ensuite on a cette ligne et je me souviens. Je me souviens quand j'ai perdu la tête et puis c'est une autre ligne, donc on sait que ça marche donc au lieu de ça, je vais en faire un espace. Je veux me joindre à tout ça. Il est dans son espace. Donc, tout cela est une chaîne en ce moment et maintenant nous voulons séparer chaque mot en un tableau de mots. Donc, je vais créer un autre tableau où je vais créer une autre chaîne et ce sera un tableau, ce genre. Et je vais appeler ça des mots. Words est essentiellement diviser ce long texte en utilisant tous les espaces de ce texte. Donc, non seulement l'espace avec lequel nous avons rejoint les cordes, mais même l'espace entre chaque mot. Tu peux le faire. L' utilisation de cette fonction de clip et fractionnement prend en arguments une force et le caractère que vous voulez diviser. Donc, si vous choisissez de diviser par la lettre T que chaque lettre, T divisera ce qui se trouve entre elles. Donc, je vais juste utiliser la chaîne de texte, puis pour un caractère, je vais utiliser l'espace. Maintenant. Si vous imprimez la première valeur des mots, alors nous obtenons I. Si j'imprime la deuxième valeur, ça se souviendra. Donc maintenant, je sais que chaque mot est à l'intérieur de la chaîne des mots d'or droit, et maintenant je peux l'utiliser pour le tracer dans mon écran. Nous pouvons le faire en utilisant une boucle for. Je vais créer un design statique. Alors arrêtez la boucle et puis à l'intérieur de la fonction de tiroir vont créer pour une boucle. Et la boucle for va être moins bande, les mots arrachés de longueur afin que je puisse utiliser la fonction de texte que nous avons utilisée avant plusieurs fois et à l'intérieur de la fonction de texte. Nous savons qu'il faut un mot ou une force, et les mots sont en fait un tas de chaînes, et je vais utiliser l'index pour obtenir chaque mot à l'intérieur des mots, accord, et ensuite je vais citer les annonces. Ce qui est divisé par deux en hauteur, divisé par deux et encore parce que la valeur par défaut pour Phil est que les blancs vont devoir changer de nouveau en manque, vous savez, pour le voir. Et si vous voulez que le texte soit aligné au centre, je vais utiliser l'alignement du texte. C' est au centre, et je peux voir que les mots sont en fait au centre. Non. Au lieu de cela, je vais utiliser une valeur aléatoire pour chaque mot. Donc, je vais mettre le remplissage à l'intérieur de mon tableau afin que je puisse obtenir un Phil aléatoire pour chaque mot. Et nous avons utilisé le mode couleur actrice Be était parce qu'il est beaucoup plus facile pour moi de randomiser mm pour la teinte et la saturation. Je vais juste faire 60 pour l'ation sexuelle et 100 pour la luminosité et parce qu'il allait être randomisé. Donc maintenant, si je fais ça, on va voir un tas de couleurs. Je peux aussi le laisser à la saturation et la luminosité les plus élevées. On peut avoir un arc-en-ciel de couleur ? Maintenant, nous savons que tous les mots sont en fait au-dessus de l'autre, donc nous devons randomiser la position pour ceux de zéro à la largeur et de Zeros Heights pour X et y. Maintenant, je peux voir que nous avons l'écran rempli avec tous les mots des paroles de The Crazy song, dans mon exemple, fait tourner chacun d'entre eux. J' ai donc utilisé la matrice push et pop me astuces à nouveau pour créer un calque différent pour chacun du texte. Et puis j'ai utilisé traduire pour déplacer le texte à une position aléatoire au lieu de les déplacer eux-mêmes parce que je veux faire pivoter le canevas. Non, ça peut être à 00 point de chacune de ces couches que je vais voir. Maintenant, je peux tourner sans que ça me casse rien pour moi. Et ça va être une rotation de l'ami, Um, de zéro à un cercle complet. Donc deux pi maintenant je peux les voir tourner. Vous pouvez également y ajouter des marges. Donc, si je veux randomiser la position, peut-être que je veux ajouter Arjun. Donc je vais faire de marge à avec marge moins. Donc, je dis fondamentalement à partir de la marge que je crée, je ne l'ai pas encore créé, mais peut-être que je voulais être 50 pixels. Cela va être ici et ensuite 50 pixels de cette science va t ici. Donc je vais faire 50, puis avec moins 50 et ensuite je ferai la même chose pour la hauteur. Donc, à partir de la marge, qui va être de 50 jusqu'à ce que les hauteurs moins la marge, qui allait être encore 50, créons des marges. Faites-le 50 pixels. Maintenant, vous pouvez voir qu'il est poussé vers le centre et maintenant nous avons des bordures de 50 pixels de tous les
côtés . En ce moment, vous avez beaucoup d'informations à traiter et beaucoup d'exemples à pratiquer pour créer vos projets finaux. Je ne m'attends pas à de gros projets. Je voulais seulement créer quelque chose qui montre ce que vous avez appris de cette classe. Ne vous laissez pas intimider par la quantité d'informations que vous obtenez de cette classe. Je sais que l'exemple a commencé facile, puis ils ont commencé à devenir plus intermédiaire et ses fans. Mais je voulais être comme ça parce que je ne veux pas supposer que tu ne pourras pas
comprendre tout ça parce que je sais que c'est facile. Il faut beaucoup de pratique juste pour comprendre comment les choses fonctionnent. Mais une fois que vous aurez tout compris, vous serez en mesure de faire tout ça en un rien de temps. Je n'ai pas vraiment mémorisé toutes ces fonctions en une seule séance. J' ai fait beaucoup de différents produits qui ont été cassés qui m'ont fait mémoriser et comprendre toutes ces fonctions et propriétés que j'utilise encore et encore. Donc,
pour les fonctions conjointes et fractionnées , par exemple,
dans cet exemple, je ne savais pas qu'en une nuit, je devais regarder la documentation, regarder les exemples d'autres personnes et trouver Comment puis-je peut-être aborder cet exemple ? En outre, la planification est un bon moyen de démarrer votre projet. J' ai toujours planifié mon projet, surtout sur un morceau de papier ou le croquis sur iPad ou sur mon ordinateur. Cela me rend juste plus facile de réaliser le projet que je crée. Donc, une fois que je le visualise, ou une fois que je le vois sur un morceau de papier, je suis capable de comprendre exactement ce dont j'ai besoin. Donc, je ne crée pas seulement les variables dès le support lorsque je démarre mon projet. Ce n'est certainement pas comment fonctionne le processus, même pour ces projets que j'ai créés pour les bases du design que j'ai dû tester
encore et encore afin de les rendre simples mais efficaces pour que vous puissiez développer vos connaissances dans ce domaine de l'art génératif. Pour le chapitre suivant, nous allons exporter certaines de ces conceptions en fonction de ce que vous créez. Donc, si c'est une animation, nous allons enregistrer des images pour créer un film à partir d'elles. En outre, nous allons enregistrer des images statiques et nous allons également enregistrer des images vectorielles afin que vous puissiez
les utiliser un illustrateur ou n'importe quel logiciel vectoriel plus tard. Donc, si tu veux apprendre ça, passons au chapitre suivant.
43. Chapitre 4 : Sortie de conception: Maintenant que nous avons tous ces exemples amusants, la prochaine étape serait l'exportation. Ces conceptions dans ce tracteur parleront un peu de la façon dont nous pouvons exporter notre travail. Qu' il s'agisse d'une image fixe ou d'une animation, cela dépendra fortement du type de travail que vous créez, alors passons dans la prochaine vidéo pour en savoir plus.
44. Enregistrer et exporter: OK, continuez avec leur dernier exemple. Je vais Teoh, apprends-moi comment exporter un PNG ou juste une image statique. Qu' il s'agisse d'une
grosse blessure, peu importe. Mais j'enregistre généralement mes images en PNG juste parce que c'est ce que j'utilise le plus. Maintenant, vous n'avez pas besoin de quelque chose de fantaisie pour enregistrer vos images et la plupart du temps . C' est pourquoi Dio Now, si vous exécutez ce programme en ce moment, vous aurez une image statique. C' est donc le moyen le plus facile d'enregistrer vos images si vous avez une image statique que vous voulez enregistrer, le seul problème avec ceci est qu'il va enregistrer la résolution que vous avez créée. Cela signifie que mon image va miser à 400 x 400 pixels partout où je l'emmène. Donc si je l'emmène sur Instagram, par
exemple, je ne sais pas si ça va marcher. Mais si ça marche, la résolution ne sera pas géniale parce que c'est une très petite image. Et pour cette image de petit four, nous ne serons pas en mesure de l'enregistrer pour un fond d'arrêt de poussière , par exemple, parce qu'elle va être pixélisée et étirée. La première chose que vous devez noter chaque fois que vous voulez enregistrer votre image est orteil ont la bonne taille ici. Donc, si vous voulez enregistrer une image de 1920 par 10 80 pour peut-être un film ou pour l'enregistrer comme une vignette pour une vidéo, alors je vais devoir la changer ici à 19 d'ici 1920 par 10 80. Mais maintenant, si je l'exécute,
il peut vraiment sortir de mon écran. Ce n'est pas hors de mon écran parce que j'ai un grand écran mais pour vous en ce moment, parce que je n'enregistre qu'une partie de mon écran va être hors de proportion. Cependant, parfois quand je veux que Teoh sauvegarde des images qui sont énormes, même plus grand que 1910 par 10 80, je règle la taille à cela, et je ne me fiche pas si cela va réellement en dehors de mon écran parce que je veux seulement enregistrer l' image puis vérifiez-le. Et sachez aussi que si vous concevez sur 400 par 400 crée alors le même design et un écran
plus grand, vous allez voir qu'il y a plus d'espaces entre les mots que nous créons dire peut peut-être le mettre à l'échelle en changeant le texte en utilisant la fonction de taille de texte où vous pouvez peut-être créer plus de paroles ou ajouter plus de paroles à votre fichier texte. Ah, quatre formes que vous pouvez peut-être les redimensionner ou augmenter le nombre d'entre elles. Pour l'instant, je vais juste le sauver à 400 par 400 parce que je ne me soucierai pas de la résolution pour l'instant. Et je veux juste que tu saches où ça va être sauvé et comment. Si je fais ça, nous allons revoir notre conception à la normale. Et après que tout soit exécuté, donc à l'intérieur de ma fonction de dessin après chaque morceau de code, je
vais écrire une fonction appelée Safe Save enregistre seulement une image dans le nom de fichier du
chemin de fichier que vous avez créé, donc il attend une chaîne et à l'intérieur de mon chaîne. Ce que je fais habituellement si je sais que je vais enregistrer beaucoup d'images est créé un dossier appelé Output. Et à l'intérieur de ça, je vais enregistrer mes images. Donc, la façon dont je peux créer le dossier à partir de l'intérieur de ce fichier d'esquisse est d'écrire un intérieur de ma chaîne comme un pack. Donc, j'écris la sortie et puis les barres obliques vont indiquer qu'il s'agit d'un dossier que je veux vous créiez. Et puis à l'intérieur de ça, je peux juste imaginer point
D ou docteur une cheville. Quelle que soit l'extension que vous voulez créer pour une image, je pense qu'il y a plusieurs extensions qui sont prises en charge. Vous pouvez vérifier la documentation, mais je sais que J. Paige et PNG sont supportés, et il peut créer le nom que vous voulez ici. Notez simplement que si vous exécutez l'image ou chaque fois que vous exécutez l'image, elle va remplacer car la même image ou le même nom pour l'image. Si vous ne voulez pas qu'il soit dans un dossier séparé, vous pouvez simplement supprimer cette partie et il
va l' enregistrer dans le même fichier, quelque chose pour l'enregistrer dans le même fichier d'esquisse. Et c'est mon dossier ici, et maintenant si je l'enregistre,
il va à la sortie ici. Je vais courir, et après avoir créé ma fonction dite, parfois ça va être beaucoup plus lent si vous voulez enregistrer, et puis si je regarde mon dossier maintenant, j'ai mon image, Safed. Mais il peut voir que c'est très petit, et si je veux augmenter la taille, c'est en fait très pixelisé. Maintenant, je vais vous montrer ce qui se passe si je l'enregistre à une taille plus grande. Donc disons 800 par 800. Maintenant, il va remplacer l'ancienne image, et c'est notre nouvelle image. Il est moins pixélisé que le précédent si j'augmente la taille ou si Zuman va être moins pixélisé que le précédent. Donc, c'est pourquoi vous devez savoir que la taille de re canvass va affecter votre sortie, revenant à l'exemple de rotation où nous avons créé l'étoile. Nous allons enregistrer ceci en tant qu'animation, donc nous allons enregistrer chaque image de l'animation Maintenant. Nous pouvons le faire aussi de la même façon que nous avons dit fonction. Mais au lieu d'écrire une fonction sûre, je vais utiliser les fonctions de cadre sécurisé et cela va comme ça et cela nécessite
aussi une chaîne . Sur ce fichier n'est pas enregistré sont maintenant, Donc cela ne va pas fonctionner, donc je dois enregistrer mon fichier. Non, j'ai mon fichier sauvegardé, et à l'intérieur de celui-ci parce que je vais sauver chaque image va être beaucoup d'images à l'intérieur de celui de mon père. C' est beaucoup plus agréable et plus propre si vous le mettez à l'intérieur d'un plus complet. Donc, je vais créer le dossier, cette fois appelé Output. Et ici, je vais ajouter des hachages pour le nombre d'images. Donc, généralement, j'ajoute quatre hachages, puis l'extension. J' ai donc créé P et G. Non, les hachages vont être substitués par des nombres ou avec le comptage de la trame. Donc le 1er 1 va être 0001, puis le 2ème 1 va être trois zéros et 2/3 1
va être encadré trois, et ça va continuer et encore. Si vous atteignez un cadre qui a plus de quatre chiffres, il ajoutera 1/5 chiffre,
alors ne vous inquiétez pas à ce sujet. Donc, si vous voulez que vos amis commencent avec un seul chiffre,
cela ajoutera aux autres chiffres. Mais j'aime commencer par pour les hachages parce que la majorité du temps je vais atteindre 1000. Et maintenant, si je sauvegarde cela, nous pouvons aller dans notre fichier et nous pouvons voir que maintenant nous avons un dossier de sortie, et à l'intérieur de celui-ci nous pouvons voir chaque cadre imprimé ou enregistré dans ce dossier. Donc, si j'atteint une position et l'animation où je suis satisfait, je vais arrêter cela et regarder mon PNG final s'il est cassé et pas encore enregistré, donc je vais juste vivre ceci pour ne pas casser mon animation quand je veux la créer à l'intérieur du traitement. Si vous allez aux outils et puis vous allez à film Maker, un intérieur de moviemaker, vous allez choisir le dossier où vous avez toute votre image va aller au
bureau parce que c'est là que j'ai mon fichier de rotation. Et puis je choisis la sortie. Et maintenant, si je l'ouvre,
ça va changer le chemin ici et maintenant pour la largeur et la hauteur, je vais vérifier. La même taille est originale. Si vous ne voulez pas vérifier cela et que vous voulez changer la taille que vous pouvez, mais il est préférable d'utiliser la même taille afin que nous ne ruinons pas votre animation. Et puis je vais choisir la même fréquence d'images que mon ami dans le design. Donc je vais faire 60 et je vais laisser la compression comme animation. Et si vous voulez faire glisser un fichier son dans ce, vous pouvez ah, vous pouvez en ajouter un afin que vous puissiez ajouter peut être de la musique à votre conception. Et puis je vais dire, Créer un film et puis il me demandera où l'enregistrer. Je vais l'enregistrer dans le même dossier de mon croquis Nikkan. Appelez-le ce que vous voulez, alors je vais l'appeler Rotation Movie. Et maintenant, si je lance le film que je crée,
je recevrai la même animation que celle que j'ai enregistrée à partir de mon croquis. J' ai eu un problème pour ouvrir ce fichier vidéo dans le lecteur de temps rapide, mais vous pouvez ouvrir une envie Elsie ou tout autre. Vous pouvez également convertir votre film en MP 4 et le télécharger sur n'importe quelle
plateforme de médias sociaux . Maintenant, pour une dernière façon de sauvegarder, nous allons enregistrer un fichier vectoriel. Non, je vais revenir à mon premier exemple et à la section typographe pour vous montrer comment enregistrer des
fichiers vectoriels ou des fichiers PDF que vous pouvez ouvrir un illustrateur et manipuler encore plus loin. Non, ce type d'épargne est un peu plus compliqué que les autres, mais c'est toujours très facile à réaliser. La première chose dont vous avez besoin est la bibliothèque pdf du traitement. Afin d'importer une bibliothèque dans le traitement, vous pouvez simplement utiliser le mot-clé import et la bibliothèque de traitement ou la bibliothèque pdf à l'intérieur du traitement est à l'intérieur de ceci. Donc, si vous tapez le traitement de point pdf, puis des points, puis une étoile, ce qui signifie que chaque classe ou chaque fonction et côté de pdf maintenant il peut avoir accès à enregistrer PDS, puis à enregistrer PDS, vous devez englober tout ce que vous avez créé. Donc, si vous mettez les méthodes de sauvegarde ici, alors votre fichier va avoir des traits car il n'a pas vu de trait. Donc il ne comprend pas que tu ne veux pas des coups, donc tu dois le mettre avant tout. Vous allez devoir le mettre avant l'arrière-plan, sauf si vous changez la couleur de fond. Donc je vais juste le mettre ici pour l'instant,
et ça ressemble à cet enregistrement de début parce qu'il enregistre l'écran jusqu'à ce que vous arrêtiez l' enregistrement. Donc, je vais commencer l'enregistrement quand je commence mon croquis, donc à l'intérieur de ma
fonction de configuration,
et puis les arguments que vous utilisez à l'intérieur de start fonction de configuration, record sont le type de graphique que vous allez utiliser. Donc ici, il va garder pdf et puis l'autre argument va être le nom de votre fichier. Donc, je vais juste l'appeler facteur point pdf. Maintenant, cela va commencer l'enregistrement, donc ils sont broyage va commencer, et ça ne s'arrêtera jamais. Donc, si je lance ceci maintenant et que je commence à taper dans mon fichier, vous verrez un fichier vectoriel qui a zéro kilo-octets. Donc il n'a rien parce que l'enregistrement n'a jamais vraiment fini. Je dois donc ajouter une condition ou un endroit où je peux terminer l'enregistrement. Maintenant, vous pouvez terminer l'enregistrement à la fin de votre fonction de tirage si vous aviez des choses qui se
passaient ici. Mais puisque je travaille activement sur ma toile, je ne peux pas mettre fin à l'enregistrement arbitrairement n'importe où. Pour cela, je vais devoir ajouter une autre condition si qui vérifie l'une des touches de mon clavier qui termine l'enregistrement. Donc, je vais utiliser un conditionnel F. Et puis au lieu de la touche, je vais utiliser le code de touche de manteau de touche a certaines des touches sur le clavier, comme les flèches haut, bas et droite et gauche. Donc, pour suivre et pour que cela fonctionne, je ne peux pas utiliser la clé. Je vais devoir utiliser le code clé. Donc je vais marcher si le code clé est égal,
euh, euh, et tout cela vous pouvez trouver dans la documentation et ensuite si le code clé est aussi s'il frappe la flèche vers le haut. La raison pour laquelle je n'ai pas utilisé l'alphabet est parce qu'ils sont habitués à taper les formes , mais généralement je nous utilise pour commencer l'enregistrement et
e. T et l'enregistrement. Mais pour cet exemple, je vais simplement utiliser l'un des codes clés que j'ai que je n'ai pas vraiment utilisés dans mon programme. Je vais taper et enregistrer. Donc maintenant, si je lance ceci à nouveau et que je commence à taper, puis j'appuie sur la flèche supérieure et retourne à mon fichier, il peut voir que j'ai mon état de conception maintenant. Ce qui est cool à propos de Pdf est que vous pouvez les voir dans n'importe quelle taille, mais ils seront nets, donc ce sont des fichiers vectoriels et ils ne seront pas Pixel mangé et vous pouvez les ouvrir. Un illustrateur. Vous pouvez trouver tous ces effectivement sectionné, de sorte que chacune de ces formes vont être leur propre forme, et vous pouvez également les colorer à nouveau. Vous pouvez les réorganiser comme vous le souhaitez. Donc, même si vous créez des conceptions à l'intérieur du traitement et que vous voulez les exporter pour utiliser ultérieurement pouce dans un fichier vectoriel ou dans un logiciel vectoriel, alors vous pouvez le faire facilement avec PDS. Et maintenant, si je vais à droite, cliquez dessus et vous ouvrez avec je peux facilement l'ouvrir avec Illustrator. Mais sachez simplement que si vous l'ouvrez un illustrateur, il aura un masque, donc vous devrez déclipser le masque ou relâcher le masque, puis utiliser les formes à l'intérieur. C' est, bien
sûr, que ça ne va fonctionner qu'avec certains designs parce que si nous avons fait ça avec notre star, par
exemple, ou un de nos dessins de cercles fous, alors ça ne fonctionnera pas parce que le fichier est va être très heureux pour Illustrator, par exemple, ouvrir car il trouvera beaucoup de formes sur ce fichier, et il sera très lent pour vous de naviguer dans le fichier. Et ça n'a aucun sens de réorganiser des trucs comme ça de toute façon. Donc, même le bruit et le hasard où nous avons utilisé des points et nous utilisons le marcheur aléatoire que pour le
traitement pour ouvrir est extrêmement, extrêmement lourd. Donc, ce n'est pas une bonne idée de l'enregistrer en PDF pour l'ouvrir un illustrateur. Mais il le conçoit comme un PDF, puis convertit le PDF en PNG afin que vous puissiez utiliser une image de très haute qualité. Ce serait une très bonne idée. Vous savez, que nous avons fini tout ce qui concerne la conception et l'exportation de nos designs. Vous êtes prêt à vous inspirer. Donc, dans le prochain chapitre, je vais tout parler de l'inspiration où vous pouvez obtenir plus de labeurs pour l'art génératif ou d'où vous pouvez obtenir plus de pratique alors passez au chapitre suivant pour en savoir plus sur ce
45. Chapitre 5 : Réflexions finales: félicitations de l'avoir fait jusqu'ici. Il est temps de savoir où aller d'ici. Final Tractor consiste à comprendre comment coder vous-même en lisant la
documentation et en passant par des exemples, trouvant des tutoriels et en nourrissant vos yeux avec beaucoup d'inspiration. Je ne peux pas insister assez sur l'importance de la documentation. Quant à un programmeur, c'est fondamentalement que vous êtes prêt à tout ce que vous devez savoir. Nous avons de la chance que la page de référence des processus soit extrêmement utile. Avec le surplus d'exemples tout au long, je vous recommande fortement de commencer là et d'explorer les possibilités qu'ils offrent. Une fois que vous avez l'impression d'être prêt à aborder des projets plus avancés, vous pouvez essayer. Les défis de Daniel Schiffman sur YouTube ont même été visiter sa nature de la page de code, où vous pouvez tout apprendre sur la physique de la simulation et mes agents Rickard préférés. Et si vous êtes une personne de livre que le design provisoire du livre écrit par quatre artistes dont les noms que je ne vais pas essayer de prononcer est incroyable et plonge dans beaucoup de
sujets plus avancés que cette classe. Il y a aussi une section sur la visualisation des données. Si vous êtes dans cela aussi ici sur le partage de compétences, si vous recherchez l'art génératif ou le codage créatif, vous pouvez trouver des artistes dont les cours sont amusants à prendre l'ordre du jour. Artiste nommé Melissa est l'un de mes favoris maintenant, pour une certaine inspiration, Instagram est certainement la voie à suivre, Dr Hashtags code génératif ou créatif. Et pour certaines personnes spécifiques à suivre, je recommande ces comptes étonnants.
46. Projet final: Maintenant, c'est votre tour pour votre projet. Notre argent pour inclure au moins deux concepts du tracteur de base de conception. Par exemple. Dans ce projet, j'ai utilisé la forme et la couleur. Et pour celui-ci, j'ai la forme et l'image. C' est à vous de décider comment vous voulez les combiner tant que vous êtes créatif avec elle. C' est un score de base, donc je ne m'attends pas à ce que vous fassiez d'énormes projets. Ce n'est qu'une démonstration de votre compréhension de ce cours. Aussi pas tous les grands projets a un tableau de couleurs. noir et le blanc sont toujours considérés comme faisant partie du module de couleur. Certains grands artistes, comme un bronzage Jacob utilisaient le noir et le blanc dans leurs animations. Donc, si vous avez envie de créer une œuvre avec des formes en noir et blanc, alors faites-le votre projet doit être fidèle à vous.