制作一款HTML5 RPG游戏引擎教程(五).docx
上传人:qw****27 上传时间:2024-09-11 格式:DOCX 页数:21 大小:74KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

制作一款HTML5 RPG游戏引擎教程(五).docx

制作一款HTML5RPG游戏引擎教程(五).docx

预览

免费试读已结束,剩余 11 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

该引擎是基于lufylegend开发的,学习时请先了解lufylegend。一,人物类LCharacter首先来看LCharacter构造器:[javascript]HYPERLINK"http://blog.csdn.net/yorhomwang/article/details/9083493"\o"viewplain"viewplainHYPERLINK"http://blog.csdn.net/yorhomwang/article/details/9083493"\o"copy"copy/***LCharacter.js*/functionLCharacter(data,row,col,speed,isFighter){vars=this;base(s,LSprite,[]);s.type="LCharacter";if(!speed)speed=0;if(isFighter==undefined)isFighter=false;s.speed=speed;s.speedIndex=0;s.x=0;s.y=0;s.mode="";s.index=0;if(isFighter==true){s.hp=0;s.attack=0;s.defense=0;}s.effect=null;s.avatarNum=0;s.flickerNum=0;s.img=data;s.row=row;s.col=col;s.effectSprite=newLSprite();s.addChild(s.effectSprite);s.nameSprite=newLSprite();s.addChild(s.nameSprite);varimgData=newLBitmapData(data);imgData.setProperties(0,0,imgData.image.width/col,imgData.image.height/row);varlist=LGlobal.divideCoordinate(imgData.image.width,imgData.image.height,row,col);s.imgWidth=imgData.image.width/col;s.imgHeight=imgData.image.height/row;s.anime=newLAnimation(s,imgData,list);s.addEventListener(LEvent.ENTER_FRAME,function(){if(s.effect!=null){s.showEffect(s,s.effect);}});}这个类有5个参数,功能如下:[javascript]HYPERLINK"http://blog.csdn.net/yorhomwang/article/details/9083493"\o"viewplain"viewplainHYPERLINK"http://blog.csdn.net/yorhomwang/article/details/9083493"\o"copy"copydata:人物图片row:将图片切成多少行,以方便执行动画col:将图片切成多少列,以方便执行动画speed:人物动画播放频率相对屏幕刷新频率的倍数isFighter:是否处于战斗状态上面的介绍有些含糊,我接着解释一下。首先,data所代表的图片是一个装有每帧动画的图片,比如下面这种图片:然后我们的参数row和参数col就是用来表示这个图片可以分成几行,几列。比如上图,row就赋值成4,col也赋值成4,这样恰好能将每帧都分割出来。speed是用来表示播放动画频率的,假设我们在用init初始化游戏时,传入游戏频率为30毫秒,那如果不给这个参数赋值,播放动画的频率就是30毫秒,但是如果你觉得30毫秒播放一帧太快了,想慢一点,便可以用到这个参数。比如说你想让播放频率达到每120毫秒播放一帧,而游戏频率设的是30毫秒,那就可以把这个参数设置为4。假设达到每150毫秒播放一帧,那就可以把这个参数设置为5。但要注意,这个参数赋值必须是正整数。isFighter这个参数是用来判断是否这个角色是处于战斗状态的。如果是就设为true,不是就设为false,当然你不设定就默认为false。当这个参数为true时,人物类就可以加几个属性,它们用来控制人物的hp,战斗力,防御力等,判断代码如下:[javascript]HYPERLINK"http://blog.csdn.net/yorhomwang/article/details/908349