我想在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);
}
}
}
我希望这个背景下移不动,请帮帮我
答案 0 :(得分:0)
看看这个示例,包装一个对象是一个非常简单的想法。确保您的乘数设置为您要包裹的道路数量。
if (road.y > 600) {
road.y -= road.y * 2;
} else {
road.y++;
}
答案 1 :(得分:0)
可能是您的roadContainer
包含道路,因此当您移动roadContainer
时,您也会移动道路。
所以,只需移动不要让它包含,添加当你移动background.y ++时,道路会喜欢向上移动