#0 

30-11-2006 19:31:01

N10
Membre
Date d'inscription: 27-10-2006
Messages: 46

Bonjours à tous cela fait un moment que je ne suis pas venu faire un saut sur le forum j'en profite pour y laisser un topic ^^

voila j'ai un probleme avec le mouvement de ma camera par rapport à mon pointeur de souris

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

public bool OnEvent2(Event p_e)
        {
            if (node != null && p_e.Type == EventType.MouseInput && !p_e.MousePos)
            {
                switch (p_e.MousePos)
                {
                    case MouseInputEvent.MouseMoved:             
                        {
                            vector3d r = node.Rotation;
                            r.X += p_e.Key == MouseInputEvent.MouseMoved ? 10.0f : -10.0f;
                            node.Rotation = r;
                        }
                        return true;               
                }
            }
            return false;

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

pb rencontré
1-opérateur "!" ne peut être appliqué à un opérande 'irrlicht.core.position2d'

si quelqu'un à une solution ? smile

Hors ligne


#1 

30-11-2006 19:51:15

DeusXL
Abonné
Lieu: Paris
Date d'inscription: 27-09-2006
Messages: 174

"!p_e.MousePos" est supposé vouloir dire quoi ?
Je n'ai pas relu tout le code mais déjà là je vois un bug, tu es en train de dire "Si p_e.MousePos est faux" ce qui ne veut strictement rien dire en fait wink


Fanatique d'Irrlicht + Fanatique de Mono + Fanatique de Linux => Créateur d'Irrlicht .NET CP bien sûr !
Version actuelle d'Irrlicht .NET CP : 0.8, Version en test : 0.9.

Hors ligne


#2 

01-12-2006 17:54:54

N10
Membre
Date d'inscription: 27-10-2006
Messages: 46

j'écrit une partie plus importante de mon programme peut être cela aidera à y voir plus claire smile

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
ICameraSceneNode node = null;
        IrrlichtDevice device = null;
        /// <summary>
        /// Point d'entrée principal de l'application.
        /// </summary>
        [STAThread]
        static void Main(string[] args)
        {
            Program prog = new Program();
            prog.run();
        }
        public bool OnEvent(Event p_e)
        {
            if (node != null && p_e.Type == EventType.KeyInput && !p_e.KeyControl)
            {
                switch (p_e.Key)
                {
                    case KeyCode.KEY_ESCAPE:
                        device.CloseDevice();
                        break;
                    case KeyCode.KEY_KEY_Z:
                    case KeyCode.KEY_KEY_S:                   
                        {
                            vector3d v = node.Position;
                            v.X += p_e.Key == KeyCode.KEY_KEY_Z ? 100.0f : -100.0f;                           
                            node.Position = v;
                        }                   
                        return true;
                    case KeyCode.KEY_KEY_Q:
                    case KeyCode.KEY_KEY_D:
                        {
                            vector3d v = node.Position;
                            v.Z += p_e.Key == KeyCode.KEY_KEY_Q ? 100.0f : -100.0f;
                            node.Position = v;
                        }
                        return true;
                }
            }
            return false;
        }
        public bool OnEvent2(Event p_e)
        {
            if (node != null && p_e.Type == EventType.MouseInput && !p_e.MousePos)
            {
                switch (p_e.MousePos)
                {
                    case MouseInputEvent.MouseMoved:             
                        {
                            vector3d r = node.Rotation;
                            r.X += p_e.Key == MouseInputEvent.MouseMoved ? 10.0f : -10.0f;
                            node.Rotation = r;
                        }
                        return true;               
                }
            }
            return false;
        }

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

en fait j'ai copié un peu sur le modèle des mouvements au clavier.

Hors ligne


#3 

01-12-2006 21:43:47

kedu
Modérateur
Date d'inscription: 23-09-2006
Messages: 155

Comme Deus te l'avait suggéré p_e.MousePos renvoit une position 2D (x,y) pas un booléen. Donc tester si une position == faux ; c'est pas l'top ^^

Hors ligne


#4 

10-12-2006 18:44:41

N10
Membre
Date d'inscription: 27-10-2006
Messages: 46

Voila après moultes éssaies rattés,je n'arrive toujours pas à mes fins alors je vous demande est-ce que quelqu'un connais un moyen avec une camera FPS.scene.node d'arrêté le fait que la camera saute sur place ou avance un tous petit peut quand on regarde vers le sol et que l'on appuit sur les flèche du haut ou du bas.
Le but de mes programme étai de retirer ce petit déffaut qui me fait horreur.Et comme je m'en sort pas avec mon remaniement de camera,pleaaaaaaaaaaase help :s

Est-ce que le fait de rajouter un moteur phisique comme newton peut m'aider ?

Dernière modification par N10 (10-12-2006 18:45:35)

Hors ligne


#5 

21-01-2007 19:42:18

N10
Membre
Date d'inscription: 27-10-2006
Messages: 46

Voila je vien de trouver la solution à mon pb il faut utiliser tous simplement le "Cam.Target" ("Cam" étant ma variable pour ma camera) avis aux amateurs smile

Dernière modification par N10 (21-01-2007 19:42:45)

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
882 membres
1429 sujets
11119 messages
Dernier membre inscrit: LiseBuisson96
36 invités en ligne
Aucun membre connecté
RSS Feed