les forums de Grospixels
 
Bienvenue sur le forum de Grospixels : [ S'Enregistrer ]
Déjà inscrit ? [ Connexion ]
 
retour sur le site
rechercher
Index du Forum » » Groblogs » » Groblog Odysseus: faites vos jeux!
196 messages • page
1234 ... 10
Auteur Groblog Odysseus: faites vos jeux!
Odysseus
Pixel intergalactique

47
0004305

Joue à lâcher trois poissons-ballons sur la ligne de départ.

Inscrit : Sep 15, 2002
Messages : 10875
De : Αἰαία

Hors ligne
Posté le: 2014-01-26 18:34   [ Edité le: 2014-01-26 18:35 ]
Gamins, nous avons tous rêvé de créer nos propres jeux vidéo. Et si, pour certains, la chose s'est concrétisée, pour d'autres, elle a été remisée dans un coin, aux côtés de la salle d'arcade privée, d'un coup à boire avec Yu Suzuki et de la collection complète des jeux GX-4000.

Longtemps, nous avons perçu la création de jeux vidéo comme strictement accessible à une caste de matheux ou d'artistes émérites, lesquels utiliseraient des outils extrêmement complexes loin, très loin d'être à la portée du tout venant. Mais ces dix dernières années, de nouveaux outils ont vu le jour.
De plus en plus nombreux, ces logiciels permettent à chacun de pouvoir créer ses propres jeux vidéo, généralement sans pré-requis mais nécessitant néanmoins une certaine dose d'investissement de temps et d'énergie.

Ce que je vous propose à travers ce Groblog, c'est de découvrir l'un d'eux : Scratch.

A l'aide de tutos les plus clairs et simples possibles, nous tenterons d'apprendre et de comprendre le fonctionnement de ce logiciel, tout en créant de petits jeux de différents genres. L'objectif est, à moyen terme, de comprendre le fonctionnement de jeux commerciaux pour mieux en saisir les rouages de création. A long terme, l'idée est que vous puissiez devenir totalement autonomes, créer et partager vos jeux, pour votre plaisir et celui de vos proches.

Pourquoi Scratch ?

Parce-que Scratch est multi-OS, gratuit, léger, fonctionnel, hyper accessible et que ses capacités offrent un large spectre de possibilités de création. Mais aussi parce-que son système ouvert et communautaire permet le partage libre de contenus, sans restrictions particulières.
Enfin parce-qu'il est possible d'exporter ses jeux très facilement, sur un site, un forum ou les exporter en tant que simples fichiers exécutables.

Citation :
Scratch est une implémentation visuelle et dynamique du langage de programmation Smalltalk basé sur Squeak.

- Scratch est dynamique, il permet de modifier le code du programme en cours d'exécution. Orienté multimédia pour l'enseignement à l'univers informatique des enfants, il traite avec une grande facilité les concepts de base de la programmation comme les boucles, les tests, les affectations de variables, et surtout de la manipulation des objets dans la pure tradition des E-Toys connus sous Squeak, tout comme les sons et les vidéos.

- Scratch est visuel, tout le code est directement inscrit dans la langue maternelle de l'enfant (une vingtaine de langues européennes sont disponibles) sous forme de briques en couleurs (par exemple les contrôles en orange, les variables en rouge, les mouvements en bleu).

- Scratch permet ainsi à l'enseignant de diffuser sa pédagogie par une interactivité quasi-ludique des objets manipulés par ces briques logicielles. Le nom de Scratch provient du Turntablism, cet art de mélanger des sons grâce aux tables de mixage, comme cette vision de réutiliser des objets.

- Scratch permet de diffuser ses projet en ligne

L'utilisation de Scratch dépasse l'univers scolaire, mais une forte communauté d'enseignants, d'étudiants, de passionnés, exposent et partagent sur le site de Scratch leurs créations, leur créativité et leurs développements.

Le slogan de Scratch est "Imagine·Programme·Partage !". Le partage est en effet un fondamental de la pédagogie de Scratch. Recycler des projets existants pour en inventer de nouveaux, telle est la conception de ce micromonde.

Scratch est un environnement de développement, de site web, et un lecteur de scripts Scratch.

Le code source de Scratch est encore en développement. Il est distribué sous 2 licences dont la licence GPL. Toutefois, scratch et d'autres éléments sont des marques déposées (trademarks), dont la re-distribution est soumises à contraintes 1. Une version ne contenant pas les marques déposées est mise à disposition et permet de distribuer des modifications éventuelles avec une licence GPL.


Source: Wikipedia

Fonctionnement :

Ce Groblog sera mis à jour tous les dimanche, en fin de journée.
Chaque nouvelle note comportera une introduction aux outils qui seront utilisés dans « La leçon du jour », ainsi qu'un tuto permettant la création d'un nouveau jeu ou la mise à jour d'un jeu précédemment créé, avec de nouvelles fonctions et éléments de gameplay.

Partant sur la base que vous ne savez pas coder, que vous n'êtes pas dessineux ni musicien, je mettrai à disposition la totalité des éléments contenus dans chaque nouveaux jeu proposé à la création afin que vous puissiez vous consacrer à l'essentiel sans être rebuté par le reste.
Il s'agira toujours de tutos pas-à-pas, auxquels j'ajouterai au fil du temps quelques exercices pratiques pour ceux qui souhaitent approfondir certaines notions, ou tout simplement relever de petits challenges créatifs.

Pré-requis :

Comme dit précédemment, le suivit de ce Groblog ne nécessitera pas de connaissances particulières, y compris en mathématiques, ce alors que nous allons pourtant créer du code.
Simplement, il vous faudra consacrer une petite heure par semaine à la création des jeux proposés à chaque tuto. Ce peut-être aussi bien bien une heure d'un bloc, ou cinq minutes par ci, dix minutes par là. Allez-y à votre rythme, sans vous mettre la pression, vous avez tout le temps de travailler dessus.
Notez que tous les tutos seront proposés sur la base de Scratch 2.

Logiciels complémentaires :

Vous le constaterez au fil des semaines, ces tutos nécessiteront parfois l'utilisation de logiciels annexes. Ce ne sont en rien des obligations, mais des recommandations qui pourront vous êtes utiles, selon que vous soyez plus ou moins à l'aise avec le dessin ou le son.
Dans tous les cas de figure, j'exposerai également un mini-tuto dans chaque leçon pour expliquer l'utilisation de telle ou telle fonction pour un logiciel annexe.
En attendant, et à moins que vous ne les ayez déjà installé sur votre ordinateur, en voici une première liste :

- Gimp (travail sur l'image en général)
- Inkscape (travail sur l'image en vectoriel)
- Pixel Edit (travail approfondi sur le pixel art)
- Audacity (travail sur le son)

Tous sont gratuits et, hormis Pixel Edit, tous sont libres.

Enfin, si vous avez des questions sur les tutos proposés, n'hésitez pas à les poser publiquement.
En revanche, si elles touchent à des points qui n'ont pas encore été abordés, merci de m'envoyer un MP afin de ne pas parasiter la discussion.

Vous êtes prêts? C'est parti!
_________________

"Il n'est pas de lutte plus violente et déterminée que celle d'un homme face à son envie d'aller aux toilettes" - Karate Boy


Odysseus
Pixel intergalactique

47
0004305

Joue à lâcher trois poissons-ballons sur la ligne de départ.

Inscrit : Sep 15, 2002
Messages : 10875
De : Αἰαία

Hors ligne
Posté le: 2014-01-26 18:34   [ Edité le: 2014-01-26 18:44 ]
A la découverte de Scratch :

Tout d'abord, il va vous falloir télécharger et installer Scratch.
Pour ça, rien de plus simple. Rendez vous à cette adresse et téléchargez le logiciel.
Vous remarquerez qu'il nécessite un environnement Adobe Air. Celui-ci se téléchargera et s'installera dans la foulée, pas d'inquiétude ni de plug-in à aller farfouiller sur le net.

Notez qu'il existe une ancienne version, la 1.4, toujours activement utilisée. Vous pouvez la télécharger ici si vous le souhaitez. Néanmoins, les possibilités qu'elle propose sont, comparativement à la version 2, par trop restreintes, mais vous pouvez malgré tout tenter de l'utiliser si vous souhaitez suivre ces tutos sans avoir à installer l'environnement Adobe Air.
En revanche, il vous appartiendra d'adapter le contenu des tutos en fonction de ce choix.

Vous aurez remarqué qu'il existe un site communautaire très riche et particulièrement actif. Celui-ci permet d'y mettre ses jeux en ligne, d'accéder à ceux des autres et plus largement de partager toutes sortes de contenus et de conseils. C'est un point important de Scratch, mais nous y reviendrons ultérieurement, notre objectif premier étant de nous familiariser avec l'interface.

L'interface

La première fois que vous lancerez Scratch, voici la fenêtre qui s'ouvrira.



Ne vous formalisez pas du petit chat à tête de psychopathe, ce n'est que le logo du logiciel.
La première chose que vous allez devoir faire est de changer la langue qui, par défaut, est en Anglais. Pour cela, cliquez sur la petite planète puis choisissez « Français » comme indiqué ci-dessous:



Vous noterez au fil de l'utilisation que certains termes ne sont pas traduits, ou bizarrement. C'est tout à fait normal dans le sens où cette version est en beta et que les questions de traductions françaises ont fait état de débats particulièrement houleux entre l'ensemble des utilisateurs francophones et les Québécois. Bref, rien n'est tablé, mais si vous n'êtes pas familier avec l'anglais un tant soit peu technique, mieux vaut passer au français.

Maintenant, nous allons découvrir les fenêtres principales.

La fenêtre de jeu :



C'est là que vous verrez le résultat concret de vos projets au fur et à mesure de leur développement. Autrement dit, ce que vous verrez dedans sera l'exact rendu de ce que verrons les joueurs.
C'est également ici que vous pourrez tester vos jeux simplement en cliquant sur le drapeau vert pour les démarrer et le panneau rouge pour les arrêter.
Notez que le petit carré bleu permet de passer en plein écran pour une meilleur lisibilité.

La fenêtre des contenus :



Dans cette fenêtre, vous pourrez gérer ce que l'on appel les scènes et les lutins.
Les scènes sont les décors de vos jeux, tandis que les lutins sont tous les autres éléments graphiques. Il peut donc tout aussi bien s'agir du personnage que vous contrôlez que de ceux avec lesquels vous interagissez (ennemis, bonus, plates-formes, etc.).
Nous verrons plus loin le détail des options proposées dans cette fenêtre.

La colonne des fonctions :



Comme vous pouvez le voir, cette colonne comporte trois onglets que nous allons découvrir tout de suite, à commencer par le premier qui s'affiche, à savoir l'onglet des scripts.
Pour faire court, les scripts sont des éléments de codes pré-programmés et classés par familles qui s'imbriquent, un peu comme des pièces de Lego. De cette façon, vous pourrez créer des scripts pour toutes sortes d'éléments (scènes ou lutins) de vos jeux sans difficulté particulière et avec une excellente visibilité sur votre projet. Nous reviendrons bien entendu sur cette composante centrale de Scratch.

L'onglet des scripts :



Vous noterez que celui-ci est vide pour le moment. C'est normal, puisque nous n'avons encore rien ajouté dedans.

L'onglet des costumes :



Les costumes sont les sprites de vos lutins et les décors de vos scènes, selon ce que vous avez préalablement sélectionné. Autrement dit, chaque lutin et chaque scène comporte sa propre fenêtre de costumes, de manière indépendante des autres.
Vous remarquerez à travers cette capture qu'un lutin peut comporter plusieurs costumes. Nous y reviendrons là aussi par la suite, mais à titre informatif, c'est ici que nous travaillerons pour proposer des animations de sprites.

L'onglet des sons :



Comme son nom l'indique, c'est ici que vous pourrez ajouter ou modifier les sons de vos scènes ou de vos lutins. Il pourra tout aussi bien s'agir de musiques que de bruitages.

Ceci est un premier aperçu généraliste de l'interface. Mais comme cela a été évoqué, nous approfondirons certains points au fil des tutos dont l'objectif est aussi de vous apprendre à la domestiquer.
_________________

"Il n'est pas de lutte plus violente et déterminée que celle d'un homme face à son envie d'aller aux toilettes" - Karate Boy


Odysseus
Pixel intergalactique

47
0004305

Joue à lâcher trois poissons-ballons sur la ligne de départ.

Inscrit : Sep 15, 2002
Messages : 10875
De : Αἰαία

Hors ligne
Posté le: 2014-01-26 18:35   [ Edité le: 2014-01-26 23:35 ]
Tuto n°1 : Le jeu du crabe

Première partie : les bases

Notions abordées :

- Ajouter un décor
- Ajouter un sprite
- Placer un sprite
- Le déplacer avec les flèches du clavier

Dans ce premier tuto, nous allons apprendre et comprendre comment créer un jeu à score.
Il s'agit bien entendu d'un petit jeu sans prétention, très basique. Cependant, il nous servira de base pour les trois tutos suivants, lesquels nous permettront d'ajouter divers éléments de gameplay comme un score, un timer, des ennemis et des niveaux supplémentaires.

Tout d'abord, il va vous falloir un décor. Car outre l'aspect purement esthétique (il est néanmoins tout à fait possible de créer un jeu sans décor), il va nous être nécessaire pour instiller une certaine logique dans l'univers que nous souhaitons développer.
Étant donné que, théoriquement, vous débutez avez Scratch, je vous recommande d'importer le décor ci-dessous, ce afin de gagner du temps et découvrir quelques nouvelles fonctions.



Pour ce faire, et après avoir enregistré le décor, cliquez sur « Scène », en bas à gauche. Le bouton est encadré de bleu, ce qui signifie que les différentes actions que vous allez réaliser seront appliqués au(x) décor(s). Ensuite, sous « Scènes », cliquez sur le petit dossier avec une flèche afin d'importer l'image de votre décor, laquelle s'ajoute automatiquement à votre jeu.
Vous remarquerez que l'affichage de la fenêtre de droite à changé, ainsi que la sélection de l'onglet, qui est passée sur « Arrière-plan », ce qui est tout à fait normal.
Par défaut, Scratch vous propose de modifier l'aspect graphique de tout élément visuel nouvellement ajouté, qu'il s'agisse d'une scène ou d'un lutin. Si vous le souhaitez, vous pouvez utiliser dès maintenant ces outils pour changer le décor selon vos convenances (mais nous y reviendrons là aussi par la suite).

Toujours dans l'onglet « Arrière-plan », vous pouvez constater qu'en plus du décor que vous venez d'ajouter, il y a un autre élément nommé « backdrop1 ». Il s'agit tout simplement du décor par défaut, que vous pouvez désormais supprimer en le sélectionnant puis en cliquant sur la croix grise qui s'y affiche.

Afin de bien nous organiser pour la suite du tuto ainsi que ceux qui suivront, nous allons renommer notre décor.
Pour cela, cliquez sur ce champ puis appelez-le « decor1 ».
De manière générale, il est essentiel de correctement nommer ses différents éléments (scènes, lutins ou sons) car même sur un petit jeu, il est possible de se retrouver avec des dizaines de choses qui, si l'on n'y prend pas gare, peuvent poser un souci de logique dans la construction des scripts.

Maintenant,nous allons ajouter notre premier sprite, ou lutin.

Pour cela, cliquez sur l'ignoble chat tueur en série pour le sélectionner, lequel est entouré de bleu, comme pour lors de la sélection de la scène. Puis faites un clic droit et choisissez « Supprimer » pour virer cette horreur.

Comme lors de l'importation de la scène, nous allons maintenant cliquer sur le petit dossier de cette interface puis choisir le petit crabe proposé ci-dessous pour l'ajouter à notre projet.



Note : il n'est pas impossible que vous rencontriez un bug qui ne fasse pas apparaître l'image du crabe alors que celui-ci est pourtant bien importé. Dans ce cas, dans l'onglet « Costume » de votre lutin, cliquez sur le dossier « Importer le costume », réimportez l'image et celle-ci doit désormais s'ajouter normalement. Il ne vous reste plus qu'à supprimer l'image vide juste au-dessus.

Maintenant que nous avons un décor et un personnage, nous allons pouvoir commencer à créer un peu de code, à commencer par les déplacements latéraux du crabe.
Le but est donc de le faire se déplacer de droite à gauche (et inversement) d'un bout à l'autre de l'écran. Cela signifie deux choses, à savoir :

- L'axe vertical de notre crabe est toujours le même puisqu'il reste toujours à la même hauteur.
- L'axe horizontal est variable puisqu'il se déplace d'un bout à l'autre de l'écran.

Là, on va s'intéresser à un élément fondamental de Scratch, et des maths en général, celui de la représentation dans l'espace.
En deux dimensions, on pense sur deux axes, à savoir l'abscisse et l'ordonnée.



En bleu, nous avons l'abscisse, autrement dit l'axe horizontal, que l'on nomme plus communément X.
En rouge, l'ordonnée, soit l'axe vertical, que l'on nomme Y.
Le croisement de ces axes représente la valeur 0.
Tout ce qui est au-delà de ce croisement est une valeur positive (vers le haut pour Y, vers la droite pour X), et tout ce qui est avant est une valeur négative (vers le bas pour Y, vers la gauche pour X).
Il est important de souligner que Scratch gère le champ de valeur de la manière suivante pour chacune de ces données :

X : de -240 à 240
Y : de -180 à 180


Autrement dit, et même si nous verrons plus tard qu'il est possible de tricher avec le logiciel, aucun élément ne peut s'afficher en-dehors de ce champ de valeur qui représente tout simplement l'écran de jeu.
Ceci étant dit, revenons à notre crabe.

Première chose, il va falloir indiquer dans notre script ce qu'il advient du crabe lorsque l'on démarre le jeu. Pour cela, et tout en gardant notre lutin sélectionné, nous allons cliqué sur l'onglet « Scripts » vu précédemment.
Ces scripts sont classés par familles et fonctionnalités. Par exemples, la famille des scripts « Mouvement » permet de gérer les déplacements des lutins, celle intitulée « Apparence » gère les variations et les animations des sprites, « Sons » gère les sons (bruitages et musiques), etc.

Cliquons tout d'abord sur « Evènements » et intéressons nous au premier bloc, celui qui se nomme « Quand drapeau vert pressé ».
Vous remarquerez qu'il possède une sorte de bosse sur le dessus et un picot vers le bas. Cela signifie que l'on ne peut rien imbriquer avant, mais que l'on peut ce que l'on souhaite juste après. Vous allez comprendre.

Faites un glisser-déposer de ce bloc dans la fenêtre adjacente, sur la droite. Cette action permet de copier la brique et active automatiquement l'idée que quand quelqu'un va démarrer le jeu, il va se passer quelque-chose au niveau de ce lutin. En l’occurrence, nous allons lui donner un point de départ qu'il retrouvera systématiquement à chaque début de partie. Notez que dans la fenêtre où se placent les blocs de scripts, vous pouvez placer votre première brique n'importe où. Je vous suggère néanmoins de la placer en haut, à gauche, pour une meilleur lisibilité pour la suite des événements.

Maintenant, retournons dans l'onglet des scripts et cliquons sur la famille « Mouvement ».
Dans la liste des blocs, glissez-déposez celui qui se nomme « Aller à X=(valeur de l'emplacement de votre lutin) Y= (valeur de l'emplacement de votre lutin) », soit celui qui ressemble à ça :



Note : ne vous formalisez pas des valeurs indiquées dans ma capture d'écran, elles ne correspondent qu'au placement de mon lutin au moment où j'ai fait la capture. Il est donc très probable que les coordonnées que vous ayez fait lors du choix de ce bloc ne soient pas les mêmes que moi, c'est tout à fait normal.

Prenez ce nouveau bloc et insérez-le juste en dessous du premier, de manière à obtenir une ligne de commande telle que ceci :



Vous avez dû le remarquer, les blocs sont magnétisés, ce qui sera très utile lorsqu'il s'agira d'imbriquer des dizaines de blocs sur de plus gros projets.

Une fois fait, dans votre montage de blocs, cliquez dans le champ X du bloc « Aller à » puis entrez 0. Cliquez ensuite dans le champ correspondant à Y et entrez -53. De cette manière, vous signifiez à Scratch l'endroit exact où vous souhaitez que votre crabe apparaisse au démarrage du jeu.
Faites le test en cliquant sur le drapeau vert de la fenêtre de jeu et vous verrez le crabe se positionner à cet emplacement. Si ce n'est pas le cas, vérifiez vos valeurs.
Normalement, votre crabe est donc positionné sur l'herbe, au centre de l'écran.

Et toutes mes félicitations, vous venez de créer votre premier code !
Si vous avez repris les mêmes coordonnées, le résultat obtenu doit ressembler à ça:



Maintenant, vous allons voir comment faire pour que le crabe se déplacer selon les touches directionnelles que nous allons presser.

Allez dans la famille de scripts intitulée « Contrôles » puis glissez-déposez le bloc « Répéter indéfiniment » et placez de cette façon :



Ce bloc va nous permettre de répéter continuellement toutes les actions qu'il contiendra jusqu'à ce que le jeu s'arrête. Dans le cas présent, cela nous sera très utile pour indiquer au crabe quels seront ses placements dans notre jeu.
Notez que l'on peut placer des blocs dans celui-ci mais que l'on ne peut plus rien ajouter par la suite. C'est tout à fait normal puisqu'il permet de créer une boucle dans laquelle tous les événements ajoutés se répéteront à l'infini, jusqu'à ce que le jeu s'arrête donc.
Pour information, il est tout à fait possible d'ajouter d'autres séries de blocs à notre lutin, mais nous verrons cela plus tard.

Ensuite, toujours en restant dans la famille de scripts « Contrôles », glissez-déposez deux fois le bloc « Si... alors » de cette manière :



Ce bloc sert à créer une condition. Par exemple, si vous faites tel truc, voilà ce qui se passera, mais uniquement si cette condition est préalablement remplie. Par exemple, si Mario saute sur un ennemi, alors il gagne tant de points, et à cette condition seulement.
Dans notre cas, nous allons créer une condition toute simple pour les déplacements, mais la logique est strictement identique.

Maintenant que nous les avons ajouté tous deux, vous avez dû remarquer que ces blocs comportent des sortes de capsules en forme de losanges. Cela signifie que nous allons pouvoir y ajouter nos conditions, qui ici seront des capteurs.

Dans Scratch, les capteurs rassemblent les commandes (clavier, souris, manette) mais aussi les couleurs, les lutins, les sons et même les vidéos. Bref, ce sont les choses qui permettent au joueur d'interagir avec le jeu.
Cliquez sur la famille de scripts « Capteurs » puis glissez-déposez le bloc « Touche (…) pressée ? » de manière à le faire entrer dans le losange de votre premier bloc « Si […] alors ».
Enfin, cliquez sur la petite flèche noire de votre bloc capteur et sélectionnez « Flèche droite » comme indiqué sur cette capture :



Faites-en de même pour l'autre bloc « Si (…) alors », mais en sélectionnant « Flèche gauche ».

Super ! Vous y êtes presque, plus qu'une dernière petite étape !

Retournez dans la famille de scripts « Mouvement » puis glissez-déposez deux fois le bloc « Ajouter à X (...) » de cette façon :



Ces blocs vont nous permettre de modifier l'axe X de notre crabe à l'aide des flèches directionnelles.
Cependant, vous remarquerez que si le premier bloc « Ajouter 10 à X » correspond à la flèche droite, donc à la valeur positive de X, il va falloir changer celle du deuxième bloc en cliquant dans le champ correspondant puis en indiquant -10, soit la valeur négative de X qui correspond à la flèche gauche.

Si vous avez tout suivit correctement (et que j'ai été suffisamment clair ^^), vous pouvez désormais cliquer sur le drapeau vert de votre fenêtre de jeu puis déplacer votre crabe avec les flèches directionnelles de votre clavier ! La classe !

Comme vous vous en doutez, c'est à l'aide de ce type de codes tous simples que l'on peut déplacer n'importe quel sprite, le faire sauter, rouler et j'en passe. Mais nous verrons que plus les actions à réaliser sont complexes, plus les codes sont riches (ne vous inquiétez pas, d'ici là vous aurez acquis des automatismes qui compenserons largement la richesse de ces codes).

Il ne vous reste plus qu'à cliquer sur "Fichier" puis à sauvegarder votre début de jeu, sur lequel nous reviendrons dimanche prochain.

J'espère que ce petit tuto vous a plu et qu'il a été suffisamment clair et compréhensible pour tous. Si ce n'est pas le cas, n'hésitez pas à m'indiquer ce sur quoi vous avez butté ou ce qui n'est pas assez explicite afin que je puisse corriger tout ça par la suite.

La suite dimanche prochain, avec la deuxième partie où nous aborderons les notions suivantes :

- Ajouter une animation à notre crabe
- Ajouter un saut
- Ajouter des objets bonus à ramasser
- Ajouter des ennemis à esquiver

Merci à vous et bon jeu !

PS: désolé pour les fautes, je corrigerai ça mardi soir.
_________________

"Il n'est pas de lutte plus violente et déterminée que celle d'un homme face à son envie d'aller aux toilettes" - Karate Boy


chatpopeye
Camarade grospixelien


Joue à Dark Souls III

Inscrit : Jan 19, 2003
Messages : 5394
De : Poitiers

Hors ligne
Posté le: 2014-01-26 20:01
Ah....mais en voilà une idée qu'elle est bonne ! Merci beaucoup !!
J'ai essayé le tutoriel vite fait mercredi après-midi, afin de saisir grosso modo le principe du logiciel. Et au bout d'un moment, j'ai vu qu'il allait falloir jongler avec des abscisses et des ordonnées, ce qui m'a donné des sueurs froides (souvenirs douloureux de mathématiques...).

Je vais tâcher de suivre (et de mettre en application) ce que tu nous proposes dans ton grosblog, et après, qui sait, peut-être même que je mettrai en place à l'école une APC "création de jeu vidéo" (déguisée sous un nom plus passe-partout comme "initiation aux TICE"), en pompant sans vergogne ton travail .



Odysseus
Pixel intergalactique

47
0004305

Joue à lâcher trois poissons-ballons sur la ligne de départ.

Inscrit : Sep 15, 2002
Messages : 10875
De : Αἰαία

Hors ligne
Posté le: 2014-01-26 22:18   [ Edité le: 2014-01-26 22:21 ]
Citation :
Le 2014-01-26 20:01, chatpopeye a écrit :

Et au bout d'un moment, j'ai vu qu'il allait falloir jongler avec des abscisses et des ordonnées, ce qui m'a donné des sueurs froides (souvenirs douloureux de mathématiques...).


Sur ce point, j'ajouterai quelques astuces d'affichage au prochain tuto. Mais de façon général, je reste conscient que tout le monde n'est pas forcément hyper à l'aise avec les maths, donc j'essaierai au maximum de faciliter certains concepts.


Citation :
Le 2014-01-26 20:01, chatpopeye a écrit :

Je vais tâcher de suivre (et de mettre en application) ce que tu nous proposes dans ton grosblog, et après, qui sait, peut-être même que je mettrai en place à l'école une APC "création de jeu vidéo" (déguisée sous un nom plus passe-partout comme "initiation aux TICE"), en pompant sans vergogne ton travail .


C'est fait pour, fais-toi plaisir!
Si je peux me permettre un conseil, mieux encore que "initiation aux TICE", il y a "initiation et prévention aux TICE". Avec ça, tu as un passe-partout où tu peux assez librement aborder le jeu vidéo sous l'angle "des dangers du jeu vidéo". Et pour éviter toute réticence de tes collègues, tu peux dégainer le bonus "programmation et mathématiques".
En soit, ça ne change pas les fondamentaux pédagogiques ni le déroulé puisque tu aborderas nécessairement ces questions, mais c'est la présentation qui passe beaucoup plus facilement les dernières barrières des esprits étroits.

camite
Gros pixel

23
0018186

Joue à DO THE MATH!!

Inscrit : Mar 21, 2003
Messages : 1867
De : Merlanfrit.net

Hors ligne
Posté le: 2014-01-27 09:22
Le grosblog dont je rêvais depuis la création des grosblogs
Je me penche là-dessus dès que j'ai un peu de temps libre, en tout cas merci pour l'initiative !
_________________

La tête dans les nuages, il pleut dans mon cœur.


camite
Gros pixel

23
0018186

Joue à DO THE MATH!!

Inscrit : Mar 21, 2003
Messages : 1867
De : Merlanfrit.net

Hors ligne
Posté le: 2014-01-27 14:32
Je double-poste pour dire que j'ai fait ce premier tutorial et que je suis arrivé au bout sans problème, donc c'est parfaitement clair Vivement la suite !
_________________

La tête dans les nuages, il pleut dans mon cœur.


Odysseus
Pixel intergalactique

47
0004305

Joue à lâcher trois poissons-ballons sur la ligne de départ.

Inscrit : Sep 15, 2002
Messages : 10875
De : Αἰαία

Hors ligne
Posté le: 2014-01-27 17:57
Félicitations!
Content de voir que le tuto est compréhensible, et merci pour ce retour!

Par curiosité, tu avais déjà essayé d'utiliser un outil de ce type auparavant?
_________________

"Il n'est pas de lutte plus violente et déterminée que celle d'un homme face à son envie d'aller aux toilettes" - Karate Boy


chatpopeye
Camarade grospixelien


Joue à Dark Souls III

Inscrit : Jan 19, 2003
Messages : 5394
De : Poitiers

Hors ligne
Posté le: 2014-01-27 21:51
Pour ma part, je n'avais jamais utilisé ce genre d'outil. Le seul truc approchant était "The Simpsons Movie Studio" qui permettait de créer des animations avec les Simpson.

J'ai fait ton tuto en entier et tout à marché. J'ai même ajouté des valeurs "y" pour qu'il aille en haut et en bas. Ne vous marrez pas, c'est un nouveau monde pour moi...

Encore un grand merci, j'ai hâte de lire la suite. Peut-être que d'ici-là, j'aurai trouvé comment faire faire un saut au crabe.

camite
Gros pixel

23
0018186

Joue à DO THE MATH!!

Inscrit : Mar 21, 2003
Messages : 1867
De : Merlanfrit.net

Hors ligne
Posté le: 2014-01-28 09:03
Hum, alors j'avais essayé un truc qui s'appelait "Div Game Studio", sans interface, directement du code à taper... J'avais suivi le tuto fourni pour faire un petit shoot em up mais je n'ai pas été au delà, beaucoup trop compliqué pour moi.
J'ai installé différent trucs, RPG Maker, des logiciels pour faire de l'aventure textuelle... Mais je n'ai jamais rien fait dessus, parfois je ne trouvais pas de bon tuto en français, parfois j'en trouvais mais ça restait trop complexe pour moi...

Bref, là j'ai presque eu l'impression de comprendre ce que je faisais, c'est bon signe
_________________

La tête dans les nuages, il pleut dans mon cœur.


JiPé
Pixel monstrueux

55
0002920

Joue à VF5 FS, puyo-tetris

Inscrit : Apr 26, 2008
Messages : 3944
De : valence passion

Hors ligne
Posté le: 2014-02-01 17:07
J'ai pas le temps de creuser le truc dignement mais je sais que fin printemps 2014 je vais avoir moins de boulot et du temps pour me lancer dans des projets plus perso'.

L'été dernier j'ai essayé de faire des trucs sur processing mais c'est trop orienté "dispositif interactif arty", pas de quoi se lancer dans du game design.
Et Flash étant définitivement condamné, cet outil tombe à pic... merci
_________________

"Je joue avec le gyroscope"


  Voir le site web de JiPé   
Sebinjapan
Camarade grospixelien


Joue à Disgaea (PSP)

Inscrit : May 02, 2007
Messages : 7088
De : Thionville

Hors ligne
Posté le: 2014-02-02 13:08
Ouah, tu es très généreux Odysseus : merci de partager ton expérience avec nous et de passer du temps à rédiger ces tutos. Je n'ai pas le temps de m'y mettre en ce moment, mais je garde ce grosblog dans un coin de ma tête. J'espère pouvoir bientôt me lancer dans Scratch avec mon fils, une expérience qui risque d'être carrément géniale.

  Voir le site web de Sebinjapan
Odysseus
Pixel intergalactique

47
0004305

Joue à lâcher trois poissons-ballons sur la ligne de départ.

Inscrit : Sep 15, 2002
Messages : 10875
De : Αἰαία

Hors ligne
Posté le: 2014-02-02 22:14   [ Edité le: 2014-02-02 22:28 ]
Tuto n°1 : Le jeu du crabe

Deuxième partie: premiers pas avec le script


Notions abordées:

- Ajouter un saut
- Ajouter une animation à notre crabe
- Ajouter des objets bonus à ramasser
- Ajouter des ennemis à esquiver

Note: ce tuto se base sur l'idée que vous avez respecté les données fournies dans la première partie.

Tout d'abord, chargez dans Scratch le jeu que vous avez commencé à réaliser dans la première partie de ce tuto.

Nous allons voir ensemble comment faire sauter notre crabe, lequel sera amené à éviter des ennemis.
Pour cela, cliquez sur votre crabe dans la fenêtre des lutins, sélectionnez l'onglet "Scripts" puis cliquez dans la famille "Contrôle", en jaune.
Maintenant, glissez-déposez un nouveau script de condition "Si (...) alors", comme suit:



Tout comme nous avions ajouté deux conditions pour les déplacements latéraux, nous allons en créer une nouvelle pour les déplacements verticaux, autrement dit le saut.
Pour cela, cliquez sur la famille de scripts "Capteurs", qui permet d'ajouter des capteurs de touches à notre jeu, puis glissez-déposez "Touche (...) pressée?" comme abordé précédemment en choisissant cette fois "flèche haut" tel que ci-dessous:



Allez dans la famille de scripts "Mouvement" puis glissez-déposez "Donne la valeur (...) à Y" comme sur la capture suivante, en attribuant la valeur "0" à Y:



Cette brique permet donc de changer la valeur Y de votre sprite de crabe, soit sa position verticale. Celle-ci étant initialement à -53, nous faisons en sorte de la déplacer, mais cela sera temporaire. Vous allez comprendre.

Allez maintenant dans la famille de scripts "Contrôle" puis glissez-déposez le bloc "Attendre (...) secondes" comme indiqué:



Je lui ai attribué la valeur "0.5", car je veux que mon crabe reste en saut durant une demi-seconde.
Vous pouvez attribuer la valeur de votre choix, par exemple 2 secondes, mais gardez à l'esprit qu'une part du challenge viendra de la gestion des sauts, et qu'un saut trop long n'est pas vraiment gage de difficulté.
Notez que Scratch ne gère pas les virgules dans l'attribution des valeurs, mais uniquement les points.

Enfin, retournez dans la famille de scripts "Mouvement" puis glissez-déposez à nouveau un bloc "Donner la valeur (...) à Y" de cette façon:



Une fois fait, attribuez à ce bloc la valeur "-53", qui est celle de la position Y initiale du sprite du crabe.
Autrement dit, non simulons le saut en permettant au crabe de bouger de la manière suivante:


Tant que je n'appuie pas sur "haut", mon crabe reste au sol


Quand j'appuie sur "haut", le crabe va à Y=0 et y reste 0,5 secondes


Une fois les 0,5 seconde passée, il redescend à sa position initiale, ce jusqu'à ce que j'appuie de nouveau sur "haut"

Il ne vous reste plus qu'à cliquer sur le drapeau vert et à tester votre nouveau script! Miracle, votre crabe saute, congratulations!

Nous allons maintenant animer notre crabe.
Il faut rappeler que plus une animation est détaillée, plus elle est complexe et donc plus elle réclame un temps de travail important. Or, nous allons faire simple en allant à l'essentiel, sachant que je vous proposerai par la suite un petit exercice bonus là-dessus pour ceux qui souhaitent approfondir le truc.

Tout d'abord, enregistrez sur votre ordinateur le sprite de crabe ci-dessous:



Toujours depuis votre lutin de crabe, cliquez sur l'onglet "Costume" puis cliquez sur le petit dossier qui permet d'importer un nouveau costume comme indiqué sur cette capture:



Dans votre colonne "Costume" de votre crabe, vous devez maintenant avoir deux sprites différents, tel que ceci:



Note: Scratch 2 étant en beta, il existe un bug récurent qui fait parfois disparaître un costume que l'on vient d'ajouter. Si c'est le cas, chargez à nouveau le nouveau sprite puis supprimez l'ancien et tout devrait rentrer dans l'ordre.

Ce nouveau sprite sera l'animation de votre crabe lorsqu'il se déplacera sur la droite. Mais en attendant, faites un clic droit sur votre nouveau sprite et sélectionnez "Dupliquer" comme indiqué ici:



Vous venez de créer une copie de ce sprite, que nous allons de suite modifier.
Pour cela, cliquez sur la troisième image (celle qui est la copie donc) et cliquez sur "Retournement horizontal" afin d'appliquer un effet de miroir à cette troisième image tel que ci-dessous:



Nous avons donc un crabe stationnaire, un crabe qui se penche vers la droite et un troisième qui se penche vers la gauche.
Pour bien nous organiser pour la suite des évènements, nous allons renommer tous ces sprites.
Pour cela, cliquez dans le champ correspondant à chaque image comme indiqué sur la capture d'écran suivante et renommez-les selon les critères suivants:

- Première image: crabe neutre
- Deuxième image: crabe droite
- Troisième image: crabe gauche



Un petit conseil: évitez de donner des noms trop fantaisistes et gardez toujours à l'esprit que l'on doit pouvoir comprendre immédiatement de quoi il est question simplement en lisant le nom de vos fichiers internes à votre projet. Car au fil du temps, nous allons avoir de plus en plus d'images différentes à utiliser, lesquelles doivent être facilement identifiables simplement en lisant le script de votre jeu, donc sans avoir à partir à la pêche aux infos dans votre bibliothèque de lutins.

Toujours dans votre crabe, cliquez sur l'onglet "Scripts" puis dans la famille "Apparence".
C'est ici que se gèrent les changements de sprites, les animations et les effets visuels divers.
Glissez-déposez le bloc "Basculer sur costume (...)" comme indiqué sur la capture ci-dessous puis, en cliquant sur la petite flèche noire, choisissez "Crabe neutre".



De cette façon,nous indiquons à Scratch que lorsque nous démarrerons le jeu en cliquant sur le drapeau vert, le sprite de notre crabe passera automatiquement sur ce sprite. C'est très important, car si noue ne le faisons pas, le jeu gardera en mémoire le dernier sprite connu actif et risquerait de démarrer sur un sprite ne convenant pas à la position de départ du crabe. Un peu comme si, en démarrant Sonic, le sprite était celui de Sonic chutant dans le vide juste avant de mourir au lieu d'être impassible.

Maintenant, il ne vous reste plus qu'à appliquer les autres changements d'animation comme indiqués dans cette capture:



Autrement dit:

- Quand flèche droite pressée > sprite crabe droite
- Quand flèche gauche pressée > sprite crabe gauche
- Quand lèche haut pressée > sprite neutre

Nous modifierons ultérieurement l'animation du sprite lors du saut afin d'obtenir un meilleur rendu, mais je ne souhaite pas vous gaver d'informations pour le moment.
Il ne vous reste plus qu'à cliquer sur le drapeau vert et à tester vos animations!

Au tour des objets bonus!

L'idée est de proposer des objets (des fruits en l’occurrence) qui tomberont du haut de l'écran et qui, si ils sont rattrapés à temps, permettront au joueur de gagner des points. Pour le moment, nous allons nous intéresser aux déplacements de ces fruits et nous aborderons la question de leurs interactions avec le crabe la semaine prochaine car nous avons déjà pas mal de choses à faire.

En premier lieu, téléchargez les sprites suivants dans un coin de votre ordinateur, en précisant que nous n'en utiliserons que deux (la fraise et la pomme) mais que les autres seront nécessaires à l'exercice de la semaine:



Ensuite, nous allons créer un nouveau lutin, lequel comportera le sprite de la fraise.
Pour cela, dans la fenêtre des lutins, cliquez sur le dossier pour importer le fichier de la fraise comme indiqué:



Votre lutin de fraise sélectionné, cliquez sur l'onglet "Scripts" puis sur la famille "Évènements" et enfin glissez-déposez "Quand drapeau vert pressé" comme suit:



En effet, pour chaque nouveau lutin, il faut indiquer au jeu ce qui se passe au démarrage. Autrement dit, il y a un bloc de drapeau vert pour tout nouveau lutin, sans quoi le lutin en question ne peut réaliser aucune action.

Toujours dans la fraise, cliquez sur la famille "Apparence" puis glissez-déposez le bloc "cacher". celui-ci permet de dire au jeu de cacher le(s) sprite(s) d'un lutin pour, par exemple, retarder son apparition, ce que nous allons faire:



Cliquez dans la famille "Contrôle" et glissez-déposez le bloc "Attendre (...) seconde"en mettant le champ à 3 secondes:



Dans la famille de scripts "Mouvement", glissez-déposez "Aller à X (...) Y (...)" puis attribuez les valeurs suivantes:

X=-125
Y= 200




Autrement dit, tout en étant cachée, notre fraise sera immédiatement positionnée en hauteur, légèrement en-dehors de l'écran, ce qui constituera son point de départ. Vous allez comprendre.

De nouveau dans la famille "Apparence", glissez-déposez le bloc "Montrer", qui permet de faire apparaître un lutin précédemment caché, comme ci-dessous:



Enfin, retournez dans "Mouvement" puis glissez-déposez le bloc "Aller en (...) seconde à X (...) Y (...)".
Ce bloc est très utile pour déplacer un lutin d'un point à un autre en contrôlant son temps de déplacement. Dans le cas présent, et en partant du premier bloc de position de ce script, nous allons faire se déplacer automatiquement notre fraise du haut de l'écran vers le sol du décor en une seconde.
Notez que les valeurs à renseigner dans les champs sont les suivantes:

- X= - 125
- Y= -70


Autrement dit, la valeur X (axe horizontal) ne change pas par rapport au point de départ mais seule la valeur Y (axe vertical) change, ce qui est normal puisque nous simulons la chute d'un objet.

Voici le résultat que vous devez obtenir:



Si vous cliquez sur la drapeau vert pour tester votre script, vous remarquerez donc que votre fraise tombe du haut de l'écran exactement trois secondes après avoir démarré votre jeu, mais que plus rien ne se passe ensuite. C'est normal, nous allons indiqué à la fraise ce qui doit se passer une fois qu'elle "touche" le sol du décor.

Dans le cas présent, nous allons créer un effet de clignotement, lequel indique au joueur qu'il doit se presser de récupérer la fraise avant qu'elle ne disparaisse.
Pour cela, toujours en ayant sélectionné la fraise dans votre fenêtre de lutin, allez dans la famille "Contrôle" puis ajoutez un bloc "Attendre (...) seconde", en attribuant 0.2 au champ.
Allez dans "Apparence" et ajoutez un bloc "Cacher".
De nouveau dans la famille "Contrôle", mettez un nouveau bloc "Attendre (...) seconde" puis mettez juste en-dessous un bloc "Montrer", qui se trouve dans la famille "Apparence" et répétez l'opération.

Ce n'est pas clair? Pas de souci, il vous suffit de reproduire le contenu de cette capture d'écran:



De cette manière, nous indiquons au jeu qu'une fois que la fraise aura atteint sa position de fin, elle clignotera trois fois avant de disparaître. Seulement, maintenant, que va-t-il se passer pour la fraise?
L'idée est qu'elle puisse revenir de temps à autre sur ce chemin pour que le joueur essaie de l'attraper et ainsi gagner quelques points. Pour ça, rien de plus simple: nous allons créer une boucle qui permettra à la fraise de revenir occasionnellement parcourir le même chemin.

La première chose à faire consiste à se rendre dans la famille de scripts "Évènements" puis à glisser-déposer "Envoyer à tous (...)" à la fin de notre script.
Ce bloc offre de multiples possibilités, dont celle de créer des chaînes de scripts, que ce soit au sein d'un même lutin ou entre plusieurs lutins différents, voire même entre des scènes et des lutins. Pour vous situer le truc, c'est une sorte de lien que l'on peut créer entre scripts, un peu comme on crée des liens entre des pages de sites internet. Et il est possible d'en créer autant que l'on souhaite.

Une fois votre bloc "Envoyer à tous (...)" ajouté, cliquez sur la flèche noire puis sur "Nouveau message" comme indiqué:



Dans la fenêtre qui vient de s'ouvrir, nommez le message "fraise reboot", comme sur cette capture:



Maintenant, glissez-déposez le bloc "Quand je reçois (...)" de la façon indiquée sur cette capture, en faisant attention de bien sélectionner "fraise reboot" avec la petite flèche noire du bloc:



L'idée est de créer un nouveau script dans le lutin fraise, lequel sera la suite du premier.
Autrement dit, une fois que le premier script se termine par "fraise reboot", il continuera sur le nouveau script que nous sommes en train de créer via le bloc "Quand je reçois (...)".
Et comme nous avons le sens pratique, nous n'allons pas nous embêter à réécrire un nouveau script mais simplement à copier-coller le précédent.

Pour ça, il vous suffit de cliquer sur le bloc "Attendre 3 secondes" puis de le glisser-déposer un peu en-dessous, de manière à le détacher des deux blocs précédents, comme illustré ici:



Faites un petit coup de clic droit sur la portion que vous venez de détacher et choisissez "Dupliquer", comme ceci:



Il ne vous reste plus qu'à placer le script que vous venez de copier juste sous le bloc "Quand je reçois "fraise reboot" puis à remettre l'autre script à sa place:



Si vous avez cliqué sur le drapeau vert, vous avez dû remarquer que votre fraise revient maintenant à allure régulière, toutes les trois secondes. C'est cool, mais nous allons ajouter un peu d'aléatoire dans tout ça en faisant en sorte qu'une fois sa première apparition passée, la fraise revienne à intervalles plus ou moins irréguliers.

Tout d'abord, nous allons cliquer dans la famille "Opérateurs".
Ce sont des blocs qui permettent de créer diverses opérations, de trucs très simples à des choses plus complexes. Ils sont très utiles notamment dans la modification des données ou les calculs de relations entre objets.

Nous allons donc glisser-déposer le bloc "Nombre aléatoire entre (...) et (...)" de la façon suivante, en l'encapsulant dans le bloc "Attendre (...) seconde" du deuxième script de notre fraise, tel que ceci:



J'ai renseigné les champs de telle sorte que toutes les réapparitions de la fraise se fassent dans un délai supérieur à 3 secondes et inférieur à 6 secondes. Elle peut donc aléatoirement réapparaître selon les temps suivants:

- 3 secondes
- 4 secondes
- 5 secondes
- 6 secondes

Notez que la notion d'aléatoire n'existe pas dans le sens où celle-ci est simulée et obéit en réalité à un certains nombre de règles ainsi que de conditions, ce qui va justement à l'encontre de la notion d'aléatoire, de hasard.

Cliquez sur le drapeau vert et admirez le résultat de vos efforts!
La fraise chute du ciel et réapparaît aléatoirement. Vous venez de créer votre premier bonus, félicitations!

Ceci dit, une fraise c'est bien, mais une pomme en plus, c'est encore mieux.
Nous allons donc créer un nouvel objet bonus, qui cette fois sera une pomme, laquelle a dû être préalablement téléchargée sur votre ordinateur si vous avez bien suivit ce tuto.

Comme nous avons déjà un bonus de terminé, celui de la fraise, nous allons tricher un peu en recopiant une partie de ce bonus pour l'appliquer à la pomme. Pour ça, dans la fenêtre des lutins, il vous suffit de cliquer droit sur la fraise puis de choisir "Dupliquer":



Nous venons de créer une copie exacte de la fraise, mais nous allons changer quelques trucs, à commencer par le sprite.
Dans ce nouveau lutin, cliquez sur l'onglet "Costume" puis importez celui de la pomme. Enfin, supprimez le costume de la fraise dans ce même lutin et renommez-le en "pomme".

Dans la fenêtre de lutin, remarquez le petit "i" bleu de votre pomme et cliquez dessus:



Renommez "fraise 2" en "pomme" puis cliquez sur la flèche de retour pour revenir au menu de base des lutins comme ceci:



Toujours dans le lutin de la pomme, cliquez sur l'onglet "Scripts" puis modifiez les champs par les valeurs suivantes:



Autrement dit, nous venons d'attribuer à la pomme de nouvelles coordonnées, différentes de celles de la fraise afin de les alterner et de donner au joueur un futur sentiment de challenge.

Il nous reste encore deux petites choses à faire pour que la pomme soit pleinement opérationnelle.
D'abord, créez un nouveau message comme suit que vous appellerez "pomme reboot":



Enfin,appliquez "pomme reboot"à tous les champs correspondant dans les deux scripts de ce lutin, tel que ci-dessous:



Cliquez sur votre drapeau vert et observez! Vous avez désormais deux bonus qui ont chacun leurs spécificités, bravo!

Enfin, nous allons terminer ce tuto par l'ajout d'un ennemi, dans le cas présent un oursin.

Grosso modo, cela fonctionne de la même manière qu'avec les fruits mais avec des coordonnées différentes.
En premier lieu, téléchargez le sprite de l'oursin:



Cette fois, dans la fenêtre des lutins, nous allons copier celui de la pomme dont nous modifierons le contenu.
Dans un premier temps,prenez soin d'importer le sprite de l'oursin dans l'onglet costume de votre nouveau lutin et de le nommer correctement ("oursin" donc), tel que suit:



Maintenant, dans l'onglet script de votre lutin "oursin", modifiez le champ des valeurs comme indiqué, en faisant attention de bien les reporter sur le script suivant:



Une des différences fondamentales d'avec les fruits, c'est qu'outre le déplacement, l'oursin ne va pas clignoter. Il va donc falloir supprimer les blocs qui donnent cet effet en les décollant du premier et du second script de votre oursin de la façon suivante:



Maintenant, faites un clic droit sur cet ensemble de blocs et sélectionnez "Supprimer":



Vous devez maintenant recoller les blocs qui ont été détachés de manière à obtenir ce résultat:



Un tout dernier truc à faire: modifier le message envoyé.
Pour cela, cliquez sur le bloc "Envoyer à tous (...)" et créez un nouveau message que vous appellez "oursin reboot", puis appliquez-le aux deux autres blocs qui y font appel.
Vous devez obtenir ce résultat:


Oui, c'est le bordel sur cette capture, mais en fait pas tant que ça si vous respectez bien les codes couleurs et que vous avez tout bien suivit depuis le début. ^^

Voilà, c'est fait, vous avez votre premier ennemi!

Si j'ai été suffisamment clair et que vous avez bien tout pigé, le résultat obtenu doit maintenant ressembler à ça:




Bien sûr, il nous reste encore du chemin, mais si vous avez déjà terminé ça, c'est que vous êtes fin prêt pour la suite!

On se retrouve dimanche prochain, avec la suite du tuto où nous découvrirons les éléments suivants:

- Ajouter un compteur de score
- Ajouter un compteur de vie
- Faire interagir les bonus et le crabe
- Faire interagir l'ennemi et le crabe

------------------

Pour ceux qui le souhaitent, voici deux petits exercices en bonus, sous réserve que vous ayez terminé ce tuto:

- Ajouter les bonus de la banane et de la cerise
- Ajouter un autre oursin qui se déplace de gauche à droite

Et comme toujours, si vous avez des questions en rapport avec le tuto de la semaine ou si un truc n'est pas clair, n'hésitez pas!

[edit]

Je correctionnerai les fôtes dautografes plu tarre, des zolés.
_________________

"Il n'est pas de lutte plus violente et déterminée que celle d'un homme face à son envie d'aller aux toilettes" - Karate Boy


chatpopeye
Camarade grospixelien


Joue à Dark Souls III

Inscrit : Jan 19, 2003
Messages : 5394
De : Poitiers

Hors ligne
Posté le: 2014-02-03 21:46
Ayé ! J'ai fini mes devoirs. Ca m'a pris une heure parce que j'ai dû recommencer depuis le début, je ne savais plus où j'avais enregistré mon premier travail, et j'ai parfois mal lu la consigne...
Je n'ai pas encore fait les travaux-bonus, ça suffit pour ce soir.

En tous cas, merci beaucoup encore une fois. Tout fonctionne bien. Sûr que je testerai tout ça en APC après les vacances de février.
Le seul souci, c'est que pendant tout ce temps, je n'ai pas pu jouer à Sleeping Dogs. Tu pourrais pas nous faire un tuto pour refaire Sleeping Dogs ?

Odysseus
Pixel intergalactique

47
0004305

Joue à lâcher trois poissons-ballons sur la ligne de départ.

Inscrit : Sep 15, 2002
Messages : 10875
De : Αἰαία

Hors ligne
Posté le: 2014-02-04 08:01
Content de voir que tu as réussi à tout plier en une heure!

J'avoue qu'un moment j'ai songé à mettre ce tuto en deux parties car je redoutais qu'il soit trop difficile pour des débutants, mais ton retour semble indiquer que ça passe sans trop de souci.
D'ailleurs, il ne faut vraiment pas hésiter à me dire s'il y a des passages qui ne sont pas forcément hyper clairs ou qui prêtent à confusion pour que je puisse corriger ça histoire que ce soit utilisable par le plus grand nombre.

Si ça peut en rassurer certains, le tuto de dimanche prochain sera plus cool car l'essentiel du code est maintenant là et servira de base à tout le reste.
_________________

"Il n'est pas de lutte plus violente et déterminée que celle d'un homme face à son envie d'aller aux toilettes" - Karate Boy


camite
Gros pixel

23
0018186

Joue à DO THE MATH!!

Inscrit : Mar 21, 2003
Messages : 1867
De : Merlanfrit.net

Hors ligne
Posté le: 2014-02-04 15:54   [ Edité le: 2014-02-04 15:58 ]
J'ai fini ce nouveau tuto à mon tour
Je suis arrivé au bout sans trop de soucis. En fait, c'est surtout un bug de Scratch qui m'a fait perdre un peu de temps : parfois les costumes des sprites changent de coordonnées par défaut et s'affichent en haut à gauche de l'écran. Enfin, je crois ^^ Par exemple, alors que les coordonnées d'apparition du crabe étaient bonnes, le crabe apparaissait en haut à gauche au démarrage du script. Bon en virant le costume et en le réimportant ça corrigeait le problème.

Sinon, il y a une de tes captures où les chiffres à rentrer sont difficiles à lire (pour modifier les valeurs du bonus pomme nouvellement créé). J'ai aussi remarqué que d'une capture à l'autre, certaines valeurs pouvaient changer sans que ça n'ait été dit dans le tuto (comme les temps avant apparition, ou les nombres aléatoires, d'un duplicata de script à l'autre). Ça n'empêche nullement de poursuivre et de toute façon, chacun est libre de mettre les valeurs qu'il veut une fois qu'il a compris le fonctionnement. Mais pendant quelques secondes, je me demandais si je n'avais pas raté une étape.

Mais globalement ça reste très bien expliqué, j'ai mis une grosse heure, plus quinze minutes pour les exercices supplémentaires. Une fois qu'on a compris le principe, ça va assez vite. Je me suis d'ailleurs amusé à mettre des vitesses de déplacement différentes pour la banane, la cerise, et le second oursin.

Voilà, je me tiens prêt pour la suite !
_________________

La tête dans les nuages, il pleut dans mon cœur.


Odysseus
Pixel intergalactique

47
0004305

Joue à lâcher trois poissons-ballons sur la ligne de départ.

Inscrit : Sep 15, 2002
Messages : 10875
De : Αἰαία

Hors ligne
Posté le: 2014-02-06 22:00
Citation :
Le 2014-02-04 15:54, camite a écrit :

En fait, c'est surtout un bug de Scratch qui m'a fait perdre un peu de temps : parfois les costumes des sprites changent de coordonnées par défaut et s'affichent en haut à gauche de l'écran. Enfin, je crois ^^ Par exemple, alors que les coordonnées d'apparition du crabe étaient bonnes, le crabe apparaissait en haut à gauche au démarrage du script. Bon en virant le costume et en le réimportant ça corrigeait le problème.


Effectivement, c'est un bug qui peut se produire de façon assez aléatoire et qui peut se révéler bien ennuyeux si on n'a pas pris garde de vérifier la position de ses sprites avant d'enregistrer. Je ferai un avertissement là-dessus, histoire d'éviter les mauvaises surprises.

Citation :
Le 2014-02-04 15:54, camite a écrit :

Sinon, il y a une de tes captures où les chiffres à rentrer sont difficiles à lire (pour modifier les valeurs du bonus pomme nouvellement créé).


Clic droit > afficher l'image. Certaines captures sont recadrées automatiquement sur le forum, mais elles sont plus grandes que l'aperçu proposé. Je mettrai ça à jour, là aussi avec un avertissement en italique en haut des images concernées.

Citation :
Le 2014-02-04 15:54, camite a écrit :

J'ai aussi remarqué que d'une capture à l'autre, certaines valeurs pouvaient changer sans que ça n'ait été dit dans le tuto (comme les temps avant apparition, ou les nombres aléatoires, d'un duplicata de script à l'autre).


Je le préciserai dans une mise à jour ainsi que dans les prochain tutos histoire qu'il n'y ai pas d'incompréhension sur les changements de valeurs.

En tout cas, merci pour vos retours et félicitations pour vos efforts!
_________________

"Il n'est pas de lutte plus violente et déterminée que celle d'un homme face à son envie d'aller aux toilettes" - Karate Boy


chatpopeye
Camarade grospixelien


Joue à Dark Souls III

Inscrit : Jan 19, 2003
Messages : 5394
De : Poitiers

Hors ligne
Posté le: 2014-02-09 21:31
Juste pour dire que je viens d'ajouter avec succès les "bonus" évoqués la semaine dernière. J'attends la suite avec impatience.

Odysseus
Pixel intergalactique

47
0004305

Joue à lâcher trois poissons-ballons sur la ligne de départ.

Inscrit : Sep 15, 2002
Messages : 10875
De : Αἰαία

Hors ligne
Posté le: 2014-02-09 22:40   [ Edité le: 2014-02-09 22:57 ]
Tuto n°1 : Le jeu du crabe

Troisième partie: interactions entre les objets


Notions abordées:

- Ajouter un compteur de score
- Ajouter un compteur de vie
- Faire interagir les bonus et le crabe
- Faire interagir l'ennemi et le crabe

Note: ce tuto se base sur l'idée que vous avez respecté les données fournies dans la première partie.

Avertissement:

Scratch 2 étant en beta ouverte, il existe différents bugs dont les deux suivants:

- Le sprite d'un lutin pourtant présent dans la galerie devient invisible
- Le sprite d'un lutin force son déplacement dans le coin supérieur gauche

Dans les deux cas de figure, pour résoudre ce problème, il faut supprimer le sprite en question puis réuploader l'image correspondante, en prenant soin de la renommer comme à l'origine.

Par ailleurs, j'ai essayé de faire au mieux en proposant un maximum de captures d'écrans pour vous faciliter la tâche. Néanmoins, certaines sont trop grandes pour être affichées de façon suffisamment lisible, en particulier au niveau des coordonnées. Dans ce cas, faites un clic droit sur l'image puis sélectionnez "Afficher l'image" pour la faire apparaître en grande taille.


Pour commencer, chargez dans Scratch le jeu sur lequel vous avez travaillé précédemment.

Ensuite, téléchargez les images suivantes qui seront utilisées dans ce tuto, en les renommant respectivement "cœur", "crabe touche 1" et "crabe touche 2". Veuillez à conserver l'extension en *.gif:



Vous êtes prêts? C'est parti!

Tout d'abord, nous allons créer le score de notre jeu, et pour cela, il faut commencer par son affichage.
Nous allons donc créer ce que l'on appel une variable.
Pour faire simple, en langage informatique, une variable est un élément unique auquel on attribue un nom, une fonction et qui a la possibilité de changer de valeur au fil du temps et/ou des conditions. De fait, de Pong au dernier Mario Kart, tous les scores de jeux vidéo sont des variables. Il existe juste des méthodes et des utilisations différentes, et nous allons découvrir ensemble l'une d'elles.

Pour ce faire, nous allons cliquer sur n'importe quel lutin puis, dans l'onglet scripts, nous allons cliquer sur "Données" et enfin le bouton "Créer une variable" comme indiqué ci-dessous:



Dans la petite fenêtre qui vient de s'ouvrir, nous allons inscrire "score" comme nom de variable, en faisant attention que la case "Pour tous les lutins" soit bien cochée et nous validons sur le bouton OK.
Vous devez maintenant avoir ces nouveaux éléments qui s'affichent dans la section "données" de l'onglet script:



Et peut-être l'avez-vous déjà remarqué, mais vous venez également d'afficher votre premier élément de score, qui se place automatiquement dans le coin supérieur gauche de votre écran de jeu:



C'est la classe, mais il nous encore plusieurs choses à faire, à commencer par régir les interactions qui vont conditionner les relations entre nos différents lutins, donc l'évolution du score.
On rappellera que l'idée de départ est que notre petit crabe gagne des points en ramassant les fruits avant qu'ils ne disparaissent. Pour ça, nous nous baserons sur l'idée qu'un fruit attrapé à temps= 1 point au compteur de score.

Maintenant, cliquons sur le lutin du crabe, allons dans l'onglet script puis dans la section "données".
Notez que comme nous avons coché la case "Pour tous les lutins", notre variable "score" sera disponible partout, c'est important pour la suite.
Maintenant, glissez-déposez le bloc "Mettre score à (...)" tel qu'indiqué sur cette capture:



Grâce à cela, nous disons au jeu "Quand je démarre en cliquant sur le drapeau vert, tu me mets le score à zéro coco".

Allons faire un tour du côté du premier fruit en cliquant sur le lutin de la fraise.
En premier lieu, dans notre premier ensemble de scripts, glissez-déposez toute la partie liée au clignotement comme indiqué sur la capture. Notez que pour réaliser correctement la manipulation, il faut saisir le premier "Attendre 0.2 secondes" puis descendre suffisamment pour se détacher du magnétisme.
Le résultat obtenu doit être identique à ceci:



C'est une manipulation que nous utiliserons souvent au cours de ce tuto, en particulier pour y glisser d'autres blocs ou faire des copies d'ensemble de blocs.

Une fois que les deux ensemble sont bien séparés, allons dans "Contrôles" puis le bloc de condition "Si (...) alors, sinon (...)":



Avec ce bloc, nous disons au jeu:

- Si il se passe tel truc, alors tu fais telle action, mais si ça il ne se passe pas CE truc précis, tu fais telle autre action.
Par exemple, dans Outrun, si la voiture se cartonne dans le décor, alors elle ralentit. Mais si elle ne se cartonne pas, elle continue de rouler normalement. C'est le même type de script qui est utilisé.

Toujours dans notre fraise, nous allons faire un tour du côté des capteurs en glissant-déposant "(...) touché?" de la façon suivante, en prenant soin de sélectionner "crabe" en cliquant sur la petite flèche noire.



Avec ce bloc, nous disons au jeu avec quel lutin tel autre lutin peut interagir. Dans le cas présent, nous allons créer une relation entre la fraise et le crabe.

Allons ensuite dans "Apparence" puis glissons-déposons un bloc "cacher" comme suit:



Nous venons de créer notre première condition, du moins en partie. Autrement dit, si le crabe touche la fraise, alors cette dernière disparaît. C'est fonctionnel mais encore sommaire, et il nous reste toujours à ajouter notre score.

Cliquons dans "Données" puis ajoutons un bloc "Ajouter à score (...) tel qu'indiqué:



Là, nous disons au jeu que si la fraise touche le crabe, elle disparaît puis, immédiatement après, elle ajoute un point à la variable de score. Vous pouvez bien entendu modifier cette valeur par celle de votre choix, mais l'idée est, pour le moment, de rester sur quelque-chose de simple.

Comme nous sommes bien lancés, nous allons cliquer sur "Évènements" puis ajouter un bloc "Envoyer à tous (fraise reboot)" juste sous le bloc de score que l'on a placé précédemment:



De cette façon, on indique au jeu que dès que la fraise est touchée, elle bascule sur le deuxième ensemble de script, celui qui commence par "Quand je reçois (fraise reboot)", puisque l'idée est qu'elle puisse continuer d'apparaître.

Pour résumer ce que nous venons de faire:

- Si la fraise touche le crabe
Étape 1: la fraise disparaît
Étape 2: elle ajoute automatiquement un point au compteur de score
Étape 3: elle bascule sur l'autre ensemble de script

Seulement, si le crabe ne touche pas la fraise (ou la fraise ne touche pas le crabe, c'est exactement la même chose), que se passe-t-il? A nous de l'indiquer au jeu.

Nous allons donc reprendre notre portion de script que nous avions déplacé dans un coin, toujours en restant cliqué sur le premier bloc "Attendre (0.2) secondes":



Puis nous le plaçons de cette manière:



Ce qui signifie que si la fraise ne touche pas le crabe, elle se met à clignoter puis bascule sur l'autre ensemble de script, soit celui qui commence par "Quand je reçois (fraise reboot)". L'idée est que, dans tous les cas de figure, notre fraise puisse revenir régulièrement pour que le joueur tente de l'attraper.
Cela signifie aussi que si la fraise n'est pas attrapée avant de commencer à clignoter, le joueur ne gagne pas le point. Il faudra donc l'attraper soit en sautant, soit pile au moment où elle touche le sol. Nous venons d'ajouter un peu de challenge à notre jeu!

Enfin, toujours du côté de la fraise, il ne nous reste plus qu'à reproduire exactement la même manipulation pour obtenir ce résultat:



Maintenant que la fraise est terminée, allons faire un tour du côté de la pomme.
En premier lieu, détachons une partie de l'ensemble du premier script:



Comme nous n'avons pas envie de tout nous retaper, nous allons faire simple, en copiant-collant les bouts de scripts qui nous intéressent.
Pour ça, dans notre pomme, nous allons détacher la partie indiquée ci-dessous puis, à l'aide du clic droit, nous supprimons ce qui ne nous intéresse pas:



Retournons dans la fraise et détachons l'ensemble de scripts comme suit:



Faisons un clic droit et choisissons "dupliquer":



Nous venons de créer une copie de cet ensemble, lequel est magnétisé à notre pointeur de souris.
Amenons-le jusqu'au lutin de la pomme puis cliquons dessus, ce qui a pour effet de le copier dans le lutin de la pomme. Simple, non?



Après avoir remis en place l'ensemble de script de la fraise, revenons à notre pomme. Il ne nous reste plus qu'à placer l'élément copié tel qu'indiqué sur la capture suivante:



Enfin, il ne nous reste plus, je vais un peu vite en besogne. En fait, nous devons juste changer les données propres à la fraise pour les adapter à la pomme.
Pour ça, dans les deux blocs "Envoyer à tous (fraise reboot)", cliquez sur la petite flèche noire et choisissez "pomme reboot":



Et comme pour la fraise, on va faire un tour du deuxième ensemble de scripts, on détahce le clignotement:



On fait un clic droit puis on le supprime:



On détache la partie que l'on a précédemment collé dans la pomme:



Puis on la copie:



Enfin, il ne nous reste plus qu'à replacer ces ensembles de scripts pour obtenir ce résultat:



Félicitations, vous venez de terminer le système de score!
Vous pouvez le tester en cliquant sur le drapeau vert et admirer le fruit (ah, ah, ah...) de vos efforts.

Nous avons déjà fait la moitié du chemin, il ne nous reste plus qu'à aller faire un tour du côté du système de vie et des interactions entre le crabe et l'oursin.

L'idée est donc que, lorsque notre crabe est touché par l'oursin, il perd une vie, qui sera ici symbolisée par un cœur. Le crabe possèdera trois vies (conditionnement vidéoludique, quand tu nous tiens), au-delà desquelles il sera kaput.
De plus, nous allons ajouter une petite animation à notre crabe lorsqu'il se fait toucher, aussi bien pour des raisons de design visuel que de "triche" avec le script. Vous allez comprendre.

En premier lieu, nous allons ajouter un nouveau lutin en cliquant sur le petit dossier bleu de cette section, l'idée étant d'uploader le cœur:



Dans l'onglet costume de ce nouveau lutin, cliquons dans le champ indiqué ci-dessous pour modifier le nom et le nommer "cœur 1":



Maintenant, retournons dans l'ensemble de lutins et cliquons de nouveau sur le petit dossier pour importer à nouveau le cœur:



Nous allons importer le cœur une troisième fois dans le but d'obtenir ce résultat:



Notons le "i" bleu dans l'encadré rouge qui correspond au premier cœur et cliquons dessus.
Dans le champ de texte, renommons-le "coeur1", comme dans cette capture, puis cliquons sur la flèche bleue pour revenir au menu principal:



Après en avoir fait de même pour les deux autres cœurs, que nous nommerons respectivement "coeur2" et "coeur3", cliquons sur le lutin "cœur 1", puis dans l'onglet script et, enfin, dans "Événements". Maintenant, ajoutons le bloc "Quand drapeau vert pressé":



Ajoutons un bloc "Montrer", pioché dans la section de scripts "Apparence". Ainsi, lorsque le jeu démarrera, le premier cœur apparaîtra:



Le faire apparaître, c'est cool, mais il faut lui donner une position.
Pour ça, allons dans la famille de scripts "Mouvements", puis ajoutons un bloc "Aller à X= (...) Y= (...)", en modifiant les valeurs comme suit:



Comme pour le score, la gestion de la vie de notre petit crabe va nécessiter la création d'une variable.
Pour cela, allons dans la famille de scripts "Données" puis cliquons sur le bouton "Créer une variable":



Nommons cette variable "vie", en faisant toujours attention que la case "Pour tous les lutins" soit bien cochée:



Maintenant, il va falloir créer une première interaction entre le crabe et l'oursin.
Allons dans le lutin du crabe, cliquons sur l'onglet scripts puis glissons-déposons un bloc "Quand drapeau vert pressé":



En restant sur le lutin crabe, cliquons sur "Données" et ajoutons un bloc "Mettre vie à (...)", en modifiant la valeur par 3:



De cette manière, nous disons au jeu que lorsque nous commençons une nouvelle partie, le crabe se voit attribué trois vies, ou plutôt que la variable "vie" est à la valeur 3 au démarrage.

Puis dans "Contrôles", ajoutons "Attendre jusqu'à (...)":



Ce bloc permet de créer une condition un peu particulière, qui consiste à laisser un évènement en attente jusqu'à ce qu'il se produise et donc entraîne un autre évènement.
Par exemple, dans Super Mario bros., cela consisterai à dire:

- Attendre jusqu'à ce que Mario touche un champignon
- Augmenter la taille du sprite de Mario

Allons faire un tour dans la famille des capteurs et ajoutons le bloc "(...) touché?" dans le losange du bloc "Attendre jusqu'à" et choisissons "oursin":



Retournons dans "Données" et plaçons un autre bloc "Mettre vie à (...)", en changeant le champ par la valeur 2:



Autrement dit, quand le jeu démarre, la vie est à 3, mais si le crabe touche l'oursin, la vie passe à 2.

Allons maintenant dans "Évènements" et ajoutons un bloc "Envoyer à tous (...)" comme indiqué:



Cliquons sur la petite flèche noire et choisissons "nouveau message":



Enfin, dans le champ de la petite fenêtre, inscrivons "coeurcache1":



Dans le lutin de crabe, cliquons sur l'onglet "costume" puis sur le dossier pour importer de nouveaux éléments:



Ajoutons les deux sprites de crabe qui ont été téléchargés en début de ce tuto et renommons-les "crabe touche 1" et "crabe touche 2":



Note: il est très probable que vous rencontriez le(s) fameux bug(s), auquel cas reportez vous au début de ce tuto pour savoir comment les résoudre.

Maintenant, en jonglant entre les familles de scripts "Apparence" et "Contrôles", ajoutez les blocs suivant en faisant attention à mettre les bonnes valeurs:



Ainsi, quand le crabe sera touché par l'oursin, ceci entraînera une petite animation donnant l'impression que le crabe sera temporairement KO. Par ailleurs, nous tricherons avec l'oursin,mais je vous expliquerai ça plus loin.

Ensuite, ajoutons un dernier bloc "Envoyer à tous (...)", que nous renommons "coeurtouche2":



En restant dans le lutin du crabe, créons une nouvelle série de scripts comme indiqué ci-dessous, en modifiant les champs de valeur comme indiqué:



Enfin, ajoutons une nouvelle série de scripts comme sur cette capture, toujours en prenant soin de modifier les valeurs tel que sur la capture:



Une fois fait, allons dans le lutin "cœur 1". Dans l'onglet script, allons dans "Évènements" et glissons-déposons "Quand je reçois (...", en mettant "coeurcache1":



Allons dans "Apparence" et ajoutons le bloc "Cacher":



Ceci signifie que lorsque le crabe touche l'oursin dans le premier ensemble de scripts qui comporte la notion de vie, celui-ci envoie "coeurcache1" à tous les lutins, donc à celui de "coeur1". Et quand ce dernier le reçoit, son sprite est caché.
Il ne vous reste plus qu'à appliquer cette méthode aux deux autres cœurs, en attribuant les valeurs "coeurcache2" et "coeurcache3" aux bons lutins.

Dernière chose: depuis n'importe quel lutin, allez dans l'onglet "scripts" puis dans données et, pour terminer ce tuto, décochez la case vie comme suit:



Ainsi, nous n'affichons pas les données de vie par le biais du compteur de base fournit dans Scratch, mais nous conservons ses données et les représentons par l'affichage et la disparition des cœurs à droite de l'écran.

Félicitations, vous avez bien bossé!
Et à moins que vous n'ayez rencontré quelques soucis et/ou que je n'ai pas été très clair, le résultat obtenu doit être identique à ceci:




La semaine prochaine, nous aborderons les points suivants:

- Ajouter un écran titre
- Ajouter un écran de game over
- Ajouter une musique et des bruitages
- Ajouter une animation dans le décor

Et comme toujours, si il y a un truc qui n'est pas clair, merci de me l'indiquer pour que je puisse améliorer le truc.

---------------------

Pour ceux qui le souhaitent, et sous réserve que vous ayez terminé ce tuto, voici quelques exercices complémentaires:

- Ajouter le système de score à la banane et à la cerise
- Ajouter le système de vie au deuxième oursin
_________________

"Il n'est pas de lutte plus violente et déterminée que celle d'un homme face à son envie d'aller aux toilettes" - Karate Boy


chatpopeye
Camarade grospixelien


Joue à Dark Souls III

Inscrit : Jan 19, 2003
Messages : 5394
De : Poitiers

Hors ligne
Posté le: 2014-02-10 20:37
Alors, tout allait bien jusqu'à cette partie...

Citation :
Le 2014-02-09 22:40, Odysseus a écrit :

Allons faire un tour dans la famille des capteurs et ajoutons le bloc "(...) touché?" dans le losange du bloc "Attendre jusqu'à" et choisissons "oursin":






Je n'ai pas "oursin" dans le menu déroulant.
Bon, je vais remonter assez loin et réessayer.


Index du Forum » » Groblogs » » Groblog Odysseus: faites vos jeux!

196 messages • page
1234 ... 10




Version de base : phpBB (© 2001 The phpBB Group)
Modifié pour www.grospixels.com (© 2011 Grospixels)