|
Bonjour à tous,
Pour faire une glissiere vous pouvez procéder comme suit : Tout d'abord, créer la glissière : Sur votre bouton de curseur, nous allons placer un code du type : ________________________________________________________ global gDepl on beginSprite me on mouseDown me on mouseUp me on mouseUpOutside me _________________________________________________________ La variable gDepl va permettre d'orchestrer le déplacement
et aussi lancer l'execution d'un gestionnaire que nous allons créé
dans un movieScript. En script de frame, vous mettez le script suivant, nous considérons que votre acteur "curseur" se trouve sur le sprite 3 : _________________________________________________________ global gDepl on exitFrame me __________________________________________________________ Ainsi, si la variable est égale à 1, le
curseur de glissiere prend les coordonnées de la souris en x (soit
h en Director). Il va falloir paramétrer la contrainte. Pour cela,nous appelons le gestionnaire MovieSouris() qui se trouve dans un MovieScript ou script d'animation. :) Le script MovieSouris... _____________________________________________________ on movieSouris() ______________________________________________________ Tout d'abord nous devons contraindre notre curseur. Pour
cela, nous allons utiliser un acteur qui représente la marge de
manoeuvre dudit curseur ;). lRectConstraint = sprite(2).rect --> Cette local que nous créons récupère les coordonnées de notre acteur "barre" qui se trouve sur le sprite 2 (je vous laisse regarder dans l'aide les tenants et aboutissants de rect ;) ) lWidth = member("barre").width --> Nous récupérons ici la largeur de notre acteur, c'est à dire la surface sur laquelle notre curseur pourra bouger. lCoor = sprite(3).locH--> Si l'on considère que notre curseur de glissiere se trouve sur la sprite 3 par exemple, ici , lCoor récupère la loc en H de notre bouton curseur. Un probleme va se poser... Comment savoir ou se trouve
en terme de coordonnées notre bouton curseur par rapport à
notre barre afin de pouvoir faire un calcul pour établir le volume
de son ??? lCurseurCoor = lCoor-sprite(2).rect[1] --> Ici nous prenons les coordonnées en H du curseur grace à notre variable lCurseurCoor et nous soustrayons la premiere valeur de notre rect. C'est à dire la coordonnée en H du coin gauche de notre acteur "barre". Ca veut dire quoi ? Maintenant, nous poouvons mettre en place le calcul du volume. _________________________________________________________
_________________________________________________________
Ensuite lVol prend la valeur précédente et nous assignons enfin lVol au volume de notre piste. Et le tour est joué. :P
Maintenant, nous pourrions très bien imaginer ce principe de glissière pour créer une barre de navigation dans une vidéo. Le principe restera le même à ceci près que nous jouerons sur le movieTime. Bonne soirée |
||
Contact : Steve Louis |