ArkaLouReeD - Le légendaire casse briques
Bonsoir,
suite à différentes conversations, il se trouve que les GIF animés ne fonctionnent pas sur toutes les versions d'Excel.
C'est pourquoi j'ai travaillé sur le Crop (merci waard !) des objets Pictures qui permet de gérer l'affichage d'une partie d'une image dans un objet Picture.
Le fichier joint montre les 6 Monstres en mouvement, les capsules (7) en rotation lors de leur chute, une brique qui fait des aller/retours (version 2 d'Arkanoïd) , une porte qui s'ouvre avec le vortex de changement de niveau, un vortex seul et une porte supérieure qui libérera plus tard les différents monstres.
Actuellement tout semble fluide, enfin sur ma machine avec Excel 365. Qu'en est-il de votre côté ?
Il y a en cours de travail, les briques grises et or qui normalement ont un effet de surbrillance quand la balle tape dessus. On voit bien l'image avec les différente séquence de l'animation. J'ai mis également une image d'animation de monstre : celle du cône.
Edit : j'ai ajouté une animation de la raquette avec la variation de ses différentes formes et du clignotement de ses lumières ! Maintenant il me faut trouver "l'astuce" afin de gérer toutes ces animations dans "une seule boucle" de jeu !
Edit 2 : pas de téléchargement ! J'en profite pour modifier le fichier : la raquette bouge, change de forme, apparait et explose. Les 6 monstres son animés et se déplacent, les 7 capsules descendent à des vitesse différentes et le Sprite est animé, une brique joue les "tapis roulant", je n'ai pas remis les ouvertures de portes et vortex mais le principe sera le même ! Nous voilà donc avec des animations sans gif ce qui devrait tourner sur l'ensemble des versions d'Excel. En plus de tout ceci j'ai ajouté des images de brique : 15 colonnes sur 15 lignes afin d'alourdir l'affichage...
Un petit compteur sur le Timer afin de voir la différence entre la théorie des 24 images secondes et le calcul "réel" : avec une boucle de 300 itérations et une tempo de jouabilité de 0.0416 secondes on devrait être à 12,48 secondes, qu'en est il chez vous ?
Le fichier modifié : Supprimé par LouReeD (merci à celui qui l'a téléchargé !
et les différentes images de raquette à mettre dans le même dossier : Supprimées par LouReeD
Voyez également l'animation de la raquette avec ses feux de position qui clignotent !
@ bientôt
LouReeD
Bonsoir,
merci à celui qui a téléchargé le fichier précèdent !
Je vous propose un nouveau fichier. Que présente il ?
l'animation de trois monstres dont un qui va exploser.
l'animation d'une capsule.
l'animation des portes de changement de niveau.
l'animation des portes du haut d'où arriveront les monstres.
l'animation d'une brique en translation.
l'animation de la raquette avec les différentes transformation : arrivée, standard, élargie, laser, explosion. Cette dernière est dirigeable "à la souris" en déplaçant le pointeur sur le bas du tableau. Le fichier est à l'ouverture en plein écran.
Il me reste à gérer l'animation des "laser" et celui de la (des) balle(s), ainsi que la destruction des briques. Le réglage de la taille des différents objets.
Comme vous pouvez le voir j'ai "simplifié" les images au niveau de la raquette : une pour les différentes "petites" et une pour la "grande", deux shapes qui seront visibles ou invisible en fonction de la raquette en jeu.
Le fichier : supprimé par LouReeD
Les images : supprimées par LouReeD
Merci de me signaler si les animations "rames" chez vous, enfin je parle de celui qui peut le télécharger...
@ bientôt
LouReeD
Bonsoir à tous
Ci dessous une version "autonome" qui embarque un minimum d'images afin de ne pas avoir à en télécharger. Celle-ci devrait être compatible avec des versions Excel inférieure vu qu'il n'y a plus de GIF animés, tout est géré par du rognage d'image dans des shapes et des SheetSprite.
Cette version est améliorée avec la mise en place d'API Windows pour la gestion du déplacement de la raquette et le clic gauche pour tirer avec les laser.
Seul la collision laser/brique est géré pour le moment, mais il y a le rebond de la balle sur les murs (ainsi que celui du bas pour ne pas perdre !) avec la raquette, les trois monstres qui finissent par exploser, une capsule bonus (sans réaction), la porte de changement de niveau, les portes pour l'entrée des monstres (pas de lien entre elles et les monstres pour le moment) la multiplication de la balle pour simuler un bonus "division" et bien sûr les différentes animation de la raquette.
Reste la collision balle avec monstres et briques, collision entre raquette avec capsule bonus et monstres et l'ensemble des "rebonds" seront gérés.
Le fichier :
Si celui (ceux ?) qui télécharge(ent) pouvait(aient) me retourner l'information de fluidité.
@ bientôt
LouReeD
Bonsoir,
je m'excuse auprès de celui qui a téléchargé "le jeu", en effet j'ai zappé la création des laser qui demande un accès disque pour récupérer l'image !
du coup plantage mais avec un curseur souris invisible !
Vraiment désolé !
je vais travailler pour résoudre ce point et mettre une gestion d'erreur qui permettra de remettre visible le curseur de souris.
@ bientôt
LouReeD
- Messages
- 3'574
- Excel
- 2013, 2019, 365
- Inscrit
- 11.04.2020
- Emploi
- Formateur bureautique
Hello!
Yes, c'est moi le téléchargeur anonyme.
La version d'avant, il fallait télécharger les images, c'était pas top.
La dernière j'ai effectivement été emmerdé avec le curseur invisible 😉.
Mais c'était super fluide. Sur office 365 et avec un bon ordi.
Bonjour Twenty-one !
Je me doutais que c'était vous !
Il me faut faire une archive mais pas sur que ce soit accepté.
Entre temps j'ai fait laser contre brique, laser contre monstre, balle contre monstre(mais là j'ai des saut d'animation...) il me reste le plus dur : balle contre brique.
Après la gestion des points, des niveaux à construire etc ne devraient pas poser de problème. Je commence à en voir le bout !
Mais je trouve que j'ai bien fait "d'attendre" ce qui m'a permis d'avoir de jolies animations pour les monstres & cies plutôt que les gif animés !
Au début j'ai eu peur qu'il y ait trop de chose mais en fait ça va, j'ai fait le test avec 81 balles et ca "passe" encore !
Pour la collision avec les briques je vais peut être simplifier par rapport à l'ancien fichier que vous avez pu tester, je vais voir.
Ensuite j'ai voulu aller plus loin que l'original, mais je vais m'y tenir : par exemple les laser vont par deux, mais sur l'original si l'un touche alors l'autre disparaît aussi, sur l'original il n'y a qu'un bonus à la fois, il n'y a qu'une porte de niveau il n'y a qu'une fois le multiplier par trois pour les balles et pas de bonus pendant ce temps...
Ou bien je fait un menu "original" et un menu "customisé"
Merci pour votre retour, un c'est mieux que zéro !
@ bientôt
LouReeD
Bonjour
Sinon en l'état il fonctionne bien mais il ne faut pas cliquer gauche avec la souris afin de ne pas lancer de laser...
@ bientôt
LouReeD
Bonjour
Mon idée de simplification pour la collision de la balle avec les briques : en fonction de la direction du la balle, je divise la brique en deux par la diagonale "équivalente" de la trajectoire :
Si la balle va vers le haut et la droite alors je coupe la brique avec sa diagonale qui va du point inferieur gauche au point superieur droit, ensuite je teste si le centre de la balle fait parti de l'un ou l'autre des triangles, si c'est celui du "dessous" rebond en Y on a toucher sur la face inferieure, si c'est l'autre rebond en X, s'il est sur les deux alors c'est la ligne de coupe, rebond en Y et en X.
Faut que j'y retourne !
@ bientôt
LouReeD
Bonsoir,
Avoir une idée c'est bien, la mettre en pratique c'est mieux !
Après quelques recherches et modifications de code j'ai trouvé !
Un petit graphique vaut mieux qu'un long discours avec en bleu la position actuelle de la balle, en vert sa futur position celle ci déclenche le test de collision du fait que son centre se trouve sur une brique :

pour l'exemple je prend une trajectoire qui va vers le haut à droite, les briques ne peuvent donc être touchées que par le dessous ou bien le côté gauche.
Si le centre de la balle se trouve sur une brique, je teste si ce point se trouve dans le triangle repéré par les points oranges, points dont je connais les coordonnées (avec B le shape de la brique en question) :
p1(B.Left, B.Top + B.Height)
p2(B.Left + B.Width, B.Top)
p3(B.Left + B.Width, B.Top + B.Height)
Donc si le centre de la balle se trouve dans ce triangle on tape "plus" sur le dessous de la brique alors on rebondi en "Y" du haut on ira vers le bas.
Si on est en dehors de ce triangle c'est qu'on tape "plus" sur la gauche de la brique alors on rebondi en X de la droite on ira vers la gauche.
Si le centre se trouve sur la diagonale, décision est prise de faire un rebond en X et en Y, à voir avec les tests si c'est cohérant sinon vu la configuration du jeu en "portrait" une préférence pour le rebond en Y sera choisi.
J'ai trouvé sur http://fordom.free.fr/ une fonction "Un point fait il parti de la surface d'un triangle".
@ bientôt
LouReeD