Форум 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=116128)

Илья hatha 22.09.2008 11:59

Вот так работает —

В первом кадре пишем

Код:

var flag:Boolean = false;
На кнопке пишем

Код:

on (release) {
if (!flag) {
 attachMovie("asd","asd_mc",getNextHighestDepth(),{_x:100, _y:100});
 flag = true;
} else {
 removeMovieClip(asd_mc);
 flag = false;
}
}


lexa2000lexa 22.09.2008 12:12

на самом деле отучите себя писать на клипах и на кнопках.

Илья hatha 22.09.2008 12:35

Есть проблемы опять же..

Если одна такая кнопка работает корректно, то две работают только по очереди.
При включении разными кнопками разных мувиков, начинаются глюки:
включение второй раз, невозможность выключить.

А если надо кнопкой свет включить свет, другой телек включить, следующей кнопкой закрыть окно и так далее — перебирать мувики отдельно включающиеся и выключающиеся?

Илья hatha 22.09.2008 12:37

Цитата:

Сообщение от lexa2000lexa (Сообщение 765493)
на самом деле отучите себя писать на клипах и на кнопках.

я бы с радостью, но пока по другому не получается. учту совет на будущее

lexa2000lexa 22.09.2008 12:41

вот по этому стоит писать так
Код:

ваша кнопка.onRelease = function  (){
        if (!this.flag) {
        attachMovie("asd","asd_mc",getNextHighestDepth(),{_x:100, _y:100});
        this.flag = true;
        }
                else {
                removeMovieClip(asd_mc);
                this.flag = false;
                }
}

это нужно писать на кадре.

Илья hatha 22.09.2008 13:08

Работает! Отлично, без глюков.
А если несколько мувиков одновременно? То вот так? —

Код:

ваша кнопка.onRelease = function  (){
        if (!this.flag) {
        attachMovie("asd","asd_mc",getNextHighestDepth(),{_x:100, _y:100});
          attachMovie("asd2","asd2_mc",getNextHighestDepth(),{_x:100, _y:100});
          attachMovie("asd3","asd3_mc",getNextHighestDepth(),{_x:100, _y:100});
        this.flag = true;
        }
                else {
                removeMovieClip(asd_mc);
                removeMovieClip(asd2_mc);
                removeMovieClip(asd3_mc);
                this.flag = false;
                }
}


lexa2000lexa 22.09.2008 13:41

а если нужно много мувиков то можно вот так
Код:

var kol:Number = 20
ваша кнопка.onRelease = function  (){
        for(var i:Number = 1; i<kol;i++){
                trace(i)
                if (!this.flag) {
                        attachMovie("asd"+i,"asd"+i+"_mc",getNextHighestDepth(),{_x:100*i, _y:100});
                        if(i==kol){
                                this.flag = true;
                        }
                }
                        else {
                        removeMovieClip(this._parent["asd"+i+"_mc"]);
                        if(i==kol){
                                this.flag = false;
                        }
                        }
        }
}


Илья hatha 22.09.2008 14:52

я так понял это умножение одного мувика.

а надо несколько разных
к примеру asd1, asd2, asd3.

lexa2000lexa 22.09.2008 14:59

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

NoCD 22.09.2008 16:19

Код:


var number:Number=0
var number2:Number=0
for(i=0;i<=10;i++)
{for(j=0;j<=10;j++)
{number++
name="button"+number
_root["btn_on"+number]=1
attachMovie("button",name,_root.getNextHighestDepth())
_root[name]._x=30*i+30
_root[name]._y=30*j+30
buttons(_root[name],number)
}}

for(i2=0;i2<=10;i2++)
{for(j2=0;j2<=10;j2++)
{number2++
name2="lamp"+number2
attachMovie("lamp",name2,_root.getNextHighestDepth())
_root[name2]._x=30*i2+400
_root[name2]._y=30*j2+45
_root[name2].gotoAndStop(1)
        }}
       
function buttons(ind,step_ind)
{ind.onPress=function()
{name3="lamp"+step_ind
_root["btn_on"+step_ind]++
if(_root["btn_on"+step_ind]==3)
{_root["btn_on"+step_ind]=1}
_root[name3].gotoAndStop(_root["btn_on"+step_ind])
}}

button - мувик
lamp - мувик


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

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