Pages: 1
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 ?
Hors ligne
"!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
Hors ligne
j'écrit une partie plus importante de mon programme peut être cela aidera à y voir plus claire
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
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
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
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
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
Dernière modification par N10 (21-01-2007 19:42:45)
Hors ligne
Pages: 1