LlStartAnimation/fr: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
traduction de la mise à jour de la page en anglais |
||
| Line 9: | Line 9: | ||
|return_text | |return_text | ||
|spec | |spec | ||
|caveats | |caveats=* 30 animations au maximum peuvent être jouées simultanément (avant 1.25.3 il n'y avait pas de limite puis la limite était de 15 jusqu'à 1.25.4) | ||
|constants | |constants | ||
|examples= | |examples= | ||
| Line 34: | Line 34: | ||
llSetTimerEvent(0.0); | llSetTimerEvent(0.0); | ||
llStopAnimation("sit"); | llStopAnimation("sit"); | ||
} | |||
} | |||
</lsl> | |||
Ajouter une animation ou une pose dans le même objet que le script suivant | |||
<lsl> | |||
string animation; // le nom de l'animation sera stocké dans cette variable globale | |||
default | |||
{ | |||
state_entry() | |||
{ | |||
llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION); // definition d'un sittarget | |||
animation = llGetInventoryName(INVENTORY_ANIMATION,0); // recuperation du nom de la premiere animation de l'inventaire de l'objet | |||
} | |||
changed(integer change) | |||
{ | |||
if (change & CHANGED_LINK) | |||
{ | |||
key av = llAvatarOnSitTarget(); | |||
if (av!=NULL_KEY) // l'avatar s'assoit | |||
{ | |||
llRequestPermissions(av, PERMISSION_TRIGGER_ANIMATION); | |||
{ | |||
else // l'avatar se leve | |||
{ | |||
if (animation) llStopAnimation(animation); // stoppe l'animation | |||
llResetScript(); // fait un reset du script pour réinitialiser les permissions | |||
} | |||
} | |||
} | |||
run_time_permissions(integer perm) | |||
{ | |||
if (perm & PERMISSION_TRIGGER_ANIMATION) | |||
{ | |||
if (animation) | |||
{ | |||
llStopAnimation("sit"); // stoppe l'animation par defaut d'un avatar assis | |||
llStartAnimation(animation); | |||
} | |||
} | |||
} | } | ||
} | } | ||
Revision as of 01:41, 24 September 2010
| LSL Portail Francophone | LSL Portail Anglophone | Fonctions | Évènements | Types | Operateurs | Constantes | Contrôle d'exécution | Bibliothèque | Tutoriels |
Description
Fonction: llStartAnimation( string anim );| 129 | N° de fonction |
| 0.0 | Delais |
| 10.0 | Energie |
Lance l'animation anim pour l'agent qui a donné au script le droit PERMISSION_TRIGGER_ANIMATION et si les droits n'ont pas été révoqués depuis.
| • string | anim | – | un animation de l'inventaire |
Nécessite le droit PERMISSION_TRIGGER_ANIMATION pour s'exécuter
Avertissements
- Ne vous reposez pas sur les droits accordés automatiquement à soi-même. Utilisez toujours l'évènement run_time_permissions.
- Si le script n'a pas le droit PERMISSION_TRIGGER_ANIMATION, il renverra (en criant) une erreur sur le canal DEBUG_CHANNEL et l'opération échouera (mais le script continuera à s'exécuter).
- Une fois que le droit PERMISSION_TRIGGER_ANIMATION est accordé, il peut être révoqué depuis le script (par exemple avec un nouvel appel à llRequestPermissions). Sinon le script ne perdra ses droits que s'il est réinitialisé ou dérezzé (effacé, détaché ou repris).
- Si anim n'est pas dans l'inventaire de la prim ou n'est pas un animation alors une erreur se produit sur le canal DEBUG_CHANNEL.
- 30 animations au maximum peuvent être jouées simultanément (avant 1.25.3 il n'y avait pas de limite puis la limite était de 15 jusqu'à 1.25.4)
Exemples
<lsl> default {
touch_start(integer detected)
{
llRequestPermissions(llDetectedKey(0), PERMISSION_TRIGGER_ANIMATION);
}
run_time_permissions(integer perm)
{
if (perm & PERMISSION_TRIGGER_ANIMATION)
{
llStartAnimation("sit");
llOwnerSay("l'animation se terminera dans 5 secondes");
llSetTimerEvent(5.0);
}
}
timer()
{
llSetTimerEvent(0.0);
llStopAnimation("sit");
}
} </lsl> Ajouter une animation ou une pose dans le même objet que le script suivant <lsl> string animation; // le nom de l'animation sera stocké dans cette variable globale
default {
state_entry()
{
llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION); // definition d'un sittarget
animation = llGetInventoryName(INVENTORY_ANIMATION,0); // recuperation du nom de la premiere animation de l'inventaire de l'objet
}
changed(integer change)
{
if (change & CHANGED_LINK)
{
key av = llAvatarOnSitTarget();
if (av!=NULL_KEY) // l'avatar s'assoit
{
llRequestPermissions(av, PERMISSION_TRIGGER_ANIMATION);
{
else // l'avatar se leve
{
if (animation) llStopAnimation(animation); // stoppe l'animation
llResetScript(); // fait un reset du script pour réinitialiser les permissions
}
}
}
run_time_permissions(integer perm)
{
if (perm & PERMISSION_TRIGGER_ANIMATION)
{
if (animation)
{
llStopAnimation("sit"); // stoppe l'animation par defaut d'un avatar assis
llStartAnimation(animation);
}
}
}
} </lsl>
Voir également
Évènement
| • | run_time_permissions | – | Évènement de réception des droits |
Fonctions
| • | llGetPermissions | – | Renvoie les droits accordés | |
| • | llGetPermissionsKey | – | Renvoie l'agent qui a accordé les droits | |
| • | llRequestPermissions | – | Demande des droits | |
| • | llStopAnimation | – | Arrête une animation |
Articles
| • | Droit des scripts | – | Article sur les droits | |
| • | Animations prédéfinies | – | Donne la liste des animations toujours disponibles dans SL |
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.