Flash游戏背景的循环滚动实现
Flash游戏背景的循环滚动实现 by:童年
我们在做flash游戏的时候有时候要用到背景滚屏技术,今天在天地会看到一个兄弟问这方面的问题,咱们就来探讨下怎么循环滚动背景图片吧。
首先我们需要一张宽度比舞台Stage宽的一张位图,在这里,我在FlashIDE里面做了个元件,没有用位图。导出链接为Background,如下图所示。
设置文档类: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);}}}
}
关键代码在29、30、39、40行,为方便说明,我用3幅图来解释下。
图1:bg和bgClone的初始位置,他们的y坐标我是随便给的。但x坐标可不是随意的哦。
图1
图2:当bg和bgClone往左运动到bgClone的右边界在舞台右边界这个临界时,我们需要将bg和bgClone的位置重置为图3画面的中第二行图形,他们的舞台显示是一样的。
图2
图3:我们在舞台范围内看到的图形在图2中是属于bgClone的,但为了循环,现在需要将舞台上的图形重置为bg的,条件就是bg在舞台上的显示需要和bgClone的显示位置一摸一样,不能有偏差。可以看到图2的舞台显示和图3的第二行图形的舞台显示是一样的,其实就是图1的bg和bgClone整体往左移动offSet距离。(或者可以认为是图2的2张图整体往右移动bg.width长度)
图3
当然我们也可以把2个图合成一个图,当这个合成图的右边界往左运动到达舞台的右边界这个界限时,需要把此时大图的x坐标设置为(x+大图.width/2)。
转载于:https://my.oschina.net/game007/blog/92805
Flash游戏背景的循环滚动实现相关推荐
- creator图片循环显示_Cocos creator 游戏背景循环滚动--Javascript编写
Javascript编写 cc.Class({ extends: cc.Component, properties: { near_bg: [cc.Node],//背景云 2幅图 far_bg: ...
- 如何用Java实现图片的无缝连接循环滚动
文章目录 一.前言 二.实现思路 三.实现方法 四.实现效果 五.参考代码 六.图片要求 七.总结 一.前言 刚好这周是学校的软件实训周,要做一个类似飞机大战的游戏,可是要实现更好效果的飞机大战游戏, ...
- 【Android】ViewPager实现无限循环滚动
最近做的一个项目,客户要求在ViewPager实现的主页面中滑动到最后一页后继续滑动能返回到第一页,也就是实现无限循环滚动,效果如下: 看了下ViewPager没有滑到尽头的回调方法,因此想到的解决方 ...
- html滑动直播,HTML5 canvas实现的静态循环滚动播放弹幕
本文主要介绍了HTML5 canvas实现的静态循环滚动播放弹幕,分享给大家,具体如下: 使用方法和API 语法如下: canvasBarrage(canvas, data); 其中: canvas ...
- android 炫酷背景,炫酷-背景图垂直循环滚动登录页,Android RecyclerView实现
炫酷-背景图上下循环滚动登录页,Android RecyclerView实现方法 某站的登录页背景不停循环滚动,和街边的广告箱很像,感觉不错我也心动了.决定高仿一下,参考了几篇文章后就动手了. 实现步 ...
- 因为这两天比较忙,所以没有及时把要发表的东西写来.废话少说:我前面把两个简单的滚动说了下.接下来介绍第三种集合循环滚动....
下面我来说下集合滚动.在silverlght中没有html那样简单一句话就能实现循环滚动.既:marquee. 原始的例:<marquee οnmοuseοver="stop()&qu ...
- JQuery图片无限循环滚动源码
平常项目中经常用到图片循环滚动,所以就写些必要的CSS定位,JS基本算法,最后就封装成JQuery图片无限循环滚动插件类,其实本质上是li块无限循环滚动,li块里面不管是图片还是其它内容,都OK的. ...
- android 桌面循环滚动字幕,循环滚动字幕
我们知道多媒体文件是由多个stream组成,每个stream对应不同的内容.比如视频,音频,字幕. 如果要用A视频的图像,B视频的音乐,生成C视频.原理就是提取出A视频的视频流数据,B视频的的音频流数 ...
- android listview 自动循环滚动条,ListView的自动循环滚动显示【原创】
最近项目里需要做评价内容的循环滚动显示,一开始想到的就是定时器.后来查了资料才知道ListView里面有个函数smoothScrollToPosition(position),瞬间觉得简单了很多.首先 ...
最新文章
- win8 explorer 进程频繁奔溃的原因及处理
- UA MATH567 高维统计I 概率不等式7 亚指数性与亚指数分布
- [HOW TO]-github/gitee私有项目用户名密码免输入
- Windows 8 系列 --Block Game --随笔
- [精品]CSAPP Bomb Lab 解题报告(三)
- QML笔记-JavaScript在QML中的使用(直接调用和间接调用)
- oracle通过DBlink连接mysql
- 软件项目管理的20条锦囊妙计
- 朴宥拉短片突破了几百万的观看量
- 关于引用lightbox源码
- JavaScript文档对象模型DOM节点操作之父节点和子节点(2)
- 【渝粤教育】电大中专机电设备管理作业 题库
- jQuery导入Eclipse后报错解决方法
- cadence PCB走等长线设置
- 基于Python的淘宝用户行为数据分析
- oracle英文怎么转中文,ORACLE英文字符集转中文
- 威胁猎人|改机工具在黑灰产中的应用
- android_静默安装/adb执行/软件搬家/消息派发
- c 语言 登陆窗口界面,c/c++语言实现登陆界面
- 2013年中国最新MBA学费对比