Flash游戏背景的循环滚动实现
Flash游戏背景的循环滚动实现 ???by:童年 我们在做flash游戏的时候有时候要用到背景滚屏技术,今天在天地会看到一个兄弟问这方面的问题,咱们就来探讨下怎么循环滚动背景图片吧。
设置文档类:BgLoop package { import flash.display.Sprite; import flash.events.Event; /** * ... * @author Childhood */ public class BgLoop extends Sprite { private var bg:Sprite; private var bgClone:Sprite; private var speed:Number; private var offSet:Number; public function BgLoop():void { speed = -5.0; bg = new Background(); bgClone = new Background(); offSet = bg.width - stage.stageWidth; addChild(bg); addChild(bgClone); initPos(); addEventListener(Event.ENTER_FRAME,loopBg); } private function initPos(dist:Number = 0):void { bg.x = 0 - dist; bgClone.x = bg.width - dist; bg.y = bgClone.y = 120; } private function loopBg(e:Event):void { bg.x += speed; bgClone.x += speed; if (bgClone.x + bgClone.width <= stage.stageWidth) { initPos(offSet); } } } }
图1
图2
图3 当然我们也可以把2个图合成一个图,当这个合成图的右边界往左运动到达舞台的右边界这个界限时,需要把此时大图的x坐标设置为(x+大图.width/2)。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |