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

[DIR MX] pb dans une liste["",""]

3 réponses
Avatar
Twinky
hello

je voudrais selectionner dans ma liste d'images une image
differente à chaque clique via un bouton + mais lors de
l'incrementation la liste gPyramideList s'initialise à " p1"
oops :o(

ex:
" p8 " (image dans ma liste) s'affiche dans gPyramideSprite
( rectangle vide ) puis lors du click normalement je dois passer
à " p9 " mais je reviens à " p1 " dans gPyramideList
et un repeat with ou while ne fait pas l'affaire car je n'ai pas
de sortie de boucle et DIR MX plante...

Une aide serait bien venue

Twinky

global gPyramideList, gPyramideSprite, gIndexList

on initPyramide
gPyramideSprite = 68 -- rectangle pour images


-- pMemberName = "p1"
gPyramideList = [ "p1","p2","p3","p4","p5","p6","p7","p8","p9","p10"]

gIndexList = gPyramideList[1]
-- gIndexList = gPyramideList[random(10)]

setat gPyramideList, 1, gIndexList
-- image de la liste
sprite(gPyramideSprite).member = gIndexList

-- position
sprite(gPyramideSprite).LocH = 610
sprite(gPyramideSprite).LocV = 180

put gindexList
end

on IncrementPyramide
gPyramideList = [ "p1","p2","p3","p4","p5","p6","p7","p8","p9","p10"]

-- retrouver image dans la liste
gPyramideList = [ gIndexList ]
--sprite(68).member = gIndexList
put "img list"&&gPyramideList


-- remplacer old img par 1 new
gIndexList = gPyramideList[+1]

-- setat gPyramideList, 1, gIndexList
gPyramideList.add(gIndexList)

updatestage
put "new img"&&gIndexList
put "new img"&&gPyramideList

end

3 réponses

Avatar
Lionel Morin
Salut Twinky

Tout cela à l'air un peu confus...
Peut-être que tu devrais regarder ce qui se passe au niveau de tes
variables avec un point d'arrêt dans ton script, et faire défiler une par
une les lignes de code.
Tu verrais ainsi qu'il se passe des droles de choses...

hth

A+
Yo ;-)
Avatar
Ned
Salut,
tu fais des trucs un peu bizarre, il y a confusion entre gIndexList qui
parfois contient ton nom d'image ("p1") et parfois l'index de l'image en
cours dans la laiste (1), et tu reset ta gPyramideList un peu partout.....
confusant !

essaie plutot :

global gPyramideList, gPyramideSprite, gIndexList

on initPyramide
gPyramideSprite = 68 -- rectangle pour images
-- liste des noms d'image
gPyramideList = [ "p1","p2","p3","p4","p5","p6","p7","p8","p9","p10"]
-- image affichée dans la liste
gIndexList = 0
-- on affiche la 1ere
IncrementPyramide()
end

on IncrementPyramide
-- on passe à la suivante par rapport à gIndexList
gIndexList = gIndexList + 1
if gIndexList>gPyramideList .count then
-- si on tape hors de la liste, on reboucle sur la 1ere de la liste
gIndexList = 1
end if
sprite(gPyramideSprite).member = gPyramideList [gIndexList]
sprite(gPyramideSprite).LocH = 610
sprite(gPyramideSprite).LocV = 180
end

--
----------------
-- Ned
----------------------------------------
Bien faire et laisser braire
----------------------------------------
Avatar
Twinky
Ok merci Ned ca marche
c vrai g été un peu confus mais entre c++ et lingo
oops je m'y perd un peu

Thanks guy :o)

Twinky

"Ned" a écrit
global gPyramideList, gPyramideSprite, gIndexList

on initPyramide
gPyramideSprite = 68 -- rectangle pour images
-- liste des noms d'image
gPyramideList = [ "p1","p2","p3","p4","p5","p6","p7","p8","p9","p10"]
-- image affichée dans la liste
gIndexList = 0
-- on affiche la 1ere
IncrementPyramide()
end

on IncrementPyramide
-- on passe à la suivante par rapport à gIndexList
gIndexList = gIndexList + 1
if gIndexList>gPyramideList .count then
-- si on tape hors de la liste, on reboucle sur la 1ere de la liste
gIndexList = 1
end if
sprite(gPyramideSprite).member = gPyramideList [gIndexList]
sprite(gPyramideSprite).LocH = 610
sprite(gPyramideSprite).LocV = 180
end

--
----------------
-- Ned
----------------------------------------
Bien faire et laisser braire
----------------------------------------