PDA

Просмотр полной версии : Вставить мувик по клику.


UzerTeapot
01.02.2012, 15:33
Помогите, пожалуйста, чайнику с кодом. Буду очень благодарен.
Хочу сделать небольшую шутку-прикол. Имеется фотография и курсор в виде прицела. Необходимо чтобы по клику мышки в месте клика оставался след от пули, т.е. вставлялся мувик.

Hauts
01.02.2012, 17:12
1. Создаем в библиотеке мувиклип и называем его "bullet". В окне создания мувиклипа ставим галочку "Export for ActionScript" и рядом же прописываем в поле "Identifier" значение "bullet". Это нужно для того, чтобы можно было программно этот мувиклип добавлять на сцену.

2. В этом мувиклипе рисуем след от пули.

3. Возвращаемся на основную временную шкалу и щелкнув на кадре дописываем код:


this.onMouseDown = function(){
var newBulletDepth = this.getNextHighestDepth();
var newBullet = this.attachMovie("bullet", "bullet_" + newBulletDepth, newBulletDepth);
newBullet._x = this._xmouse;
newBullet._y = this._ymouse;
}


В принципе, все.

UzerTeapot
01.02.2012, 18:11
Огромная благодарность Вам, добрый человек, за помощь.
Осталось решить еще одну проблему.
Первый кадр у меня с меню, где можно выбрать фото. После обстрела фото и возврата в меню дырки от пуль остаются. Как быть?

Hauts
01.02.2012, 18:37
Создать пустой мувиклип и положить его поверх фото, в более высоком слое. Положить в нулевые координаты, в левый верхний край сцены. Этот мувиклип на сцене назвать (присвоить instance name), например, "bullets_holder". Ну и чуток поменять код:


this.onMouseDown = function(){
var newBulletDepth = bullets_holder.getNextHighestDepth();
var newBullet = bullets_holder.attachMovie("bullet", "bullet_" + newBulletDepth, newBulletDepth);
newBullet._x = this._xmouse;
newBullet._y = this._ymouse;
}


В таком случае все следы от выстрелов будут создаваться внутри одного клипа и при переходе по кадрам, не будут оставаться.

UzerTeapot
01.02.2012, 19:05
Еще раз благодарю за помощь. +15 к ауре.

Добавлено через 7 часов 33 минуты
Все хорошо, только дырки получаются сверху прицела. Никак не могу справиться с этим.

Hauts
02.02.2012, 07:08
Слой с прицелом нужно поместить выше слоя с клипом bullet_holder :)

dark256
02.02.2012, 14:11
После выстрела делайте:

прицел.swapDepths( там_где_лежит_клип_с_дырками.getNextHighestDepth() )

UzerTeapot
02.02.2012, 16:31
Спасибо всем. Я уже сам догадался что нужно прицел в самый верхний слой поместить -))

Добавлено через 54 минуты
Для желающих посмотреть результат ВОТ (http://kidala.ucoz.com/index/okhota_na_kidalu/0-18)