lufylegend教程:如何创建循环移动的背景

lufylegend教程:如何创建循环移动的背景

开发游戏的过程中,常常需要循环移动的背景。

类似下面这两种游戏,背景就是循环移动的:

u=3868712915,1468559502&fm=23&gp=0

u=4124990278,2514491085&fm=23&gp=0

接下来我们来看一下如何使用 lufylegend实现循环移动的背景效果吧。

首先准备一张图:

back

background.js文件的 代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//背景类
  function Background(){
   base(this,LSprite,[]);
   var self = this;
   self.bitmapData = new LBitmapData(imglist["back"]);
   self.bitmap1 = new LBitmap(self.bitmapData);
   self.addChild(self.bitmap1);
   self.bitmap2 = new LBitmap(self.bitmapData);
   self.bitmap2.y = self.bitmap1.getHeight();
   self.addChild(self.bitmap2);
   self.bitmap3 = new LBitmap(self.bitmapData);
   self.bitmap3.y = self.bitmap1.getHeight()*2;
   self.addChild(self.bitmap3);
  }
  Background.prototype.run = function(){
   var self = this;
   self.bitmap1.y -= STAGE_STEP;
   self.bitmap2.y -= STAGE_STEP;
   self.bitmap3.y -= STAGE_STEP;
   if(self.bitmap1.y < -self.bitmap1.getHeight()){
    self.bitmap1.y = self.bitmap2.y;
    self.bitmap2.y = self.bitmap1.y + self.bitmap1.getHeight();
    self.bitmap3.y = self.bitmap1.y + self.bitmap1.getHeight()*2;
   }
  }

index.html文件的 代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <title>循环移动的背景</title>
    <meta name="viewport" content="width=device-width,initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no,target-densitydpi=device-dpi"/>
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <meta name="full-screen" content="true"/>
    <meta name="screen-orientation" content="portrait"/>
    <meta name="x5-fullscreen" content="true"/>
    <meta name="360-fullscreen" content="true"/>
    <style>
  *{margin:0;padding:0}
    </style>
</head>
<body>
 <div id="mylegend">loading...</div>
 <script src="lufylegend-1.7.6.min.js" language="javascript" type="text/javascript" ></script>
 <script src="background.js" language="javascript" type="text/javascript"></script>
 <script>
  init(30,"mylegend",320,480,main);
  var loadingLayer,backLayer,background;
  var MOVE_STEP = 2, STAGE_STEP = 2;
  var loadData = [
   {name:"back",path:"images/back.jpg"}
  ];
  function main(){
   loadingLayer = new LoadingSample1();
   addChild(loadingLayer);
   LLoadManage.load(
    loadData,
    function(progress){
     loadingLayer.setProgress(progress);
    },
    gameInit
   );
  }
  function gameInit(result){
   imglist = result;
 
   removeChild(loadingLayer);
   loadingLayer=null;
 
   backLayer = new LSprite();
   addChild(backLayer);
 
   //实例化Background类
   background = new Background();
   backLayer.addChild(background);
 
   //绑定循环事件
   backLayer.addEventListener(LEvent.ENTER_FRAME,onframe);
  }
  function onframe(){
   //执行背景移动
   background.run();
  }
 </script>
</body>
</html>

用这个案例前,请确认两点:

1、lufylegend.js文件被正确引入;

2、作为背景的图片路径是正确的。

确认这两点后直接运行上述代码,就可以看到背景自下而上不断地移动了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值