Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 使矩形边缘上的图像消失_Actionscript 3 - Fatal编程技术网

Actionscript 3 使矩形边缘上的图像消失

Actionscript 3 使矩形边缘上的图像消失,actionscript-3,Actionscript 3,我得在闪光灯里移动一些照片。所以我在我的主MovieClip中有一个背景图像(我通过Loader类获得)。在图像中我有矩形。我将把小图像放在这个矩形中,然后移动它。我需要小图像慢慢消失,而跨越矩形边界。 我试着把另一个电影剪辑放在矩形中,并在这个电影剪辑中移动图像。但是当穿过矩形时,图像并没有消失。图像只是继续运动,没有消失。 如何在跨越矩形边界时使图像不相似? 对不起我的英语 得到。这是一个动画“tweening”库,使动画变得轻松。还有其他的,但这是我用的 这取决于您移动和检测图像与矩形重叠

我得在闪光灯里移动一些照片。所以我在我的主MovieClip中有一个背景图像(我通过Loader类获得)。在图像中我有矩形。我将把小图像放在这个矩形中,然后移动它。我需要小图像慢慢消失,而跨越矩形边界。 我试着把另一个电影剪辑放在矩形中,并在这个电影剪辑中移动图像。但是当穿过矩形时,图像并没有消失。图像只是继续运动,没有消失。 如何在跨越矩形边界时使图像不相似? 对不起我的英语

  • 得到。这是一个动画“tweening”库,使动画变得轻松。还有其他的,但这是我用的

  • 这取决于您移动和检测图像与矩形重叠的方法

  • 让我们假设您有两个正方形(红色正方形和蓝色正方形),您希望红色正方形在与蓝色正方形重叠时淡出。这是用鼠标、键盘控制的,还是执行保证的eclipse的预先计算的移动?淡入度是重叠百分比的一个因素,还是与蓝色方块接触时的0到100的直线时间过渡?从您给出的描述中不清楚您希望代码做什么。请复习,以帮助提高问题的质量,从而获得所需的正确答案

    也就是说,有一种方法可以解决这个问题:

    import com.greensock.*;
    
    // Create some sample red & blue squares
    var red:Sprite = new Sprite();
    red.graphics.beginFill(0xFF0000, 1);
    red.graphics.drawRect(0, 0, 100, 100);
    red.graphics.endFill();
    
    addChild(red);
    stage.addEventListener(MouseEvent.MOUSE_MOVE, updateRed);
    
    var blue:Sprite = new Sprite();
    blue.graphics.beginFill(0x0000FF, 1);
    blue.graphics.drawRect(0, 0, 100, 100);
    blue.graphics.endFill();
    addChild(blue);
    blue.x = 200;
    blue.y = 100;
    
    var overlap:Boolean = false; // global state tracker
    
    function updateRed(e:MouseEvent):void {
        // Position the red square every time the mouse moves
        red.x = stage.mouseX - red.width/2; // center relative to red square's dimensions
        red.y = stage.mouseY - red.height/2;
    
        if (red.hitTestObject(blue) && overlap != true) {
            // Make sure we only animate on the initial overlap
            overlap = true;
            TweenLite.to(red, 1, {alpha:0});
        } else if (red.hitTestObject(blue) == false && overlap) {
            // And converserly, on the initial exit
            overlap = false;
            TweenLite.to(red, 1, {alpha:1});
        }
    }
    

    我需要红色方块在穿过蓝色方块时从1-100%慢慢消失。我不希望它在穿过另一个广场后立即100%消失。