Entraides et échanges autour de la technologie Scol - Informations and exchanges on the Scol technology
Vous pouvez changer la langue de l'interface une fois inscrit - You can change the language once registered
You are not logged in.
Pages: 1
Bonjour,
bon, au moins vous voyez que je l'utilise
Alors pour déplacer mon perso j'ai essayer une autre méthode en attendant la réponse. En fait je n'avait compris que le grand cadre blanc quand on double clic sur un lien entre 2 pIT était les paramètres de l'action. Une fois qu'on a compris ça, ça ouvre d'autres portes
Du coup j'ai donc ajouter un pIT object control avec les paramètres 0 0 -0,01 (pas très important).
On a donc sur la scène :
• un pIT input keyboard (arrowUP), on appellera UP1
• un pIT input keyboard (arrowUP), on appellera UP2
• un pIT animation
• un pIT object control
UP1, en no repeat, lance l'animation (la marche) en loop (on appuie, l'animation se joue, on relâche elle se stop)
UP2, en repeat, envoie les paramètres de position 0 0 -0,01 au personnage
Là où se trouve le problème :
l'animation se lance dès que la touche est abaissée, mais le déplacement, lui, ne commence qu'une seconde après
Merci.
Greg
Offline
essais plutot :
- input key down -> anim.play
-> object.control 0 0 0.1
- input key up -> anim.stop
-> object.control 0 0 0 pour stopper le déplacement
pour le temps de latence ce n'est pas impossible mais tout de même pas d'une seconde ^^
Offline
Je vais essayer, mais j'ai chronométré, c'est bien 1sec. Du coup je me suis dit qu'il devait y avoir un paramètre quelque par, car à ce point là ça ne peut pas être un lag, surtout qu'il est toujours d'une seconde
Offline
Bon, alors j'ai fait des tests, c'est pas fameux
Pour ce qui est du lien entre anim et control, je n'arrive pas à le faire fonctionner, je suppose que je fais clic droit sur anim->frame changed lien sur control etc... ça marche pas
Pour la latence, en fait ça ne le fait pas sur le premier déplacement, je m'explique.
Si on tape frénétiquement sur la touche, ça se passe très bien, ça réagit tout de suite. Par contre, si on reste appuyé, on voit bien un premier déplacement immédiat, mais en suite il faut attendre pour avoir le reste du déplacement ; comme dans word, si on reste appuyé sur une touche, le caractère est imprimé une fois, puis on a une pause avant de le voir s'imprimer en série le temps ou l'on reste appuyé sur la touche.
Last edited by Greg (29-Mar-2011 18:41:16)
Offline
yop
bon j'ai du mal expliquer :
- input key down -> anim.play
- input key down -> object.control 0 0 0.1
- input key up -> anim.stop
- input key up -> object.control 0 0 0 pour stopper le déplacement
avec un seul plugIT input keyboard et la case no repeat cochée
après encore une fois pour le clavier c'est normal, le key repeat envois l'évènement très vite lorsque l'on reste appuyé, c'est un peu comme si tu voulais jouer un son en le démarrant toutes les n millisecond il démarre jamais ou seulement quand tu relaches la touche
Offline
Ok, donc j'avais déjà testé ta solution mais c'est spas possible, pour l'anim il faut que l'input soit en no-repeat, alors que pour le control il doit être en repeat.
Pour le clavier ne comprends pas en quoi c'est normal que l'évènement "appuyé" soit immédiat et pas l'évènement "rester appuyé" (qui arrive 1 seconde après).
Offline
Pour le clavier ne comprends pas en quoi c'est normal que l'évènement "appuyé" soit immédiat et pas l'évènement "rester appuyé" (qui arrive 1 seconde après).
Les deux sont en key down ?
Offline
tu n'as pas besoin du "repeat" ni pour l'animation ni pour le déplacement
tu mets par exemple ton animation marche en loop
tu la lance quand tu appuies sur la touche et l'arrête quand tu la relache.
sur le meme principe avec le plugIT control tu envois le vecteur de translation puis tu le remet a 0 quand tu relaches la touche
Offline
bon, je retente alors
-> Je viens de tenter, soit je fais mal soit ça marche pas. Effectivement avec pIT control avec no repeat, il faut appuyer plusieurs fois sur la touche faire bouger l'objet : pIT control -> clic droit->control (paramètre : 0 0 -0.01) ?
Merci.
Last edited by Greg (29-Mar-2011 21:41:49)
Offline
Offline
bon j'ai enfin compris ton problème ^^
lorsque l'on veux utiliser le keyb repeat il y a en effet une latence avant la 1ère répétition ^^
c'est le fonctionnement normal du clavier géré au niveau de l'Os comme tu l'expliquais avec word, donc on y peux tout simplement rien.
c'est pourquoi pour des déplacements il faut gérer avec l'event key down / key up et effectuer le déplacement temps que l'on ne relache pas la touche.
bon la bonne nouvelle c'est que j'ai trouvé un peu plus de 5 minutes
par contre pour pouvoir faire ce que tu voulais j'ai du modifier le plugIT control pour lui ajouter certaines choses
donc il sera disponible dans la prochaine version
on essaiera de la sortir d'ici quelques semaines vu que l'on à déja amélioré et corrigé pas mal de choses ^^
Offline
Ok, merci.
Effectivement j'en arrivais à la conclusion qu'il fallait peut-être créer un nouveau plugIT pour le déplacement d'objet, car avec les tests, j'ai trouvé un autre problème (oui encore…) : quand on veut déplacer un objet avec les touches du clavier, on en utilise pas qu'une seule, on utilise les flèches des 4 directions. Seulement avec une action au down et une action au up pour chaque, ça pose un problème de conflit d'action entre les 4 touches ( arrow UP-RIGHT-DOWN-LEFT). Si j'appuie sur UP puis sur LEFT pour aller en diagonale, ça ne fonctionne pas. LEFT prend le pas sur UP et l'action de UP est ignorée, mais si je relâche UP, c'est l'action UP lorsqu'on relâche qui reprend le pas et donc par exemple l'anim s'arrête (alors que LEFT est toujours enfoncé).
Bref, je regarderais si j'ai le temps comment on développe pour OS3D, mais bon, je sens que je vais me galérer (c'est pas trop ma partie).
Greg
Offline
oui j'ai justement géré ça dans les modif du plugIT
tu pourras passer un paramètre de type :
_ _ 1
_ 1 _
pour ignorer certains axes sur la translation et les rotations
Offline
Pages: 1