OVH Cloud OVH Cloud

[DIRMX04] Bug des sprites nommés ?

5 réponses
Avatar
PJ
Bonjour,

Depuis le temps que j'attendais cette fonctionnalité... Mais il me
semble qu'il y a un petit bug :

Si vous exécutez, par exemple :

sprite("spCache").visible = FALSE

et que le sprite portant ce nom n'est pas sur la scène, c'est le sprite
n°1 qui voit ses propriétés modifiées.

Ok, mon code n'est pas "blindé" puisque je cible un sprite qui n'existe
pas, mais j'aurais préféré que l'action ne s'exécute tout simplement pas
ou bien qu'elle déclenche un message d'erreur !

Qu'en pensez-vous ?

5 réponses

Avatar
Twinky
Hello

j'ai fait le test
le sprite " spCache " est dans la distribution mais n'est pas sur ou dans le
scenario
et j'ai un message d'erreur de script en lecture

------------------------------------------
Erreur de script : Property not found
sprite("spCache").visible = false

#visible
------------------------------------------

--**************
voici le script de test

on beginsprite
sprite("spCache").visible = false
end

on exitframe
go the frame
end
--**************

- second test :
avec le meme sprite en question mais cette fois sur le scenario
j'obtiens un message d'erreur : le meme que celui noté plus haut


******************
pourtant d'apres l'aide

sprite()

Utilisation
-- Syntaxe Lingo
sprite(nomOuNum)

// Syntaxe JavaScript
sprite(nomOuNum);

Description
Fonction du niveau supérieur ; renvoie une référence à une image-objet
donnée dans le scénario.
Si le scénario ne contient pas cette image-objet, la fonction


















renvoie une chaîne vide.<<<<<<<<<<<

Paramètres
nomOuNum Requis. Chaîne ou nombre entier qui spécifie le nom ou la position
d'index de l'image-objet.
--------------

Twinky
Avatar
Bubar
Twinky wrote:
Hello

j'ai fait le test
le sprite " spCache " est dans la distribution mais n'est pas sur ou
dans le scenario
et j'ai un message d'erreur de script en lecture


Ne confonds tu pas sprite et membre ? Un sprite ne peut pas être dans une
distribution

PJ parle ici d'une nouvelle fonctionnalité de MX2004 qui permet de donner un
nom à un _sprite_ indépendamment du membre qu'il contient.

Par contre désolé PJ, mais n'ayant pas encore utilisé cette fonction, je ne
pourrais pas t'aider

--
Bubar
Avatar
Twinky
Hello

oops oui, ce matin je me suis un peu précipité pour répondre
et de plus pas du tout réveillé :)

Donc pour revenir au petit bug de PJ : voici le résultat que j'obtiens

quand le sprite est nommé " hello" ou autre et qu'il est sur le scénario, il est bien masqué
mais lorsqu"il n'est pas sur le scenario là il y a un message d'erreur *
et les propriétés du sprite N°1 ne sont pas modifiées

------------------------------------------
* Erreur de script : Property not found
sprite("hello").visible = false

#visible
------------------------------------------

Avec sprite("hello").visible = false
je pensais que seul le sprite nommé "Hello" était masqué et que le sprite nommé " Gadget " juste
derriere (tout deux sur la ligne 21) restait visible mais non c'est toute la ligne 21 qui est
visible úlse

ce qui revient à faire sprite(21).visible = false
Sorry.

Ceci dit Bon week

--------------
Twinky
Avatar
Bubar
> Avec sprite("hello").visible = false
je pensais que seul le sprite nommé "Hello" était masqué et que le
sprite nommé " Gadget " juste derriere (tout deux sur la ligne 21)
restait visible mais non c'est toute la ligne 21 qui est visible
úlse


Encore la même confusion ? Le sprite 21 s'appelle hello. Mais il contient un
coup "Hello", un coup "Gadget". Donc normal que
sprite("hello").visibleúLSE
"efface" les deux memebres

ce qui revient à faire sprite(21).visible = false


Effectivement. Le nommage n'est qu'une simplification

--
Bubar
Avatar
PJ
> j'ai fait le test
le sprite " spCache " est dans la distribution mais n'est pas sur ou dans le
scenario
et j'ai un message d'erreur de script en lecture



J'avoue que je n'arrive pas à reproduire ce bug dans un DIR de test avec
le minimum de sprites, il ne se produit que dans mon appli... que je ne
vais pas casser pour déterminer la cause !

Je pense que, comme le nommage des sprites n'est qu'un passage par une
variable qui renvoit la piste du sprite (spCache = 2, par ex), il doit y
avoir des "trucs" qui trainent et qui renvoient "1" quand le sprite
"spCache" n'est pas sur la scène.

Merci quand même de vous être penchés sur le problème.

PJ