![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Apr 2012
Сообщений: 3
|
Вот такой код:
function onComplete(event:Event):void { var recivedData = loader.data; var recivedDataArray:Array = JSON.decode(recivedData); //вычисляем длинну полученного массива var handLength = recivedDataArray.length; //создаен переменные для использования внутри цикла var xCHCoor = 100; var yCHCoor = 600; var xCHOutlineCoor = 98; var yCHOutlineCoor = 598; var parametr = 0; //создаем массивы для того чтобы использовать их в цикеле для сериализации переменных var cardInHand:Array=[]; var сardInHandOutline:Array=[]; for(var iOne: int = 0; iOne < handLength; iOne++){ //переводим текст полученный с сервера в название класса объекта var cardInHandClass:Class = getDefinitionByName(recivedDataArray[iOne]) as Class; //отображаем "карты на руках" cardInHand[iOne] = new cardInHandClass(); cardInHand[iOne].x = xCHCoor; cardInHand[iOne].y = yCHCoor; addChild(cardInHand[iOne]); xCHCoor = xCHCoor + 80; //добавляем картинки "подсветки" карт сardInHandOutline[iOne] = new outlineForCardsInHandGreen(); сardInHandOutline[iOne].x = xCHOutlineCoor; сardInHandOutline[iOne].y = yCHOutlineCoor; addChild(сardInHandOutline[iOne]); xCHOutlineCoor = xCHOutlineCoor +80; сardInHandOutline[iOne].visible = false; //активируем подсветку при наведении cardInHand[iOne].addEventListener(MouseEvent.MOUSE_OVER, function (e:MouseEvent):void{ сardInHandOutline[iOne].visible = true; }); cardInHand[iOne].addEventListener(MouseEvent.MOUSE_OUT, function (e:MouseEvent):void{ сardInHandOutline[iOne].visible = false; }); } } Где ошибка? Что я не так написал? |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 453
|
Сделайте лучше отдельной функцией. а в ней вместо
сделаейте
|
|
|||||
|
Регистрация: Apr 2012
Сообщений: 3
|
Там по задумке появляется и исчезает рамочка вокруг основного объекта, а то что вы предложили приводит к исчезновению самого объекта
![]() |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 48
|
особенности областей видимости.
Функции работают, но во время выполнения iOne = handLength, то есть сardInHandOutline[iOne] = undefined Всю эту конструкцию можно обернуть в вызов функции (Javascript-way): //активируем подсветку при наведении ( function ( card:InteractiveObject, outline:DisplayObject ):void { card.addEventListener( MouseEvent.MOUSE_OVER, function ( e:MouseEvent ):void { outline.visible = true; } ); card.addEventListener( MouseEvent.MOUSE_OUT, function ( e:MouseEvent ):void { outline.visible = false; } ); } )( cardInHand[ iOne ], сardInHandOutline[ iOne ] ); class CardInHand extends Sprite { private var body:InteractiveObject; private var outline:DisplayObject; public function CardInHand( bodyClass:Class, outlineClass:Class ) { body = new bodyClass(); outline = new outlineClass(); addChild( body ); addChild( outline ); outline.visible = false; addEventListener( MouseEvent.ROLL_OVER, onRollOver ); addEventListener( MouseEvent.ROLL_OUT, onRollOut ); } private function onRollOver( e:MouseEvent ):void { outline.visible = true; } private function onRollOut( e:MouseEvent ):void { outline.visible = false; } } |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 453
|
Ага не заметил можно передать в переменную
а потом вызывать
как-то так |
|
|||||
|
Регистрация: Apr 2012
Сообщений: 3
|
Спасибо за ответы.
54321go: ваш новый вариант выдает ошибку: 1120: Обращение несуществующего свойства сardInHand. bublic_bicubic: этот вариант я сегодня уже не осилю(глаза в кучу под конец дня), завтра попробую и отпишу что получилось. Добавлено через 19 часов 10 минут bublic_bicubic: никак в толк не возьму как с классами, в том числе и с этим работать. Вот написал я его, а дальше с ним что делать? как его прикрутить к моему конкретному коду? Не судите строго, я только начал разбираться в АS... |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:31. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|