Pense à cliquer sur
Pense à cliquer sur
Ben non vu que je vais avoir plein d'autres questions. Je vais pas créer un nouveau sujet à chaque fois si?
Sinon, il faudrai renomer le topic, j'ai essayé mais ça marche po!
Si les nouvelles questions n'ont aucun rapport ça n'a aucun intérêt de les regrouper dans une même discussion (quelle importance que ce soit toi ou un autre qui la pose ?).Ben non vu que je vais avoir plein d'autres questions. Je vais pas créer un nouveau sujet à chaque fois si?
Si par contre ça a un rapport tu peux retirer la mention et continuer la discussion.
Il faut éditer le premier message.Sinon, il faudrai renomer le topic, j'ai essayé mais ça marche po!
Me revoilà!!!!
J'ai édité le titre du premier message mais il n'a pas changé
Sinon, j'ai un souçi. J'affiche 2 cubes. Jusque là, tout va bien! Le truc c'est pour les faire bouger avec la souris. Quand j'en dessine 1 seul, j'arrive bien à le faire tourner mais qd il y a les 2, impossible. En fait j'essaye de prendre en main les matrices. Le but final c'est de pouvoir me promener avec le clavier et la souris dans ces cubes (qui vont représenter des murs).
Voici les évenements de la souris:
Ensuite la fonction de rendu:
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 private void Game_MouseDown(object sender, MouseEventArgs e) { mouseX = e.X; mouseY = e.Y; } private void Game_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { RotationMatrices((float)(e.Y - mouseY), (float)(e.X - mouseX) , 0); mouseX = e.X; mouseY = e.Y; } }
Et enfin, les fonctions matricielles:
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 protected void Render() { // Efface le z-buffer également. Important ! device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.Bisque, 1.0F, 0); device.BeginScene(); //SetupMatrices(); SetupLights(); SetupMaterials(); device.SetStreamSource(0, vertices, 0); device.DrawPrimitives(PrimitiveType.TriangleList, 0, 12); device.Transform.World = Matrix.Identity; RotationMatrices(0, 90, 0); TranslationMatrices(3.2F, 0, 2.8F); device.DrawPrimitives(PrimitiveType.TriangleList, 12, 12); device.Transform.World = Matrix.Identity; device.EndScene(); device.Present(); }
Si quelqu'un pouvait m'expliquer ce qui ne va pas!
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 public void RotationMatrices(float x, float y, float z) { device.Transform.World = Matrix.Multiply(device.Transform.World, Matrix.RotationX((float)(x * Math.PI / 180))); device.Transform.World = Matrix.Multiply(device.Transform.World, Matrix.RotationY((float)(y * Math.PI / 180))); device.Transform.World = Matrix.Multiply(device.Transform.World, Matrix.RotationZ((float)(z * Math.PI / 180))); } public void TranslationMatrices(float x, float y, float z) { device.Transform.World = Matrix.Multiply(device.Transform.World, Matrix.Translation(x, y, z)); } public void ScaleMatrices(float x, float y, float z) { device.Transform.World = Matrix.Multiply(device.Transform.World, Matrix.Scaling(x / 100, y / 100, z / 100)); }
Sert toi de la matrice View pour te déplacer...
Je te conseille vivement de lire la doc du SDK (tout au moins la partie DirectX Graphics - Programming Guide) et de chercher des tutos... (par exemple http://mathinfo.univ-reims.fr/image/...ours&menu=base
Ainsi tu auras une bonne vision de ce dont est capable DX et tu avanceras beaucoup plus vite.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager