2009-09-20 5 views
0

Comment dites-vous ou d'atteindre container.child.source = image.png?Comment modifiez-vous par programme la source d'une image dont le nom est ambigu?

J'ai une carte hexagonale construite en spécifiant la largeur et la hauteur. Je dessine un fil de fer et place une image de base pour chaque hex dans une toile. Ensuite, le canvas écoute pour un clic de souris. Je lance ensuite un calcul pour déterminer l'hex le plus proche du clic de la souris. Mon intention est de changer la source de l'image sur laquelle l'utilisateur a cliqué.

Je sais que mapSlate.getChildByName (mapProperties [closestHex] ['baseName']) est l'hex prévu mais je ne peux pas vraiment arriver à faire un .source car Flex ne sait pas que l'objet sélectionné est une image.

Répondre

1

Si u sont sûr que mapSlate.getChildByName(mapProperties[closestHex]['baseName']) est l'hexagone prévu et qu'il est en fait une Image, ne pouvez pas vous lancez dans Image et de changer la source comme:

Image(mapSlate.getChildByName(
    mapProperties[closestHex]['baseName'])).source = "image.png"; 

ou

(mapSlate.getChildByName(
    mapProperties[closestHex]['baseName']) as Image).source = "image.png"; 
+0

Génial. C'est exactement ce dont j'avais besoin. Je ne connaissais pas la syntaxe de la classification en image. Comme une solution de contournement, je supprimais l'image, en créant un nouveau et en le plaçant. Ça a marché, mais c'était lent. Cette méthode est beaucoup plus rapide. Je vous remercie. –

Questions connexes