ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
Аватара пользователя
Ugly
Сообщения: 16
Зарегистрирован: 13 янв 2013, 11:03

Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)

Сообщение Ugly »

Александр
это экземпляры мувиклипов. windowInfo имелось ввиду уже выведен на сцену, в него я добавил needMoreGold.
Что ж, странно, буду разбираться. Спасибо)
Аватара пользователя
Ugly
Сообщения: 16
Зарегистрирован: 13 янв 2013, 11:03

Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)

Сообщение Ugly »

Упс, что-то я темы попутал и не туда отправил...

Ладно, повторю тут.
Вот такой вопрос созрел: есть слушатель мыши на событие MOUSE_WEEL, который реагирует на прокрутку колесика (к примеру, у меня он отвечает за скроллинг карты), но есть проблема - помимо прокрутки карты в самой флешке так же прокручивается всё окно браузера. Можно ли это как-то изменить?
И заодно - MOUSE_WEEL не работает в IE8 и в мозиле, но работает в хроме - это нормально или у меня где-то баг?
Аватара пользователя
112
Модератор
Модератор
Сообщения: 2215
Зарегистрирован: 02 фев 2010, 21:53

Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)

Сообщение 112 »

Код: Выделить всё

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);             })  
mc -мувик в библиотеке ,при addChild он добавляется только один раз.Возможно ли сделать чтобы он мог добавляться на сцену таким образом много раз,и как ими можно будет управлять(т.е идентифицировать)?
Casperovskii
Сообщения: 429
Зарегистрирован: 22 июн 2012, 17:50

Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)

Сообщение Casperovskii »

112
Один и тот же мувик - нельзя. Нужно сделать массив мувиков и каждый раз создавать новый мувиклип, а затем обращаться к нему через массив.
sasha^
Сообщения: 711
Зарегистрирован: 10 сен 2012, 16:52

Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)

Сообщение sasha^ »

выше правильно сказано... а теперь в действии :)
например, такой код будет добавлять на сцену мувики по клику, смещяя каждый на 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);}
Аватара пользователя
112
Модератор
Модератор
Сообщения: 2215
Зарегистрирован: 02 фев 2010, 21:53

Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)

Сообщение 112 »

sasha^
как мне теперь к нему правильно обратиться?
Я допустим хочу удалить его

Код: Выделить всё

removeChildAt(mcs.mc); 
Если как то так ,то она начинает все подряд со сцены удалять
sasha^
Сообщения: 711
Зарегистрирован: 10 сен 2012, 16:52

Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)

Сообщение sasha^ »

112
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()); // удаляем первый элемент из массива и сцены    }}
AlexQW
Сообщения: 16
Зарегистрирован: 17 апр 2012, 21:48

Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)

Сообщение AlexQW »

Можно ли как-то сделать так что бы запустилось нужное количество клипов?
надо вместо кк что то.

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... это имена экземпляров созданых в самом флеше. В коде они не добавляются.
AlexQW
Сообщения: 16
Зарегистрирован: 17 апр 2012, 21:48

Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)

Сообщение AlexQW »

getChildByName() как оказлось решает мою проблему :)
IndieGD
Сообщения: 124
Зарегистрирован: 28 май 2013, 19:20

Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)

Сообщение IndieGD »

AlexQW, можно и так
e.currentTarget["kk"+i].play();
Ответить