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游戏背景的循环滚动实现相关推荐

  1. creator图片循环显示_Cocos creator 游戏背景循环滚动--Javascript编写

    Javascript编写 cc.Class({ extends: cc.Component, properties: { near_bg: [cc.Node],//背景云   2幅图 far_bg: ...

  2. 如何用Java实现图片的无缝连接循环滚动

    文章目录 一.前言 二.实现思路 三.实现方法 四.实现效果 五.参考代码 六.图片要求 七.总结 一.前言 刚好这周是学校的软件实训周,要做一个类似飞机大战的游戏,可是要实现更好效果的飞机大战游戏, ...

  3. 【Android】ViewPager实现无限循环滚动

    最近做的一个项目,客户要求在ViewPager实现的主页面中滑动到最后一页后继续滑动能返回到第一页,也就是实现无限循环滚动,效果如下: 看了下ViewPager没有滑到尽头的回调方法,因此想到的解决方 ...

  4. html滑动直播,HTML5 canvas实现的静态循环滚动播放弹幕

    本文主要介绍了HTML5 canvas实现的静态循环滚动播放弹幕,分享给大家,具体如下: 使用方法和API 语法如下: canvasBarrage(canvas, data); 其中: canvas ...

  5. android 炫酷背景,炫酷-背景图垂直循环滚动登录页,Android RecyclerView实现

    炫酷-背景图上下循环滚动登录页,Android RecyclerView实现方法 某站的登录页背景不停循环滚动,和街边的广告箱很像,感觉不错我也心动了.决定高仿一下,参考了几篇文章后就动手了. 实现步 ...

  6. 因为这两天比较忙,所以没有及时把要发表的东西写来.废话少说:我前面把两个简单的滚动说了下.接下来介绍第三种集合循环滚动....

    下面我来说下集合滚动.在silverlght中没有html那样简单一句话就能实现循环滚动.既:marquee. 原始的例:<marquee οnmοuseοver="stop()&qu ...

  7. JQuery图片无限循环滚动源码

    平常项目中经常用到图片循环滚动,所以就写些必要的CSS定位,JS基本算法,最后就封装成JQuery图片无限循环滚动插件类,其实本质上是li块无限循环滚动,li块里面不管是图片还是其它内容,都OK的. ...

  8. android 桌面循环滚动字幕,循环滚动字幕

    我们知道多媒体文件是由多个stream组成,每个stream对应不同的内容.比如视频,音频,字幕. 如果要用A视频的图像,B视频的音乐,生成C视频.原理就是提取出A视频的视频流数据,B视频的的音频流数 ...

  9. android listview 自动循环滚动条,ListView的自动循环滚动显示【原创】

    最近项目里需要做评价内容的循环滚动显示,一开始想到的就是定时器.后来查了资料才知道ListView里面有个函数smoothScrollToPosition(position),瞬间觉得简单了很多.首先 ...

最新文章

  1. win8 explorer 进程频繁奔溃的原因及处理
  2. UA MATH567 高维统计I 概率不等式7 亚指数性与亚指数分布
  3. [HOW TO]-github/gitee私有项目用户名密码免输入
  4. Windows 8 系列 --Block Game --随笔
  5. [精品]CSAPP Bomb Lab 解题报告(三)
  6. QML笔记-JavaScript在QML中的使用(直接调用和间接调用)
  7. oracle通过DBlink连接mysql
  8. 软件项目管理的20条锦囊妙计
  9. 朴宥拉短片突破了几百万的观看量
  10. 关于引用lightbox源码
  11. JavaScript文档对象模型DOM节点操作之父节点和子节点(2)
  12. 【渝粤教育】电大中专机电设备管理作业 题库
  13. jQuery导入Eclipse后报错解决方法
  14. cadence PCB走等长线设置
  15. 基于Python的淘宝用户行为数据分析
  16. oracle英文怎么转中文,ORACLE英文字符集转中文
  17. 威胁猎人|改机工具在黑灰产中的应用
  18. android_静默安装/adb执行/软件搬家/消息派发
  19. c 语言 登陆窗口界面,c/c++语言实现登陆界面
  20. 2013年中国最新MBA学费对比

热门文章

  1. 电脑桌面图标右下角显示有白色文本框
  2. python使用nibabel和sitk读取保存nii.gz文件
  3. OPPO 员工称被强制离职起诉公司,当事人败诉:7 万元年终奖没了,获 2N 赔偿
  4. Linux上MySQL驱动安装
  5. VMware-WSX登进去了没有桌面?高手帮我看一下!
  6. TAPD · 腾讯敏捷产品研发平台基本功能介绍
  7. android 字体css样式大全,移动前端一些重置样式模板和标签入门
  8. TimePicker 时间选择器
  9. quartz储存方式之JDBC JobStoreTX
  10. zoj 1221 Risk Flory