2009-09-20 2 views
0

Как вы говорите или достигаете container.child.source = image.png?Как вы программно изменяете источник изображения, чье имя неоднозначно?

У меня есть карта шестиугольника, построенная путем указания ширины и высоты. Я рисую каркас и помещаю базовое изображение для каждого гексагона в холст. Затем холст прослушивает щелчок мышью. Затем я запускаю вычисление, чтобы определить, к какому шестнадцатеричному клику ближе всего. Я намерен изменить источник изображения, на который пользователь нажал.

Я знаю, что mapSlate.getChildByName (mapProperties [closeestHex] ['baseName']) - это предполагаемый гексагон, но я не могу дотянуться до того, как сделать .source, поскольку Flex не знает, что выбранный объект это изображение.

ответ

1

Если и уверены, что mapSlate.getChildByName(mapProperties[closestHex]['baseName']) является намеченная шестигранной и что на самом деле это Image, вы не можете бросить его в Image и изменить источник, как:

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

или

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

Awesome. Это именно то, что мне нужно. Я не знал синтаксиса, как классифицировать его как изображение. В качестве обходного пути я удалял изображение, создавая новый и помещая его. Это сработало, но оно было медленным. Этот метод намного быстрее. Спасибо. –

Смежные вопросы