Форум 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)
-   -   дубликация (http://www.flasher.ru/forum/showthread.php?t=67300)

Uvnik 29.07.2005 22:53

дубликация
 
Вот код у патрона который должен вылетать рядом с клипом ship


onClipEvent (load) {
laserMoveSpeed = 35;
this._y = _root.rship._y+15;
this._x = _root.rship._x+53;
}
onClipEvent (enterFrame) {
this._x += laserMoveSpeed;
if (this._x>520) {
this.removeMovieClip() ;
}
}
onClipEvent (enterFrame) {
for (i=1; i<=_root.numEnemy; i++) {
if (this.hitTest(_root[ "enemy"+i])) {
_root.score += 100;
_root[ "enemy"+i].gotoAndPlay(2) ;
}
}
}

А код у того клипа(ship):

onClipEvent (load) {
maxLasers = 6;
laserCounter = 1;
depthCounter = 1;
moveSpeed = 15;
_root.laser._visible = false;
}
onClipEvent (enterFrame) {
if (Key.isDown(Key.SPACE)) {
laserCounter++;
_root.laser.duplicateMovieClip("laser"+laserCounter, laserCounter) ;
_root["laser"+laserCounter]._visible = true ;
}
}


Один патрон вылетает, но как мне сделать чтобы вылетал также патрон по имени laz и летел точно так же как и laser , но чуть выше(где то на 20 px) я пытался делать копию кода у ship и менял имена ,но втрой патрон не вылетает!Всякие там глюки.....Как мне сделать чтобы вылетало 2 патрона и они разные (laser+"i" и laz+"i") клипы???

Uvnik 31.07.2005 15:37

Неужели ни кто не знает в чём праблы???Почему переименовывание не помогает???Работает тока с одним клипом...... :mad: http://www.smailiki.nm.ru/gru/1_8.gif

iNils 31.07.2005 15:57

исходник лучше дай.

KidsKilla 31.07.2005 16:31

пацаны! тут у меня сайтик http://microsoft.com, в нём ошибка, не могу разобраться, посмотрите, плз где-что? заранее спасибо! (c) не помню кто сказал...

Uvnik 31.07.2005 22:32

Гы гы :D -7mb!Ну я упрошу и выставлю(там у меня сплошной jpg)

Uvnik 01.08.2005 16:21

исходник
 
Вложений: 1
Вот.......ship3 я так упростил, потому что он такой тока с чють большей геометрией(как в ship2) весил 1.26 mb!Ship3.fla -это то что я описывал .Ship2.fla -это другой вариан ,в нем праблы что когда патроны касаютя клипа enemy то они не удаляются! :(

iNils 01.08.2005 16:27

Общее замечание:
Все твои проблемы в том, что используешь методику 5-го флеша и раскидываешь код по всему флешу. Я насчитал у тебя 6 обработчиков enterFrame.

Код надо распологать централизованно в одном месте. Тогда легче будет отслеживать что у тебя с чем конфликтует, хотя половина конфликтов сама по себе исчезнет.

Uvnik 03.08.2005 14:34

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

Uvnik 03.08.2005 14:37

Кстати, я делал это по статье для 5-го флэша.....надо же...какой промох.
А как это перевести на 6-ой флэш? :( :confused:

NeZnayKa 03.08.2005 16:56

Вложений: 1
не знаю почему ремовмовиклип не работала...
но с визибл работает как надо

Uvnik 04.08.2005 21:56

усложнение...
 
Теперь надо ещё упростить,тоесть усложнить.Надо стоб патрон вылетал тока каждую половину секунды, а не постоянно, ну что-нибудь типа указываеш время во скоко будет вылетать,типа laserTime=0.5 ,а дальше скрипт......

Uvnik 05.08.2005 21:16

А можно разъяснить?Вот действие а клипе

this._visible = 0;
, а как оно действует? Подобно _alpha?Тоесть не видно а хиттеситься?а если написать this._visible = false; эффект тот жэ?

iNils 06.08.2005 02:36

Цитата:

Сообщение от Uvnik
А можно разъяснить?Вот действие а клипе

this._visible = 0;
, а как оно действует? Подобно _alpha?Тоесть не видно а хиттеситься?а если написать this._visible = false; эффект тот жэ?

1. _visible=false и _visible=0 одно и тоже
2. Оно лучше чем _alpha = 0, тем что графика в ней не просчитывается и поэтому требует меньше ресурсов. Но при этом также просчитывается с помощью hitTest

Uvnik 07.08.2005 00:08

Мда.......опять облом.......ведь летящих кораблей будет много тогда можно убить один и ещё скоко нибудь невидимым потроном....хотя есть выход!Можно при сталкновении патрон выкидывать сразу за 620 по оси x,тогда патрон удалиться!Должен....

Uvnik 08.08.2005 14:04

Тогда как должен выглядеть код что бы удалялся каждый второй патрон???
Вот исходный код

Код:

onClipEvent (load) {
        laserCounter = 1;
        _root.laser._visible = false;
}
onClipEvent (enterFrame) {
        if (Key.isDown(Key.SPACE)) {
                laserCounter++;
                _root.laser.duplicateMovieClip("laser"+laserCounter, laserCounter);
                _root["laser"+laserCounter]._visible = true;
        }
}


Uvnik 15.08.2005 21:33

Ладно .....думаю надо сделать функцию под именем mxlas, и типа там должно быть вроде написано то что надо
_root.laser["delCounter"].virable=0
_root.laser["delCounter"]._x=620
И они удаляться и ещё вроде надо сделать масив где будут цифры -номера лазеров которые надо удалить.....и как то всё это соединисть.....
Функции и массивы(а тем более вытаскивать от туда информацию) я делать не умею
Плиз ХЕЛП!


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

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