首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在闪存AS3中将对象置于最前面

在闪存AS3中将对象置于最前面
EN

Stack Overflow用户
提问于 2010-04-29 19:07:08
回答 5查看 20.1K关注 0票数 2

我有下面的代码,它基本上是动画对象在屏幕上,当滚动发生时,它暂停动画,并显示一些信息。一切都很好,但当它暂停时,我希望当前对象“在上面”,这样其他项目就会在后面。

我看过setChildIndex,但没有太多的运气。

代码语言:javascript
复制
package {

import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.Point;
import flash.events.KeyboardEvent;
import flash.events.*;
import caurina.transitions.Tweener;
import fl.motion.Color;

public class carpurchase extends Sprite {

    public function carpurchase() {

        var carX = 570;


        //Set cars
        var car1:fullCar = new fullCar();
        car1.info.alpha = 0;
        //var c:Color = new Color();
        //c.setTint(0xff0000, 0.8);
        //car2.car.transform.colorTransform=c;
        car1.x = carX;
        car1.y = 280;
        car1.info.title.text = "test";
        car1.info.desc.text = "test";
        addChild(car1);
        car1.addEventListener(MouseEvent.ROLL_OVER, carPause);
        car1.addEventListener(MouseEvent.ROLL_OUT, carContinue);
        function car1Reset():void {
            Tweener.addTween(car1, {x:carX, time:0, onComplete:car1Tween});
        }
        function car1Tween():void {
            Tweener.addTween(car1, {x:-120, time:2, delay:3, transition:"linear", onComplete:car1Reset});
        }
        car1Tween();


        var car2:fullCar = new fullCar();
        car2.info.alpha = 0;
        var c:Color = new Color();
        c.setTint(0xff0000, 0.8);
        car2.car.transform.colorTransform=c;
        car1.x = carX;
        car2.y = 175;
        car2.info.title.text = "test";
        car2.info.desc.text = "test";
        addChild(car2);
        car2.addEventListener(MouseEvent.ROLL_OVER, carPause);
        car2.addEventListener(MouseEvent.ROLL_OUT, carContinue);
        function car2Reset():void {
            Tweener.addTween(car2, {x:carX, time:0, onComplete:car2Tween});
        }
        function car2Tween():void {
            Tweener.addTween(car2, {x:-120, time:3, delay:0, transition:"linear", onComplete:car2Reset});
        }
        car2Tween();



        function carPause(e:MouseEvent):void {
            Tweener.pauseTweens(e.target);
            Tweener.addTween(e.target.info, {y:-150, alpha:1, time:.5, transition:"easeout"});
        }   
        function carContinue(e:MouseEvent):void {
            Tweener.addTween(e.target.info, {y:10, alpha:0, time:.5, transition:"easeout"});
            Tweener.resumeTweens(e.target); 
        }
    }
}

欢迎任何帮助

EN

回答 5

Stack Overflow用户

发布于 2010-05-01 17:29:05

只需在特定实例上使用addChild()即可。它将被放在“顶部”。

从帮助文件中:

将一个子DisplayObject实例添加到此DisplayObjectContainer实例。该子对象被添加到此DisplayObjectContainer实例中所有其他子对象的前面(顶部)。

是的,即使对象已经在显示列表中,它也是有效的。

票数 8
EN

Stack Overflow用户

发布于 2010-04-30 00:18:01

你试过setChildIndex吗?

票数 4
EN

Stack Overflow用户

发布于 2010-04-30 00:16:17

代码语言:javascript
复制
function carPause(e:MouseEvent):void {
    setChildIndex(e.target, numChildren-1);
    Tweener.pauseTweens(e.target);
    Tweener.addTween(e.target.info, {y:-150, alpha:1, time:.5, transition:"easeout"});
} 
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2736745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档