Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   dublicateMovieClip - не понимаю (http://www.flasher.ru/forum/showthread.php?t=93109)

romulko 14.03.2007 01:38

dublicateMovieClip - не понимаю
 
Доброй ночи, коллеги.
Пожалуйста, помогите написать простейший код дублирования клипа. Вот пример того, что я сваял вручную, размещая мувики трещин в новом слое и на новом кадре инкрементируя единичку, и, на событии onMouseDown перемещался на один кадр вперед, чем запуская новую трещину (желательно кликнуть с интервалом пару секунд и только четыре раза ударить, так как там больше нет мувиков трещин) –

http://www.ifrastudio.com/test/111.swf


А надо, чтобы мувик трещины просто дублировался в том месте, где был сделан удар молотком (то есть, после дублирования привязывались координаты).
Пожалуйста, помогите мне написать код дублирования, а то я ниак не могу сам понять, как эта функция работает – dublicateMovieClip
В моей книге по программингу только одна страница по этой функции, потому, не могу разобраться, что и как.
Уже второй день в депрессии…
Спасибо большое!

this.create 14.03.2007 01:42

Не проще вставлять в место удара мувик трещины из библиотеки?

CorC 14.03.2007 10:03

http://livedocs.adobe.com/flash/8/main/00002452.html
а именно
(копируемый клип).duplicateMovieClip("(имя нового)", "(глубина)", (свойства));
хотя свойства необязательно

LeXi42006 14.03.2007 10:39

Я это так сделал:
Код:

var i=0;
d = "mc"
_root.onMouseDown = function  () {
        duplicateMovieClip("_root.mc", "mc"+i, i)
        _root[d+i]._x = _root._xmouse
        _root[d+i]._y = _root._ymouse
        i++
}

где мувик трещины - "mc"

CorC 14.03.2007 11:20

Цитата:

Сообщение от LeXi42006
Код:

duplicateMovieClip("_root.mc", "mc"+i, i)

жуть просто :)

romulko 14.03.2007 13:11

Вложений: 1
Ребята, спасибо что помогли... но, я ничего не могу сделать - не дублирует он мувик :(
ПОжалуйста, скажите, в чем зедсь дело???
Пробывал и код LeXi42006 и разбиратся в хелпе CorC'а - ничего не помогло....
ВОт, что-то сваял - но там только один мувик создается. после удара, он удаляется и появляется новый. А нужно, чтобы все сохранялись.
Исходинк в аттачменте.

CorC 14.03.2007 14:00

Код:

Mouse.hide();
var i = 1;
onMouseMove = function () {
        this.molotok._x = this._xmouse+70;
        this.molotok._y = this._ymouse-200;
        updateAfterEvent();
};
onMouseDown = function () {
        this.molotok.gotoAndPlay("s1");
        mc1=_root.mc.duplicateMovieClip("mc"+i, ++i);
        _root.mc1._y = this._ymouse-220;
        _root.mc1._x = this._xmouse-390;
        updateAfterEvent();
};

лишь чуток переделал то :)
правда ошибочку вижу, но нестрашную...

З.Ы.: если ПКМ то hidemouse не помогает :)

romulko 14.03.2007 14:47

уфф, наконец то, Все работает! ПАСИБА CorC.:yahoo:
Сваял уже сам код удаление мувика. Теперь я мастер! :bye:

romulko 16.03.2007 02:33

Ребята, доброй ночи.
Стыдно, конечно, но опять не работает как надо - трещины образуются над молотком, хотя слой ниже него. Глубина молотка не та, что ли? Но ведь дубликат формируется ниже него, почему же трещина залазит поверх молотка?

И при дублировании больше 20-30 трещин флешка очень сильно начинает виснуть.

Ребята, пожалуйста, помогите советом – в чем здесь дело?
Исходник и мувик в архиве http://www.ifrastudio.com/test/Untitled-1.rar
Эту штуку делаю за спасибо, но вот усилий уже столько потратил, что даже страшно подумать….

CorC 16.03.2007 10:17

Цитата:

Сообщение от romulko
Глубина молотка не та, что ли? Но ведь дубликат формируется ниже него

неправда, у молотка глубина отрицательная
а у трещин больше 0
лечится swapDepths'ом
Цитата:

Сообщение от romulko
И при дублировании больше 20-30 трещин флешка очень сильно начинает виснуть.

это если водить мышой по трещинам :)
Цитата:

Сообщение от romulko
Эту штуку делаю за спасибо, но вот усилий уже столько потратил, что даже страшно подумать….

за спасибо такие вещи не делают :)

З.Ы.: если нажать на морду, а потом не отпуская отвести молоток
и отпустить то трещина не удалиться, и остался баг с ПКМ

romulko 16.03.2007 12:27

CorC - спасибо огромное за помощь. Все сделал как надо. Единое, что волнует – мувик болеет после 30 ударов висняком. Можно это как-то обойти, или лучше не заморачиваться?
Ибо это не смертельно, но если не трудно объяснить, почему оно висит, буду вдвойне благодарен.
Уменьшил fps до 24, уменьшил саму картинку трещины, убрал анимацию трещины (поначалу там была анимированная маска).

CorC 16.03.2007 12:48

можно мувики по одному удлять если их больше определенного кол-ва


Часовой пояс GMT +4, время: 19:49.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.