使用ActionScript 3.0向下滚动视差

时间:2014-10-17 23:43:01

标签: actionscript-3 flash

  

我想在as3中使用flash创建道路视差向下滚动,当我运行脚本时,视差向上移动。这是我的代码

package {
import flash.display.MovieClip;
import flash.events.Event;

public class kelas extends MovieClip{
  

这我创建了变量

    public var road:road1;
    public var road2:road1;
    public var roadContainer:MovieClip;
    public var roadBreadth:Number;
    public var car:Car;

    public function kelas(){
  

这创造了汽车,道路和集装箱

        car = new Car();
        road = new road1();
        road2 = new road1();
        roadBreadth = 653.7;

        car.y = 10.0;
        car.x = 10;
        road.y = 10.0;
        road.x = 10;
        road2.y = road.y + roadBreadth;
        road2.x = road.x;

        //* add child object
        roadContainer = new MovieClip();
        roadContainer.addChild(road);
        roadContainer.addChild(road2);
        this.addChild(roadContainer);

        this.addEventListener(Event.ENTER_FRAME, onEnterFrame);

public function onEnterFrame(event:Event):void
    {

        car.y = car.y + 15;
        roadContainer.y = 10 - car.y + 10;

        if (road.y + roadBreadth + roadContainer.y < 0)
        {
            road.y = road.y + (2 * roadBreadth);
        }
        if (road2.y + roadBreadth + roadContainer.y < 0)
        {
            road2.y = road2.y + (2 * roadBreadth);
        }
    }
}   
  

我希望这个背景下移不动,请帮帮我

2 个答案:

答案 0 :(得分:0)

看看这个示例,包装一个对象是一个非常简单的想法。确保您的乘数设置为您要包裹的道路数量。

if (road.y > 600) {
    road.y -= road.y * 2;
} else {
    road.y++;
}

答案 1 :(得分:0)

可能是您的roadContainer包含道路,因此当您移动roadContainer时,您也会移动道路。 所以,只需移动不要让它包含,添加当你移动background.y ++时,道路会喜欢向上移动

相关问题