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

Tkinter Python Discussion :

Collisions avec un objet en mouvement


Sujet :

Tkinter Python

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 10
    Par défaut Collisions avec un objet en mouvement
    Bonjour à tous, je débute sur python et voici un essai de ce que j'ai fais, le problème c'est que je voudrais que la balle noire réagisse quand elle touche les barres du milieu pour passer d'un coté ou de l'autre de l'écran, comme quand elle touche l'une des limites du caneva

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    from tkinter import *
    import tkinter as Tk
    from math import sin, cos
     
    def move():
     
        global x, y, flag, dx, dy, vx, ms
     
        if x > 1275 or x < 30 :
     
            dx = -dx
            vx = -vx
        x += dx
        x += vx
     
        if y > 580 or y < 30:
            dy = -dy
        y += dy
     
        can.coords(ball, x-10, y-10, x+10, y+10)
        if flag > 0:
            fen.after(ms, move)
     
     
    def start():
        global flag, ms
     
        flag += 1
     
        if flag == 1:
            ms = 6
            move()
     
     
    def Mouvement_curseur(event):
        X = event.x # détecte la position de la souris en x 
        Y = event.y # détecte la position de la souris en x 
     
        title = "Dispatch Ball, Positions du curseur de la souris X = %d  Y = %d" % (X, Y)
        fen.title(title)
     
     
    # limite des carrées dans la zone de jeu
        if Y<60: # l'ordonnée de la barre ne peut aller à moins de 60 
            Y=60 # lorsque y de la souris atteint moins de 60 alors l'ordonnée de la barre stagne à 60
        if Y>540: # l'ordonnée de la barre ne peut aller à plus de 540
            Y=540 # lorsque y de la souris atteint plus de 640 alors l'ordonnée de la barre stagne à 540
     
     
     
     
    # mise à jour de la position de l'objet
        can.coords(carre_noir_bas,640,Y+50,660,590)
        can.coords(carre_noir_haut,640,11,660,Y-50)
     
    flag = 0
    x, y = 500, 300
    dx, dy = 2, 2
    vx=cos(45)
     
    # carré bas du milieu #
     
    xnoir_bas_gauche = 640
    ynoir_bas_gauche = 408
    xnoir_bas_droite = 660
    ynoir_bas_droite = 590
     
    # carré haut du milieu #
     
    xnoir_haut_gauche = 640
    ynoir_haut_gauche = 11
    xnoir_haut_droite = 660
    ynoir_haut_droite = 272
     
    #titre fenêtre
     
    fen = Tk.Tk()
    fen.title(" Dispatch Ball ")
     
    Largeur = 1300
    Hauteur = 600
    can = Tk.Canvas(fen, bg= "white", width= Largeur, height= Hauteur)
    can.grid(row= 3, column= 0)
     
    ball = can.create_oval(x-10, y-10, x+10, y+10, outline= "black", fill= "black")
     
    carre_noir_bas = can.create_rectangle(640, 408, 660, 590, outline= "maroon", width = 2, fill= 'gray')
    carre_noir_haut = can.create_rectangle(640, 10, 660, 272, outline= "maroon", width = 2, fill= 'gray')
     
    #Liaison entre événement et fonction
    can.bind('<Motion>', Mouvement_curseur) # Motion correspond à la detection instantané de la position de la souris
     
    # Création du bouton "Débuter la Partie":
    bouton=Button(fen, text= "Débuter la Partie", command= start).grid(row= 0, column= 0)
     
     
    fen.mainloop()
    si le code n'est pas très clair dites le moi c'est vrai que je n'ai pas mis beaucoup d'information dessus

    je pense que le problème viens du fait que j'ai définit les positions y des barres par des valeurs et que je l'ai définit aussi par : la position de la souris +/- 50

    Merci d'avance

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Vous ne contrôlez pas les mouvements déclenches par l'utilisateur.
    Par contre, vous contrôlez ceux de la balle.
    Pourquoi ne pas essayer de détecter la collision dans le "move" de la balle?

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 10
    Par défaut
    Oui c'est vrai mais j'y ais déjà pensé voilà ce que ça donne (désolé pour la longueur de la ligne de code)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        if x > 1275 or x < 30 or (ynoir_haut_gauche<y-10<ynoir_haut_droite and xnoir_haut_gauche<x-10<xnoir_haut_droite) or (ynoir_haut_gauche<y+10<ynoir_haut_droite and xnoir_haut_gauche<x+10<xnoir_haut_droite) or (ynoir_bas_gauche<y-10<ynoir_bas_droite and xnoir_bas_gauche<x-10<xnoir_bas_droite) or (ynoir_bas_gauche<y+10<ynoir_bas_droite and xnoir_bas_gauche<x+10<xnoir_bas_droite):
    en fait on annonce les "endroits" où la balle ne doit pas aller sauf que ynoir_haut_droite et ynoir_bas_gauche change en fonction des mouvements de la souris donc comment je peux dire ça parce que si je change les 2 valeurs cités plus haut par Y+50 et Y-50, python m'affiche ce message d'erreur "unsupported operand type(s) for -: 'str' and 'int' "

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Bonne question!
    Mais si vous ne montrez pas le code complet, on pourrait "conjecturer" sur tout et n'importe quoi sans mettre le doigt sur le piège dans lequel vous vous êtes fourré.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 10
    Par défaut
    Bonjour,
    Voici le code complet

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    from tkinter import *
    import tkinter as Tk
     
    from math import sin, cos
     
    def move():
     
        global x, y, flag, dx, dy, vx, ms
     
        if x > 1275 or x < 30 or (ynoir_haut_gauche<y-10<ynoir_haut_droite and xnoir_haut_gauche<x-10<xnoir_haut_droite) or (ynoir_haut_gauche<y+10<ynoir_haut_droite and xnoir_haut_gauche<x+10<xnoir_haut_droite) or (ynoir_bas_gauche<y-10<ynoir_bas_droite and xnoir_bas_gauche<x-10<xnoir_bas_droite) or (ynoir_bas_gauche<y+10<ynoir_bas_droite and xnoir_bas_gauche<x+10<xnoir_bas_droite):
     
     
            dx = -dx
            vx = -vx
        x += dx
        x += vx
     
        if y > 580 or y < 30:
            dy = -dy
        y += dy
     
        can.coords(ball, x-10, y-10, x+10, y+10)
        if flag > 0:
            fen.after(ms, move)
     
     
    def start():
        global flag, ms
     
        flag += 1
     
        if flag == 1:
            ms = 6
            move()
     
     
    def Mouvement_curseur(event):
        X = event.x # détecte la position de la souris en x 
        Y = event.y # détecte la position de la souris en x 
     
        title = "Dispatch Ball, Positions du curseur de la souris X = %d  Y = %d" % (X, Y)
        fen.title(title)
     
     
    # limite des carrées dans la zone de jeu
        if Y<60: # l'ordonnée de la barre ne peut aller à moins de 60 
            Y=60 # lorsque y de la souris atteint moins de 60 alors l'ordonnée de la barre stagne à 60
        if Y>540: # l'ordonnée de la barre ne peut aller à plus de 540
            Y=540 # lorsque y de la souris atteint plus de 640 alors l'ordonnée de la barre stagne à 540
     
     
     
     
    # mise à jour de la position de l'objet
        can.coords(carre_noir_bas,640,Y+50,660,590)
        can.coords(carre_noir_haut,640,11,660,Y-50)
     
    flag = 0
    x, y = 500, 300
    dx, dy = 2, 2
    vx=cos(45)
     
    # carré bas du milieu #
     
    xnoir_bas_gauche = 640
    ynoir_bas_gauche = 408
    xnoir_bas_droite = 660
    ynoir_bas_droite = 590
     
    # carré haut du milieu #
     
    xnoir_haut_gauche = 640
    ynoir_haut_gauche = 11
    xnoir_haut_droite = 660
    ynoir_haut_droite = 272
     
    #titre fenêtre
     
    fen = Tk.Tk()
    fen.title(" Dispatch Ball ")
     
    Largeur = 1300
    Hauteur = 600
    can = Tk.Canvas(fen, bg= "white", width= Largeur, height= Hauteur)
    can.grid(row= 3, column= 0)
     
    ball = can.create_oval(x-10, y-10, x+10, y+10, outline= "black", fill= "black")
     
    carre_noir_bas = can.create_rectangle(640, 408, 660, 590, outline= "maroon", width = 2, fill= 'gray')
    carre_noir_haut = can.create_rectangle(640, 10, 660, 272, outline= "maroon", width = 2, fill= 'gray')
     
    #Liaison entre événement et fonction
    can.bind('<Motion>', Mouvement_curseur) # Motion correspond à la detection instantané de la position de la souris
     
    # Création du bouton "Débuter la Partie":
    bouton=Button(fen, text= "Débuter la Partie", command= start).grid(row= 0, column= 0)
     
     
    fen.mainloop()
    mais ici la balle réagit avec les coordonnées suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # carré bas du milieu #
     
    xnoir_bas_gauche = 640
    ynoir_bas_gauche = 408 # élément du rectangle du bas en mouvement (= Y+50)
    xnoir_bas_droite = 660
    ynoir_bas_droite = 590
     
    # carré haut du milieu #
     
    xnoir_haut_gauche = 640
    ynoir_haut_gauche = 11
    xnoir_haut_droite = 660  
    ynoir_haut_droite = 272 # élément du rectangle du haut en mouvement (= Y-50)

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,
    Le code que vous avez posté "fonctionne": si je lance le truc, je ne tombe pas dans l'erreur que vous avez mentionné tantôt.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 10
    Par défaut
    Il me semble qu'il y a un malentendu, le code fonctionne également pour moi aussi sauf que la balle ne réagit pas avec les 2 barres, lorsque l'on place l'espace entre les 2 barres à porté de la balle cette dernière devrait passer dans la partie droite du terrain et inversement si elle se place à droite et que je décide qu'elle doit passer dans la partie de gauche.

    Je voudrais que la balle réagisse avec la "brèche" formée par l'espacement des 2 barres pour passer d'un côté ou de l'autre de la zone de jeu.

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par xoux28 Voir le message
    Je voudrais que la balle réagisse avec la "brèche" formée par l'espacement des 2 barres pour passer d'un côté ou de l'autre de la zone de jeu.
    Vous voulez que la balle passe a travers le "trou" ou rebondisse sur la "raquette"?

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 10
    Par défaut
    Je voudrais que la balle passe à travers le trou et qu'elle rebondisse sur les barres grises comme ceci : http://www.koreus.com/jeu/ballgame.html

  10. #10
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    A priori, un algo pourrait être "une balle rebondira sur une condition en X sauf si Y est dans l'intervalle [haut_y_min..bas_y_max]".
    Pour simplifier, vous pouvez intégrer le "rayon" dans la dimension des "bords".
    Je ne vois pas trop la difficulté pour coder ça en Python: vous vous dépatouillez pas mal avec les if et les conditions multiples.

    La ou vous allez être em... c'est pour faire bouger les 20 balles: vous allez sortir de la géométrie pour vous posez de vraies questions de programmation. Mais patience, vous n'en êtes pas encore arrive la.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  11. #11
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 10
    Par défaut
    Oui ça j'ai bien compris, le truc c'est que toute les idées que j'ai eu jusqu'ici n'ont pas fonctionné et je commence un peu à désespérer... Et ces conseils ne m'inspirent pas beaucoup non plus désolé

  12. #12
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par xoux28 Voir le message
    Oui ça j'ai bien compris, le truc c'est que toute les idées que j'ai eu jusqu'ici n'ont pas fonctionné et je commence un peu à désespérer... Et ces conseils ne m'inspirent pas beaucoup non plus désolé
    Si vous montriez ce que vous avez essaye de faire, on pourrait (moi ou d'autres) passer un peu de temps a comprendre et expliquer ce que vous avez loupé.
    Par contre n’espérez pas que je passe du temps a réfléchir/coder a votre place.
    Vous n'apprendriez rien et, en plus, vous auriez des difficultés a lire/comprendre le code.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  13. #13
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 10
    Par défaut
    Tout ce que j'ai essayé de faire on conduit à des erreurs et le jeu ne se lancé plus. Je ne cherche pas à vous demander d'écrire le code à ma place bien au contraire je cherche juste des pistes pour améliorer les collisions, je vous disais juste que vos conseils ne m'inspiraient pas beaucoup.

    Comme je l'ai mentionné plus haut je débute sur python, et je devrais présenter ce projet à la fin de l'année scolaire, il m'est donc impossible de trouver le temps d'apprendre le langage en entier. Je voudrais seulement savoir comment (dans ligne de code plus bas) je peux dire à la balle que les coordonnées de ynoir_haut_droite et ynoir_bas_gauche change en fonction des positions de la souris ? Est ce que je dois placer la ligne des collisions à un autre endroit du code comme dans la définition de "Mouvement_curseur" par exemple ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if x > 1275 or x < 30 or (ynoir_haut_gauche<y-10<ynoir_haut_droite and xnoir_haut_gauche<x-10<xnoir_haut_droite) or (ynoir_haut_gauche<y+10<ynoir_haut_droite and xnoir_haut_gauche<x+10<xnoir_haut_droite) or (ynoir_bas_gauche<y-10<ynoir_bas_droite and xnoir_bas_gauche<x-10<xnoir_bas_droite) or (ynoir_bas_gauche<y+10<ynoir_bas_droite and xnoir_bas_gauche<x+10<xnoir_bas_droite):

  14. #14
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Vous modifiez les dimensions des rectangles du milieu dans "Mouvement_curseur".
    Mais les variables ynoir_haut_droite et ynoir_bas_gauche ne sont pas mises a jour.
    "move" travaille sur les valeurs initiales...

    Pour les actualiser, ça se passe dans "Mouvement_curseur" et il suffit de déclarer ces variables en "global" pour pouvoir les mettre a jour.

    Est ce que cela suffira pour que ca fonctionne, j'en sais rien et je ne vais pas essayer.
    Mais "actualiser" les valeurs est un bon début.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  15. #15
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 10
    Par défaut
    D'accord donc d'après ce que je comprend je dois déclarer les variables ynoir_haut_droite et ynoir_bas_gauche avant def Mouvement_curseur pour ensuite les actualiser.

    Mais pourtant je pensais que dans Mouvement_curseur j'actualisais les valeurs de ynoir_haut_droite et ynoir_bas_gauche ce n'est pas le cas ?

    Il faudrait que j'informe python que ynoir_haut_droite = Y+50 et que ynoir_bas_gauche = Y-50 c'est cela ?

  16. #16
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Un ordinateur se fout pas mal de ce que vous pensez.
    Il se contente d’exécuter des instructions.
    Prenez le temps de lire le Swinnen.
    Les quelques heures que vous y passerez seront bien plus enrichissantes que celles passées a essayer de faire marcher votre code sans trop savoir ce que vous faites.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. [FLASH MX] Problème avec l'objet Date
    Par n_tony dans le forum Flash
    Réponses: 13
    Dernier message: 22/03/2005, 13h44
  2. Réponses: 4
    Dernier message: 25/09/2004, 09h58
  3. inclinaison d'un texte avec l'objet ID3DXFont v2
    Par tibyann dans le forum DirectX
    Réponses: 3
    Dernier message: 30/06/2004, 14h27
  4. inclinaison d'un texte avec l'objet ID3DXFont
    Par tibyann dans le forum DirectX
    Réponses: 8
    Dernier message: 21/06/2004, 16h00
  5. Animations avec différents objet
    Par Mathieu.J dans le forum OpenGL
    Réponses: 6
    Dernier message: 09/06/2004, 14h18

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