Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[DIR MX] ma pause bloque toute mon anime :o( oops zé oublié le [ ]

4 réponses
Avatar
Twinky
Hello à tous

le code en question passe d'une image à l'autre tous les X secondes

je fais une pause sur un diaporama d'images lorsque je clique
sur une case à cocher, mais le souci est que, lors de l'appel
de la boucle en " repeat while the ticks ..."
mais ma projection rame comme pas permis et je ne peux avoir
un rollover ou une action sur un bouton ki soit immediat.

Comment faire pour remedier à ce probleme de pause
ki stoppe l'action d'un rollover ou autre ?

PS: en C++ on peut avoir +ieurs Timer déclanchés en mem temps
sans ke celui ci gene l'autre dans sa cadence ou le ralentisse mais
sous DIR MX visiblement, le Timer fait reference à la cadence
du TimeLine car, si je fais une pause de X secondes et ke j'ai
un deplacement d'image de Y pixels, ben le move de Y pixels
de l'image est aussi bloqué par la pause de X secondes.
Oops pas très pro et surtout pas tres fonctionnel tout ça !?/!

Merci pour ton aide

Twinky


// script comportement sur timeline
-- sur la frame 5
on exitFrame
startTimer -- init timer to Zero
end

-- sur le frame 6
on exitFrame
MyTimer = the Timer / 60 -- en seconde
end if

-- si case cochée Timer Actif
on ActiverTimer
if myCheckbox = 1 then
if ( myTimer >= indexDelay) then nextimg
end if
end

-----------------------------------
// script d'animation

global delayTime, indexDelay
-- indexDelay est le temps en sec ( 5, 10, 15 ... ) ke le user peut modifier lui meme

-- avancer d'1 image
on nextimg
indeximg = indeximg +1
if indeximg > 12 then indeximg = 1
sprite(2).member = listimg[indeximg]

PauseEnSecondes indexDelay -- pause de X secondes
end

-- faire une pause
on PauseEnSecondes indexDelay
set delay = (indexDelay * 60) -- en seconde
put the ticks + delay into delayTime

repeat while the ticks < delayTime
end repeat
end

4 réponses

Avatar
Ned
Salut,
ta boucle d'attente bouffe tout le temps machine.... regarde l'aide du lingo
autour de new et timeOut

--
----------------
-- Ned
----------------------------------------
Bien faire et laisser braire
----------------------------------------
Avatar
padbra
Salut,
Deposes ce comportement sur un dummy ou dans la piste de comportement, ca
devrait faire l'affaire :

<code>
-- HANDLERS PROPERTY

property pOldLoc -- contient la position de la souris avant inactivité

property pTimer -- c'est le décompte du temps d'inactivité

property pStartCount -- le moment où l'on commence à compter

property pUnit -- unité de temps

-- GPDL PROPERTY

property gpdlTimer

property gpdlUnit -- unité de temps

property gpdlLabel -- label to go

-------------------------------------------------------------

-------------------------------------------------------------

-- SYSTEM HANDLERS ------------------------------------------

-------------------------------------------------------------

-------------------------------------------------------------

on beginSprite me

me.init()

end

on enterframe me

me.checkForMove()

end

on exitFrame me

go to the frame

end

-------------------------------------------------------------

-------------------------------------------------------------

-- PRIVATE HANDLERS -----------------------------------------

-------------------------------------------------------------

-------------------------------------------------------------

on init me

me.initUnit()

pTimer = gpdlTimer * pUnit

me.initTimer (the mouseLoc)

end --init handler

on initTimer me, mousePosition

--called on new and stepFrame handlers

pOldLoc = mousePosition -- pour prendre en compte les derniers mvmt de
souris

pStartCount = the ticks -- comme la souris s'est déplacée, le comptage
reprends

end -- initTimer handler

on checkForMove me

-- on recupère la position actuelle de la souris dans un variable locale

newLoc = the mouseLoc

-- et si celle si s'est déplacée

if newLoc<>pOldLoc then

-- on réinitialise le tout

me.initTimer (newLoc)

-- bah sinon si le délai est atteint --> ACTION

else if (the ticks - pStartCount) > pTimer then

-- pas de mouvement pendant le delai

-- METS TON ACTION DANS CETTE PARTIE DU CODE

if (the markerList).getOne(gpdlLabel) then

go to gpdlLabel

else

go to value(gpdlLabel)

end if

end if

end --checkForMove handler

on initUnit me

case gpdlUnit of

#secondes

pUnit = 60

#minutes

pUnit = 60*60

end case

end

----------------------------------------------------------

-- getPropertyDescriptionList ----------------------------

----------------------------------------------------------

on getPropertyDescriptionList


gpdlList = []


-- Acteur rollover

gpdlList[#gpdlTimer] = [

#comment"Quel est le temps d'attente ?",

#format#integer,

#default5,

#range[#min0, #max60]

]


gpdlList[#gpdlUnit] = [

#comment"unités de mesure ?",

#format#symbol,

#default#minutes,

#range[#secondes, #minutes]

]

if (the markerList).count<>0 then

gpdlList[#gpdlLabel] = [

#comment"étiquette de destination ?",

#format#marker,

#defaultthe markerList[1],

#rangethe markerList

]

else

gpdlList[#gpdlLabel] = [

#comment"Numéro d'image de destination ?",

#format#string,

#default"1"

]

end if


return gpdlList


end getPropertyDescriptionList

on getBehaviorTooltip me

return

"A déposer sur toute image-objet ou sur la piste de comportement. " &

"Permet de définir un timer dépendant de l'inactivité de la souris " &

"(concernant son déplacement) et dirige la tête de lecture sur un label."

end getBehaviorTooltip

</code>


--
--
padbra
--

"Twinky" a écrit dans le message news:
bn1vob$mu2$
Hello à tous

le code en question passe d'une image à l'autre tous les X secondes

je fais une pause sur un diaporama d'images lorsque je clique
sur une case à cocher, mais le souci est que, lors de l'appel
de la boucle en " repeat while the ticks ..."
mais ma projection rame comme pas permis et je ne peux avoir
un rollover ou une action sur un bouton ki soit immediat.

Comment faire pour remedier à ce probleme de pause
ki stoppe l'action d'un rollover ou autre ?

PS: en C++ on peut avoir +ieurs Timer déclanchés en mem temps
sans ke celui ci gene l'autre dans sa cadence ou le ralentisse mais
sous DIR MX visiblement, le Timer fait reference à la cadence
du TimeLine car, si je fais une pause de X secondes et ke j'ai
un deplacement d'image de Y pixels, ben le move de Y pixels
de l'image est aussi bloqué par la pause de X secondes.
Oops pas très pro et surtout pas tres fonctionnel tout ça !?/!

Merci pour ton aide

Twinky


// script comportement sur timeline
-- sur la frame 5
on exitFrame
startTimer -- init timer to Zero
end

-- sur le frame 6
on exitFrame
MyTimer = the Timer / 60 -- en seconde
end if

-- si case cochée Timer Actif
on ActiverTimer
if myCheckbox = 1 then
if ( myTimer >= indexDelay) then nextimg
end if
end

-----------------------------------
// script d'animation

global delayTime, indexDelay
-- indexDelay est le temps en sec ( 5, 10, 15 ... ) ke le user peut


modifier lui meme

-- avancer d'1 image
on nextimg
indeximg = indeximg +1
if indeximg > 12 then indeximg = 1
sprite(2).member = listimg[indeximg]

PauseEnSecondes indexDelay -- pause de X secondes
end

-- faire une pause
on PauseEnSecondes indexDelay
set delay = (indexDelay * 60) -- en seconde
put the ticks + delay into delayTime

repeat while the ticks < delayTime
end repeat
end




Avatar
padbra
Je viens de m'appercevoir qu'il lui faut une modif pour fonctionner dans ton
contexte :

http://www.director-forum.net/viewtopic.php?pd20&highlight=#6420

--
--
padbra
--
Avatar
Twinky
ok merci à vous 2
qq chose a du m'echapper dans ma pause je v voir ca