Forums Développement Multimédia

Aller au contenu

Glissières et frames

Director

5 réponses à ce sujet

#1 Psykoo

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 155 messages

Posté 19 March 2011 - 22:39 PM

Bonjour a tous!

Comme le titre en parle, j'ai un petit problème avec ma glissière lorsqu'ils vient le temps de l'utiliser. Voici le code de la glissière en question :



property yMin
property yMax
on mouseDown me
  repeat while the stillDown then
    yMin = 773 -- y min
    yMax = 987 -- y max
    mousePosH = the mouseH
    if mousePosH < yMin then
      sprite(me.spriteNum).locH = yMin  
    else
      if mousePosH > yMax then
        sprite(me.spriteNum).locH = yMax
      else
        sprite(me.spriteNum).locH = mousePosH
        member("txt_raise").Text = String((member("txt_stack_"&member("txt_current_player").Text).Text/214)*(sprite(me.spriteNum).locH - yMin))
      end if
    end if
    updatestage
  end repeat
end

 

Tout fonctionne bien avec la glissière... Le problème est lorsque je l'utilise, le movie arrête de rouler jusqu'à ce que je relâche le clique de la souris. Hors, j'ai une petite animation et un timer qui fonctionne a l'aide de 2 frames et ils sont altéré lorsque j'utilise ma glissière!

Y a t-il moyen soit de faire continuer le movie en utilisant la glissière..? Ou de faire rouler une anim et un timer sur une seul frame? Je ne vois pas trop comment. :sad:

Merci beaucoup!

Modifié par Psykoo, 19 March 2011 - 22:41 PM.


#2 j'patauge

  • Members
  • PipPipPipPipPipPipPipPip
  • 676 messages

Posté 20 March 2011 - 08:47 AM

Voir le messagePsykoo, le 19 March 2011 - 22:39 PM, dit :

Bonjour a tous!

Comme le titre en parle, j'ai un petit problème avec ma glissière lorsqu'ils vient le temps de l'utiliser. Voici le code de la glissière en question :



property yMin
property yMax
on mouseDown me
  repeat while the stillDown then
    yMin = 773 -- y min
    yMax = 987 -- y max
    mousePosH = the mouseH
    if mousePosH < yMin then
      sprite(me.spriteNum).locH = yMin  
    else
      if mousePosH > yMax then
        sprite(me.spriteNum).locH = yMax
      else
        sprite(me.spriteNum).locH = mousePosH
        member("txt_raise").Text = String((member("txt_stack_"&member("txt_current_player").Text).Text/214)*(sprite(me.spriteNum).locH - yMin))
      end if
    end if
    updatestage
  end repeat
end

 

Tout fonctionne bien avec la glissière... Le problème est lorsque je l'utilise, le movie arrête de rouler jusqu'à ce que je relâche le clique de la souris. Hors, j'ai une petite animation et un timer qui fonctionne a l'aide de 2 frames et ils sont altéré lorsque j'utilise ma glissière!

Y a t-il moyen soit de faire continuer le movie en utilisant la glissière..? Ou de faire rouler une anim et un timer sur une seul frame? Je ne vois pas trop comment. :sad:

Merci beaucoup!
J’avoue ne pas tout comprendre de ton problème
mais pourquoi la solution ne serait il pas sur une frame sur laquelle on boucle par

on exitFrame
    _movie.go(_movie.frame)
end

et sur ta glissière un

on prepareframe me
    if the mouseDown then



    end if
end

#3 gegedade

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 144 messages

Posté 20 March 2011 - 11:05 AM

Bonjour !

Pour une fois que je peux aider... Enfin, que je PENSE pouvoir aider !
Lorsqu'on utilise une boucle "repeat while the stilldown", évidemment on ne sort pas de la boucle tant que le bouton est enfoncé... Et donc on ne prend aucun autre évènement.
Ce que je fais souvent, c'est mettre l'action dans le script de frame avec "if the stilldown then", ce qui est donc jugé à chaque retour sur la frame et n'empêche pas les autres actions de s'effectuer.
Pour répondre à J'patauge, il me semble que le fait d'écrire "if the mouseDown" ne sera actif qu'au moment de l'APPUI sur le bouton de la souris et donc pas après... Mais je peux me tromper bien sûr.
Ah, et puis il me smeble que dans ton script il y a un "then" de trop après le repeat while... Et puis encore il me semble peu opportun de placer un "repeat while the stilldown" après un "if the mousedown"...

J'ai aidé ?

Amitiés directoresques

Modifié par gegedade, 20 March 2011 - 11:08 AM.


#4 j'patauge

  • Members
  • PipPipPipPipPipPipPipPip
  • 676 messages

Posté 20 March 2011 - 17:19 PM

Voir le messagegegedade, le 20 March 2011 - 11:05 AM, dit :

il me semble que le fait d'écrire "if the mouseDown" ne sera actif qu'au moment de l'APPUI sur le bouton de la souris et donc pas après... Mais je peux me tromper bien sûr.
Oui tu peux :smile:
essaye ce script

global gflg

on prepareframe me
   if gflg = VOID then gflg = 1
   if _mouse.mouseDown then gflg = gflg + 1
   put gflg
end

#5 gegedade

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 144 messages

Posté 20 March 2011 - 19:29 PM

Exact... Super !

#6 Psykoo

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 155 messages

Posté 20 March 2011 - 23:04 PM

Bonjour!

Merci pour vos réponses!

J'ai essayé ta méthode J'patauge et ça fonctionne très bien.(l'acteur texte qui affiche le position de la glissière est un peu moins fluide par contre)

Est-ce que quelqu'un pourrait m'aider a faire fonctionner la glissière et l'acteur texte relié a celui-ci pour qu'il augmente par bon de 10 ou plus? Je ne vois pas trop comment m'y prendre.



member("txt_raise").Text = String((member("txt_stack_"&member("txt_current_player").Text).Text/214)*(sprite(me.spriteNum).locH - yMin))
     

 

Pour vous mettre dans le contexte il s'agit d'une glissière pour miser comme au poker.

Merci!

Modifié par Psykoo, 20 March 2011 - 23:05 PM.




1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP