ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)
Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)
Александр
это экземпляры мувиклипов. windowInfo имелось ввиду уже выведен на сцену, в него я добавил needMoreGold.
Что ж, странно, буду разбираться. Спасибо)
это экземпляры мувиклипов. windowInfo имелось ввиду уже выведен на сцену, в него я добавил needMoreGold.
Что ж, странно, буду разбираться. Спасибо)
Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)
Упс, что-то я темы попутал и не туда отправил...
Ладно, повторю тут.
Вот такой вопрос созрел: есть слушатель мыши на событие MOUSE_WEEL, который реагирует на прокрутку колесика (к примеру, у меня он отвечает за скроллинг карты), но есть проблема - помимо прокрутки карты в самой флешке так же прокручивается всё окно браузера. Можно ли это как-то изменить?
И заодно - MOUSE_WEEL не работает в IE8 и в мозиле, но работает в хроме - это нормально или у меня где-то баг?
Ладно, повторю тут.
Вот такой вопрос созрел: есть слушатель мыши на событие MOUSE_WEEL, который реагирует на прокрутку колесика (к примеру, у меня он отвечает за скроллинг карты), но есть проблема - помимо прокрутки карты в самой флешке так же прокручивается всё окно браузера. Можно ли это как-то изменить?
И заодно - MOUSE_WEEL не работает в IE8 и в мозиле, но работает в хроме - это нормально или у меня где-то баг?
Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)
Код: Выделить всё
var mc = new mc_rec();function Main() {addChild(mc);} Main()stage.addEventListener(MouseEvent.CLICK,function (event:MouseEvent){ mc.x=100; addChild(mc); trace(mc.numChildren); })
-
- Сообщения: 429
- Зарегистрирован: 22 июн 2012, 17:50
Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)
112
Один и тот же мувик - нельзя. Нужно сделать массив мувиков и каждый раз создавать новый мувиклип, а затем обращаться к нему через массив.
Один и тот же мувик - нельзя. Нужно сделать массив мувиков и каждый раз создавать новый мувиклип, а затем обращаться к нему через массив.
Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)
выше правильно сказано... а теперь в действии
например, такой код будет добавлять на сцену мувики по клику, смещяя каждый на 100 пикс. (учитывая что в библиотеке привязанный класс - mc_rec)
например, такой код будет добавлять на сцену мувики по клику, смещяя каждый на 100 пикс. (учитывая что в библиотеке привязанный класс - mc_rec)
Код: Выделить всё
var mcs:Array = new Array(); //ссылки на клипыstage.addEventListener(MouseEvent.CLICK, clickF);function clickF(e:MouseEvent):void { var mc:MovieClip = MovieClip(new mc_rec()); mc.x = mcs.length * 100; mcs.push(mc); addChild(mc);}
Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)
sasha^
как мне теперь к нему правильно обратиться?
Я допустим хочу удалить его
Если как то так ,то она начинает все подряд со сцены удалять
как мне теперь к нему правильно обратиться?
Я допустим хочу удалить его
Код: Выделить всё
removeChildAt(mcs.mc);
Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)
112
mcs - массив, хранящий ссылки на мувиклипы, которые отображаются на сцене..., а обращаться можно по индексам массива..
удалить первый мувиклип можно так:
но даже после этого в массиве будет ссылка на этот мувик,не отображаемый, но который будет занимать память..
для того чтобы очистить - нужно удалить первый элемент массива, а остальное - дело сборщика мусора
например, этот код на экран выводит мувик, но каждый раз со смещением 100пх. и в массиве хранить всего одну ссылку - на этот мувик, а остальные - удаляет...
mcs - массив, хранящий ссылки на мувиклипы, которые отображаются на сцене..., а обращаться можно по индексам массива..
удалить первый мувиклип можно так:
Код: Выделить всё
removeChild(mcs[0]);
для того чтобы очистить - нужно удалить первый элемент массива, а остальное - дело сборщика мусора
например, этот код на экран выводит мувик, но каждый раз со смещением 100пх. и в массиве хранить всего одну ссылку - на этот мувик, а остальные - удаляет...
Код: Выделить всё
var i:uint = 0;var mcs:Array = []; //ссылки на клипыstage.addEventListener(MouseEvent.CLICK, clickF);function clickF(e:MouseEvent):void { var mc:MovieClip = MovieClip(new mc_rec()); // создаем мувик mc.x = i * 100; i++; // устанавливаем его х и инкрементируем счетчик mcs.push(addChild(mc)); // добавляем на сцену и в массив delF();// удаляем если нужно, оставляя всего только-что добавленный}function delF():void { if(int(mcs.length/2) > 0) { //если один мувик - ничего не делаем removeChild(mcs.shift()); // удаляем первый элемент из массива и сцены }}
Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)
Можно ли как-то сделать так что бы запустилось нужное количество клипов?
надо вместо кк что то.
private function onMC(e:MouseEvent){
var i:int=4; //Сюда приходит число из базы от 1 до 10
for (i; i>0; i--);
e.currentTarget.kk.play(); // Может что то типа ["kk"+i]
}
Или так нельзя?
p.s. kk1,kk2,kk3... это имена экземпляров созданых в самом флеше. В коде они не добавляются.
надо вместо кк что то.
private function onMC(e:MouseEvent){
var i:int=4; //Сюда приходит число из базы от 1 до 10
for (i; i>0; i--);
e.currentTarget.kk.play(); // Может что то типа ["kk"+i]
}
Или так нельзя?
p.s. kk1,kk2,kk3... это имена экземпляров созданых в самом флеше. В коде они не добавляются.
Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)
getChildByName() как оказлось решает мою проблему
Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)
AlexQW, можно и так
e.currentTarget["kk"+i].play();
e.currentTarget["kk"+i].play();