IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Collection de PictureBox, gestion de collision


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Par défaut Collection de PictureBox, gestion de collision
    Bonjour

    Un problème se pose sur mon projet de jeu en VB.NET. Mon jeu est un Block Breaker, que je dois présenter pour mercredi à mes oraux de BTS IG.

    Je dispose d'un formulaire avec plusieurs PictureBox, dont notamment des blocks pouvant être supprimer lorsque qu'une boule leur rentre dedans.

    Je dispose d'un code qui fonctionne pour gérer cette collision :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    'Collision case
            If Me.gameBall.Bounds.IntersectsWith(PictureBox3.Bounds) Then
                Me.GBPlayer.setLocation("y", -Me.GBPlayer.getLocation("y"))
                Me.GBPlayer.setLocation("x", -Me.GBPlayer.getLocation("x"))
                PictureBox3.Enabled = False
                PictureBox3.Visible = False
            End If
    Et je dispose d'une classe Block :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Imports System
     
    Public Class block
     
        Public myBlock As New PictureBox
        Private width As Integer = 20 'Largeur du bloc
        Private height As Integer = 20 'Hauteur du bloc
        Private backColor As Char
     
        'Constructeur d'instance
        Public Sub New(ByVal varWidth As Integer, ByVal varHeight As Integer, ByVal myBackColor As Char)
     
            width = varWidth
            height = varHeight
            backColor = myBackColor
     
        End Sub
     
        Public Sub setBackColor(ByVal color As System.Drawing.Color)
     
            myBlock.BackColor = color
     
        End Sub
     
    End Class
    La PictureBox3 est supprimée lorsque la balle lui rentre dedans, mis à part qu'elle ne disparaît pas totalement (mais je règlerais ce problème plus tard).
    Cependant, je vais pas répéter ce code plusieurs fois, je dois faire une boucle qui parcours une collection de Block.

    J'ai pas mal de difficultés à concevoir une collection de PictureBox et de pouvoir intégrer un parcours total de cette collection.

    Pouvez-vous me guider ?
    Je vous en remercie

  2. #2
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Citation Envoyé par Ysu89 Voir le message
    Dans l'urgence, (...) je dois présenter pour mercredi à mes oraux de BTS IG.
    Déjà sa commence mal

    Après je voulais te demander, combien exactement a tu de pictureBox ?
    comment les a tu crées?
    (j'aimerais vraiment avoir un screen de ton écran pour me donner un idée)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Par défaut
    Merci pour la réponse

    Oui j'ai un peu de retard mais j'ai quasi terminé :p

    Bref, j'ai 19 PictureBox que j'ai crée manuellement via l'interface. Je t'ai mis un screen en pièce jointe.

    J'ai fais quelques recherches et j'ai réussi à mettre en place ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Public Class block
     
        Public myBlock As New PictureBox
        Private myBlocks As New Collection()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Function myCollection()
     
            For i = 1 To 19
                myBlocks.Add(myBlock)
            Next
     
            Return (myBlocks)
     
        End Function
    Je bloque sur l'utilisation de la variable myBlock... je devrais p-ê générer les PictureBox automatiquement lors de l'ouverture de l'appli.

    Enfin si tu pouvais me guider sur le sujet, je serais soulagé
    Images attachées Images attachées  

  4. #4
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    je te conseil effectivement de créer tes pictureBox via le code

    j'ais fait un programme et j'ais eu a résoudre un problème un peut similaire
    *enfin quoique, un peut plus complexe *
    mais pour toi sa va etre facile, je te rassure

    je suis parti sur le principe suivant

    Créer les briques par code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'Pour toi sa serra 19 briques 
    Dim pictBriques (18) As PictureBox
    Ajouter les briques *exemple pour une*
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    'Définition de l'emplacement d'ajout de la briques
    pictBriques(0).Location = New System.Drawing.Point(PosX, PosY)
    'Ajout de la brique sur le formulaire
    Me.Controls.Add(pictBriques(0))
    Contrôler la superposition
    La je suis pas trés sur de savoir ce que tu veut ...
    *tu ajoute les boites alors je vois pas pk tu a besoin de surveiller si elles se superposent ...*
    je préférerais que tu m'aiguille dans ce que tu a vraiment besoin,
    parceque ma fonction fait 25 pages donc dit moi ce que tu veut plutôt

  5. #5
    Membre Expert Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 699
    Par défaut
    Citation Envoyé par hunteshiva Voir le message
    je te conseil effectivement de créer tes pictureBox via le code
    Il n'y a aucune difference entre la creation par design ou par code ...

  6. #6
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    l'utilisation des tableaux p-e .... et en avant les index
    (Boucle For, etc.)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion de collision simple.
    Par ThanosT dans le forum DirectX
    Réponses: 2
    Dernier message: 03/05/2006, 12h47
  2. Importer avec Ogre / Gestion des collisions
    Par alex6891 dans le forum Ogre
    Réponses: 9
    Dernier message: 19/02/2006, 17h43
  3. gestion de collisions delphi2005
    Par NotANumber dans le forum Langage
    Réponses: 2
    Dernier message: 16/10/2005, 20h01
  4. Gestion de collision et OpenGL
    Par kanux dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 08/01/2005, 21h07
  5. Gestion des collisions - terrains
    Par Dranor dans le forum DirectX
    Réponses: 1
    Dernier message: 26/06/2003, 18h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo