Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Переместить объект на передний план! (http://www.flasher.ru/forum/showthread.php?t=196196)

Aquahawk 21.08.2013 21:51

вот за это
Цитата:

stage.addChild(e.target);
руки бы оторвал

dimarik 21.08.2013 23:46

Для popup'ов ок.

UserSuperPupsik 22.08.2013 18:01

Спасибо, akopalipsis, .
Почитал, очень помогло, здесь даже примерчики были.
Цитата:

Что написать, чтобы объекты были на разных планах: circle был на 1-ом плане, a1 на 2-ом плане, a2 на 3-м плане?
Вот, что получилось:
Код AS3:

var container1:Sprite=new Sprite;//создать контейнер container1 для хранения кругов
 
var circle1:Sprite = new Sprite();//нарисовать круг 1 (circle1)
circle1.graphics.lineStyle(1, 0x000000);
circle1.graphics.beginFill(0x0000cc, 1);
circle1.graphics.drawCircle(0, 0, 40);
circle1.y=80;
circle1.x=170;
 
 
var circle2:Sprite = new Sprite();//нарисовать круг 2 (circle2)
circle2.graphics.lineStyle(1, 0x000000);
circle2.graphics.beginFill(0x33cc00, 1);
circle2.graphics.drawCircle(0, 0, 40);
circle2.y=95;
circle2.x=184;
 
var circle3:Sprite = new Sprite();//нарисовать круг 3 (circle3)
circle3.graphics.lineStyle(1, 0x000000);
circle3.graphics.beginFill(0xffff99, 1);
circle3.graphics.drawCircle(0, 0, 40);
circle3.y=122;
circle3.x=180;
 
var circle4:Sprite = new Sprite();//нарисовать круг 4 (circle4)
circle4.graphics.lineStyle(1, 0x000000);
circle4.graphics.beginFill(0xff9933, 1);
circle4.graphics.drawCircle(0, 0, 40);
circle4.y=145;
circle4.x=188;
 
container1.addChild(circle1);//поместить circle1 в container1
container1.addChild(circle2);//поместить circle2 в container1
container1.addChild(circle3);//поместить circle3 в container1
container1.addChild(circle4);//поместить circle4 в container1
addChild(container1);// поместить все объекты контейнера на сцену
//container2.addChild(container1);
//addChild(container2);
trace("container1.getChildIndex(circle):",container1.getChildIndex(circle1));//показать на каком плане объект(если число большое,то объект близко расположен от наблюдателя)
container1.setChildIndex(circle1,(container1.numChildren-1)); //переместить circle1 на передний план.
 
trace("container1.getChildIndex(circle):",container1.getChildIndex(circle1));//показать на каком плане объект
trace("container1.numChildren:",container1.numChildren);//показать количество планов(количество объектов) для container1

Добавлено через 22 минуты
Ребят, вот проблема: не могу с помощью setChildIndex изменить индекс e.target 'a по нажатии на него левой клавиши мыши(событие).Вот мой код, что здесь нужно исправить?

Код AS3:

import flash.events.MouseEvent;
var i:int=1
 
 
addEventListener(MouseEvent.CLICK,funct);
 
function funct(e:MouseEvent):void
                                                {
        if(i==1) {
                        e.target.startDrag();
                        trace(e.target.name,"has been taken");
 
                        i=2;
 
                        }
 
        else if (i==2){
                                e.target.stopDrag();
                                trace(e.target.name, "has been dropped");
                                i=1;
                                //e.target.x=100
                                //e.target.y=100
                                  }
                                                }


Уточню: как, применить этот метод
Код AS3:

container1.setChildIndex(circle1,(container1.numChildren-1));

к вот этому самому
Код AS3:

e.target

?

Добавлено через 58 минут
Всё, разобрался, благодарю всех участников, вот как должно быть:
Код AS3:

import flash.events.MouseEvent;
var i:int=1
 
 
addEventListener(MouseEvent.CLICK,funct);
 
function funct(e:MouseEvent):void
                                                {
        if(i==1) {
                        container1.setChildIndex(e.target as DisplayObject,(container1.numChildren -1));
                        e.target.startDrag();
                        trace(e.target.name,"has been taken");
 
                        i=2;
 
                        }
 
        else if (i==2){
                                e.target.stopDrag();
                                trace(e.target.name, "has been dropped");
                                i=1;
                                //e.target.x=100
                                //e.target.y=100
                                  }
                                                }



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

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