- 注册时间
- 2016-11-20
- 最后登录
- 2016-11-21
- 阅读权限
- 20
- 积分
- 11
- 精华
- 0
- 帖子
- 3
|
本帖最后由 anyi2000 于 2016-11-21 15:34 编辑
做一个赛车类游戏,场景如下:
- init(30, "legend", 700, 500, main);
- /**层变量*/
- var loadingLayer, //进度层
- backLayer, //底层
- trackLayer, //赛道层
- trackSideLayer, //赛道边层
- carLayer0 = new LSprite(), //赛车层
- carLayer1 = new LSprite(),
- carLayer2 = new LSprite(),
- carLayer3 = new LSprite(),
- carLayer4 = new LSprite(),
- carLayer5 = new LSprite(),
- carLayer6 = new LSprite(),
- carLayer7 = new LSprite(),
- carLayer8 = new LSprite(),
- carLayer9 = new LSprite(),
- loadIndex = 0, //进度条位置
- /**数组变量*/
- //赛车图层
- carList = [carLayer0,carLayer1,carLayer2,carLayer3,carLayer4,carLayer5,carLayer6,carLayer7,carLayer8,carLayer9],
- //赛车座标、缩放比例
- carAxis =
- {'car':
- [
- {'axisX':'625','axisY':'162','scaleX':'0.5','scaleY':'0.5','width':'30','height:':'30'},
- {'axisX':'615','axisY':'182','scaleX':'0.55','scaleY':'0.55'},
- {'axisX':'606','axisY':'202','scaleX':'0.6','scaleY':'0.6'},
- {'axisX':'600','axisY':'225','scaleX':'0.61','scaleY':'0.61'},
- {'axisX':'595','axisY':'248','scaleX':'0.62','scaleY':'0.62'},
- {'axisX':'589','axisY':'271','scaleX':'0.63','scaleY':'0.63'},
- {'axisX':'584','axisY':'295','scaleX':'0.64','scaleY':'0.64'},
- {'axisX':'580','axisY':'319','scaleX':'0.65','scaleY':'0.65'},
- {'axisX':'572','axisY':'344','scaleX':'0.7','scaleY':'0.7'},
- {'axisX':'555','axisY':'371','scaleX':'0.8','scaleY':'0.8'}
- ],
- 'wheels':
- {
- '0':[
- {'axisX':'637','axisY':'171','scaleX':'0.5','scaleY':'0.5'},
- {'axisX':'628','axisY':'192','scaleX':'0.55','scaleY':'0.55'},
- {'axisX':'620','axisY':'213','scaleX':'0.6','scaleY':'0.6'},
- {'axisX':'615','axisY':'236','scaleX':'0.61','scaleY':'0.61'},
- {'axisX':'610','axisY':'260','scaleX':'0.62','scaleY':'0.62'},
- {'axisX':'604','axisY':'283','scaleX':'0.63','scaleY':'0.63'},
- {'axisX':'599','axisY':'307','scaleX':'0.64','scaleY':'0.64'},
- {'axisX':'595','axisY':'331','scaleX':'0.65','scaleY':'0.65'},
- {'axisX':'588','axisY':'356','scaleX':'0.7','scaleY':'0.7'},
- {'axisX':'574','axisY':'385','scaleX':'0.8','scaleY':'0.8'}
- ],
- '1':[
- {'axisX':'680','axisY':'171','scaleX':'0.5','scaleY':'0.5'},
- {'axisX':'676','axisY':'192','scaleX':'0.55','scaleY':'0.55'},
- {'axisX':'672','axisY':'213','scaleX':'0.6','scaleY':'0.6'},
- {'axisX':'667','axisY':'236','scaleX':'0.61','scaleY':'0.61'},
- {'axisX':'664','axisY':'260','scaleX':'0.62','scaleY':'0.62'},
- {'axisX':'658','axisY':'283','scaleX':'0.63','scaleY':'0.63'},
- {'axisX':'654','axisY':'307','scaleX':'0.64','scaleY':'0.64'},
- {'axisX':'651','axisY':'331','scaleX':'0.65','scaleY':'0.65'},
- {'axisX':'649','axisY':'356','scaleX':'0.7','scaleY':'0.7'},
- {'axisX':'643','axisY':'385','scaleX':'0.8','scaleY':'0.8'}
- ]
- },
- 'trackBg':{'axisX':'0','axisY':'150'},
- 'trackSideBg':{'axisX':'0','axisY':'80'}
- }
- imgList = {}, //存储图片数组
- //图片数组
- imgData =
- [
- {name : "trackBg",path : "/static/images/track_bg.png"},
- {name : "trackSide",path : "/static/images/track_side_bg.png"},
- {name : "car0",path : "/static/images/car_1.png"},
- {name : "car1",path : "/static/images/car_2.png"},
- {name : "car2",path : "/static/images/car_3.png"},
- {name : "car3",path : "/static/images/car_4.png"},
- {name : "car4",path : "/static/images/car_5.png"},
- {name : "car5",path : "/static/images/car_6.png"},
- {name : "car6",path : "/static/images/car_7.png"},
- {name : "car7",path : "/static/images/car_8.png"},
- {name : "car8",path : "/static/images/car_9.png"},
- {name : "car9",path : "/static/images/car_10.png"},
- {name : "carWheel",path : "/static/images/car_wheel.png"},
- {name : "carShadow",path : "/static/images/car_shadow.png"}
- ];
- //初始化
- function gameInit(event){
- //图层显示初始化
- layerInit();
- addTrackSide();
- //添加赛道
- addTrack();
- //添加赛车
- addCar();
- addCarWheels();
- mover(carList);
- // startMover(carList);
- }
- function main(){
- //实例化进度条层
- loadingLayer = new LSprite();
- loadingLayer.graphics.drawRect(1,"black",[50, 200, 200, 20],true,"#ffffff");
- addChild(loadingLayer);
- loadImage()
- }
- function loadImage(){
- //图片全部读取完成,开始初始化游戏
- if(loadIndex >= imgData.length){
- removeChild(loadingLayer);
- gameInit();
- return;
- }
- //开始读取图片
- loader = new LLoader();
- loader.addEventListener(LEvent.COMPLETE,loadComplete);
- loader.load(imgData[loadIndex].path,"bitmapData");
- }
- function loadComplete(event){
- //进度条显示
- loadingLayer.graphics.clear();
- loadingLayer.graphics.drawRect(1,"black",[300, 100, 100, 2],true,"#ffffff");
- loadingLayer.graphics.drawRect(1,"black",[300, 100, 100*(loadIndex/imgData.length), 1],true,"#000000");
- //储存图片数据
- imgList[imgData[loadIndex].name] = loader.content;
- //读取下一张图片
- loadIndex++;
- loadImage();
- }
- //图层显示初始化
- function layerInit(){
- //底层添加
- backLayer = new LSprite();
- addChild(backLayer);
- var bitmapdata = new LBitmapData("#000", 0, 0, 700, 500);
- var bitmap = new LBitmap(bitmapdata);
- backLayer.addChild(bitmap);
- //赛道层添加
- trackLayer = new LSprite();
- backLayer.addChild(trackLayer);
- //
- trackSideLayer = new LSprite();
- backLayer.addChild(trackSideLayer);
- //添加辆车层
- for(var i in carList){
- backLayer.addChild(carList[i]);
- };
- }
- //赛道边沿
- function addTrackSide(){
- bitmapdata = new LBitmapData(imgList['trackSide']);
- trackSide = new LBitmap(bitmapdata);
- trackSide.x = carAxis['trackSideBg']['axisX'];
- trackSide.y = carAxis['trackSideBg']['axisY'];
- trackSideLayer.addChild(trackSide);
- }
- //赛道 添加
- function addTrack(){
- bitmapdata = new LBitmapData(imgList['trackBg']);
- trackBg = new LBitmap(bitmapdata);
- trackBg.x = carAxis['trackBg']['axisX'];
- trackBg.y = carAxis['trackBg']['axisY'];
- trackLayer.addChild(trackBg);
- }
- //赛车 添加
- function addCar(){
- for(var i in carAxis['car']){
- var bitmapdata = new LBitmapData(imgList['car'+i]);
- var bitmap = new LBitmap(bitmapdata);
- bitmap.x = carAxis['car'][i]['axisX'];
- bitmap.y = carAxis['car'][i]['axisY'];
- bitmap.scaleX = carAxis['car'][i]['scaleX'];
- bitmap.scaleY = carAxis['car'][i]['scaleY'];
- carList[i].addChild(bitmap);
- console.log(carList[i].getBounds());
- };
- }
- //添加车轮
- function addCarWheels(){
- for(var i=0;i<carList.length;i++){
- for(var j in carAxis['wheels']){
- var bitmapdata = new LBitmapData(imgList['carWheel']);
- var bitmap = new LBitmap(bitmapdata);
- bitmap.x = carAxis['wheels'][j][i]['axisX'];
- bitmap.y = carAxis['wheels'][j][i]['axisY'];
- bitmap.scaleX = carAxis['wheels'][j][i]['scaleX'];
- bitmap.scaleY = carAxis['wheels'][j][i]['scaleY'];
- carList[i].addChild(bitmap);
- }
- }
- }
- //循环移动
- function mover(obj){
- var Timers = setTimeout(function(){
- // LTweenLite.to(obj[$car],1,{x:-100,loop:false,ease:LEasing.Sine.easeInOut}).to(obj[$car],1,{x:-400,ease:LEasing.Quad.easeInOut});
- for (var i = 0; i < carList.length; i++) {
- // countSpeed(carList[i]);
- // console.log(carList[i].getWidth())
- }
- },500+(Math.floor(Math.random()*(6000-2000)))||300)
- }
- //开始移动
- function startMover(obj){
- for(var i = 0; i < obj.length; i++){
- LTweenLite.to(obj[i],1,{x:0,loop:true,ease:LEasing.Sine.easeInOut}).to(obj[i],1,{x:-300,ease:LEasing.Quad.easeInOut});
- }
- }
- //背景移动
- function bgMover(obj){
- }
- //加速度
- function countSpeed(obj,Curreent,Prev,callBack){
- console.log(obj.getWidth())
- }
复制代码 1、当赛车层移动时我怎么实时取得移动后的座标?因为我需要一个加速的效果。
2、 console.log(carList.getWidth());//这里调试出来的赛车层宽度为什么不是赛车图片的宽度?图层不是跟里面图片适应大小吗?
|
|