Aide - Recherche - Membres - Calendrier
Version complète : Tilt+Pan en simultané
Centre de Formation Flash - Forums Adobe Flash > Rich media et intégration > Intégration 3D > Sandy
myster ty
Bonjour,

Je suis toujours avec mon cube et j'essaye de faire en sorte que la face "front" (qui a une texture différente) suive la souris.

pour cela j'utilise cette fonction :

Action Script

//fonction pour faire que la boite regarde la souris
private function regarde(pObjet:Shape3D):void
{
pObjet.pan = Math.cos(mouseX * Math.PI / sWidth) * 70;
pObjet.tilt = Math.cos(mouseY * Math.PI / sHeight) * 70;
}


indépendamment, les lignes pan et tilt fonctionnent exactement comme je veux, mais si il y a les deux en même temps, ça produit un effet bizarre, comme si je modifiais également l'attribut roll, du coup mon cube peut même faire demi-tour alors que je ne le veux surtout pas...

quelqu'un aurait-il une solution ?

merci d'avance icon_smile.gif
pierce
Hello,
Je ne suis pas sure mais tu peut essayer avec la méthode clear()
Citation
clear():void
Clears the graphics object of this object's container.


avec quelque chose comme :

Action Script


pObjet.aPolygons[0].clear();


Apres il faudrait savoir quelle face il faut changer ( là c 'est 0 pour l'exemple)

Si ca peut t'aider wink.gif
myster ty
ha non désolé, je dois m'être mal exprimé.

en fait, je désire que mon cube "regarde" la souris en s'orientant vers elle.

crée un cube et applique lui ma fonction en masquant une des deux lignes, tu comprendras mon problème icon_wink.gif
kiroukou
Tu dois pouvoir utiliser la méthode lookAt depuis ton cube pour réaliser ceci.

Autrement, peux tu utiliser la version du SVN, trunk (demande moi si tune trouves pas l'URL) pour vérifier si nos corrections récentes sur ce point aident?
myster ty
bonjour,

pour info, avec lookAt, ça marche nikel (je savais pas que ça existait sur les objet icon_redface.gif ).

Par contre, tu m'intrigues avec ce que tu as dis dans la suite de ton message. Je ne sais pas ce qu'est le "SVN" ni ce qu'est trunk, et la rapide recherche que j'ai effectué ne m'a pas éclairé...

J'ai le temps pour "verrifier vos corrections", mais en effet, j'ai pas trouvé l'url (je sais pas trop où chercher) et une rapide explication me serait nécessaire.

bref, dis moi où c'est et ce que j'ai à faire, et je te tiendrais au courant de ce que ça donne.

dans tous les cas, merci pour ton aide gourou.gif

PS: voici le code qui fonctionne avec lookAt :

Action Script

/* fonction pour faire que la boite regarde la souris */
private function regarde(pObjet:Shape3D):void
{
pObjet.lookAt(Math.cos(mouseX * Math.PI / sWidth), -Math.cos(mouseY * Math.PI / sHeight), 1);
trace(Math.cos(mouseX * Math.PI / sWidth) + " " + Math.cos(mouseY * Math.PI));
/* pObjet.pan = Math.cos(mouseX * Math.PI / sWidth) * 70;
pObjet.tilt = Math.cos(mouseY * Math.PI / sHeight) * 70; */
}
kiroukou
Super pour le lookAt.

Pour le trunk et SVN, plus d'infos ici: http://www.flashsandy.org/developers/repository
Visible ici:http://code.google.com/p/sandy/source/browse/trunk/sandy/as3/trunk/src/

Voilà smile.gif
myster ty
Citation (kiroukou @ Oct 9 2008, 03:36 PM) *
Super pour le lookAt.

Pour le trunk et SVN, plus d'infos ici: http://www.flashsandy.org/developers/repository
Visible ici:http://code.google.com/p/sandy/source/browse/trunk/sandy/as3/trunk/src/

Voilà smile.gif


ok, je regarde, je te tiens au courant lundi wink.gif
myster ty
crénon !!!!!!!!!!!!!!!!!!!! icon_evil.gif

ça marche plus si je déplace l'objet !!!!!!!!!

si je fais "monCube.x += 5", il tourne définitivement la tête à droite, si je fais -=5, il tourne la tête à gauche !!!

pourquoi les coordonnées x/y/z modifient-t-elles le lookAt !!!!!

PS: mais ça marche avec pan, sauf qu'avec pan/tilt, j'ai toujours le meme problème... je vais voir ton SVN et trunk. bandit.gif
myster ty
rah, j'suis maudit !!!
le svn est bloqué au boulot icon_cry.gif
kiroukou
smile.gif Dommage c'est clair.

Pour le lookAt, il faut peut etre que tu modifies la position que ton cube doit regarder lorsqu'il se déplace. Le lookAt correspond à un point qu'il regarde, donc si tu le déplace, il va s'orienter pour continuer de regarder le point spécifié.

Pour simplifier tout ça, tu peux jouer sur les TransformGroup etc.
myster ty
en effet, j'ai modifié les coordonée du point en lui indiquant un point plus loin derrière la caméra (1000, 1000, 1000); et en modifiant légèrement au jogé en fonction du déplacement, soit :

Action Script

private function regarde(pObjet:Box):void
{
pObjet.lookAt(Math.cos(mouseX * Math.PI / sWidth)*10000+pObjet.x*110,
-Math.cos(mouseY * Math.PI / sHeight) * 10000+pObjet.y*110,
10000);
}


bon, c'est pas très joli comme code (j'aime pas utiliser des nombres arbitraires comme ça icon_neutral.gif ) mais ça fonctionne bien icon_wink.gif

bon, je verrai chez moi si j'ai du temps pour le SVN mais je promet rien...

dans tous les cas merci pour ton aide et

félicitation pour Sandy, je la trouve carrément mieux que PaperVision ! gourou.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.