Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS3
AS3 Questions relatives à la programmation ActionScript 3 (Cours AS3)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/03/2011, 17h30   #1
Invité de passage
 
Homme
Inscription : mars 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mars 2011
Messages : 4
Points : 0
Points : 0
Par défaut Tetris avec demi hexagones

Bonjour à tous,

Je me tourne vers vous car je me trouve totalement désemparé...
Je dois concevoir une application Flash semblable à Tetris, mais où les pièces seraient des demi-hexagones... (tous de la même taille)
J'ai bien suivi pas mal de tuto et télechargé beaucoup de sources et j'ai réussi à comprendre les bases pour faire un Tetris.
Mais dés lors qu'on remplace les pièces formées de carrés par des pièces formées de triangles, pour moi ça devient très complexe... et là, j'ai du mal à m'en sortir pour détecter si une pièce en touche une autre, si elle peut tourner...

Si quelqu'un avait un peu de temps pour m'éclairer j'en serais très reconnaissant !
Images attachées
Type de fichier : jpg demiHexagone.jpg (23,2 Ko, 3 affichages)
psychozx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2011, 23h41   #2
Membre habitué
 
Développeur multimédia
Inscription : juin 2009
Messages : 128
Détails du profil
Informations professionnelles :
Activité : Développeur multimédia

Informations forums :
Inscription : juin 2009
Messages : 128
Points : 148
Points : 148
Vaste sujet...

Tu peux utilisé de trucs tout faire de détection de collision comme box2D, mais c'est un peut dur à prendre en main.

Si comme dans ton exemple les triangles sont isométriques, quelques soit le sens dans le quel on les retournes, il n'existe que 2 états.

L'autre solution serait donc d'abstraire ce que tu vois, et au lieu de considéré une ligne contenant successivement des triangles tête en haut tête en bas, tu démultiplie des lignes pour avoir un coup une ligne acceptant les tête en haut, un coup les ligne acceptant les tête en bas.
fazermokeur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/03/2011, 05h27   #3
Membre régulier
 
Avatar de SnowStyle
 
Homme
Développeur Web
Inscription : octobre 2005
Messages : 68
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2005
Messages : 68
Points : 73
Points : 73
Malheureusement il ne s'agit pas de triangles mais d'un demi-hexagone comme spécifié par l'auteur, même si sur l'image c'est un assemblage de triangles donc ça prête à confusion

Sinon techniquement même si la pièce est un demi-hexagone ça change rien, si tu es capable de le faire avec des carré, ça fonctionne pareil.
Je veux dire même si la forme des pièces est différente, ça reste une grille de cases.
Il y a juste un peu plus de vérifications pré-assemblage à faire.
Si c'est deux rectangles c'est plus simple, un carré du rectangle qui entre en collision bloque le déplacement.
Avec deux demi-hexagones il faut déterminer si les bords peuvent s'assembler en fonction des orientations des pièces.
SnowStyle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2011, 13h08   #4
Rédacteur
 
Avatar de The_Pretender
 
Homme Matthieu DELOISON
Formateur ActionScript Flash
Inscription : juin 2004
Messages : 645
Détails du profil
Informations personnelles :
Nom : Homme Matthieu DELOISON
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Formateur ActionScript Flash
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : juin 2004
Messages : 645
Points : 3 673
Points : 3 673
Bonjour,

Regarde ce tutoriel pour gérer les collisions.
__________________
Découvrez : Tutoriels, ressources AS2 et AS3
La Méthode AS3 Facile pour développer des applications et jeux Flash en ActionScript 3 : ActionScript-Facile.com
The_Pretender est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 08h55   #5
Membre du Club
 
Inscription : avril 2011
Messages : 58
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 58
Points : 56
Points : 56
SnowStyle :fazermokeur a raison c'est dix fois plus simple de traiter le problème en prenant les pièces comme 3 triangles liés.

Il n'y a pas besoin de détection de collision, pas vraiment. Il faut juste savoir si la place en dessous de chaque triangle est libre ou occupée.

Pour te simplifier le raisonnement travaille avec une grille carré où tu divise chaque carré par une diagonale.
Code :
1
2
3
4
5
6
7
8
9
10
 
---------------------------------------------
| \ | \ | \ | \ | \ | \ | \ | \ | \ | \ | \ |
---------------------------------------------
| \ | \ | \ | \ | \ | \ | \ | \ | \ | \ | \ |
---------------------------------------------
| \ | \ | \ | \ | \ | \ | \ | \ | \ | \ | \ |
---------------------------------------------
| \ | \ | \ | \ | \ | \ | \ | \ | \ | \ | \ |
---------------------------------------------
Tu as donc un tétris de base où chaque case est divisée en 2.

Il me plait bien ton projet. Tu fais ça dans quel cadre ? N'hésite pas à me MP si tu as besoin d'aide. Et pense à poster le truc fini surtout.
bokan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h36.


 
 
 
 
Partenaires

Hébergement Web