Difference between revisions of "LlStartAnimation/fr"
Jump to navigation
Jump to search
Gally Young (talk | contribs) m (Update cat1 & cat2) |
m |
||
(5 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{LSL_Function/permission/fr|PERMISSION_TRIGGER_ANIMATION}} | |||
{{LSL_Function/permission/fr|PERMISSION_TRIGGER_ANIMATION}}{{LSL_Function/inventory/fr|anim|uuid=false|type}}{{LSL_Function/fr | {{LSL_Function/inventory/fr|anim|uuid=false|type=animation}} | ||
{{LSL_Function/fr | |||
|func_id=129|func_sleep=0.0|func_energy=10.0 | |func_id=129|func_sleep=0.0|func_energy=10.0 | ||
|func=llStartAnimation|sort=StartAnimation | |func=llStartAnimation|sort=StartAnimation | ||
|p1_type=string|p1_name=anim | |p1_type=string|p1_name=anim | ||
|func_footnote | |func_footnote | ||
|func_desc=Lance l'animation '''anim''' pour l'agent qui a donné au script le | |func_desc=Lance l'animation '''anim''' pour l'agent qui a donné au script le droit [[PERMISSION_TRIGGER_ANIMATION/fr|PERMISSION_TRIGGER_ANIMATION]] et si les droits n'ont pas été révoqués depuis. | ||
|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= | ||
< | <lsl> | ||
default | default | ||
{ | { | ||
Line 18: | Line 19: | ||
llRequestPermissions(llDetectedKey(0), PERMISSION_TRIGGER_ANIMATION); | llRequestPermissions(llDetectedKey(0), PERMISSION_TRIGGER_ANIMATION); | ||
} | } | ||
run_time_permissions(integer perm) | run_time_permissions(integer perm) | ||
{ | { | ||
Line 23: | Line 25: | ||
{ | { | ||
llStartAnimation("sit"); | llStartAnimation("sit"); | ||
llOwnerSay("animation | llOwnerSay("l'animation se terminera dans 5 secondes"); | ||
llSetTimerEvent(5.0); | llSetTimerEvent(5.0); | ||
} | } | ||
} | } | ||
timer() | timer() | ||
{ | { | ||
Line 33: | Line 36: | ||
} | } | ||
} | } | ||
</ | </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() | |||
{ | |||
// definition d'un sittarget | |||
llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION); | |||
// recuperation du nom de la premiere animation de l'inventaire de l'objet | |||
animation = llGetInventoryName(INVENTORY_ANIMATION,0); | |||
} | |||
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> | |||
|helpers | |helpers | ||
|also_functions={{LSL DefineRow||[[llStopAnimation]]|Arrête une animation}} | |also_functions={{LSL DefineRow||[[llStopAnimation/fr|llStopAnimation]]|Arrête une animation}} | ||
|also_tests | |also_tests | ||
|also_events | |also_events | ||
|also_articles={{LSL DefineRow||[[Internal_Animations]]|Donne la liste des animations toujours disponibles dans SL}} | |also_articles={{LSL DefineRow||[[Internal_Animations/fr|Animations prédéfinies]]|Donne la liste des animations toujours disponibles dans SL}} | ||
|notes | |notes | ||
|cat1=Avatar/fr | |cat1=Avatar/fr |
Latest revision as of 00:43, 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() { // definition d'un sittarget llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION); // recuperation du nom de la premiere animation de l'inventaire de l'objet animation = llGetInventoryName(INVENTORY_ANIMATION,0); } 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.