lufy's legend

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
楼主: 沙面
打印 上一主题 下一主题

lufylegend-1.8.4版本中中GemGem案例的问题

[复制链接]

1

主题

0

好友

97

积分

士兵

Rank: 1

21#
发表于 2013-12-22 23:45:50 |显示全部楼层
对了,GIF格式的图片怎么让它正常播放,百度了很久,只是找不到方法。
我在gamelogo.js中加入动态图,但是浏览器中只显示一帧而已。请问这个可以怎么解决。
如果太复杂的话,就算了吧。
//var loadData = [
//{name:"title",path:"./images/title.gif"}
//];
      var title = new LBitmap(new LBitmapData(datalist["title"]));
        title.x = 15;
        title.y = 10;
        logoLayer.addChild(title);
回复

使用道具 举报

1

主题

0

好友

97

积分

士兵

Rank: 1

22#
发表于 2013-12-22 23:46:19 |显示全部楼层
  1. //var loadData = [
  2. //{name:"title",path:"./images/title.gif"}
  3. //];
  4.       var title = new LBitmap(new LBitmapData(datalist["title"]));
  5.         title.x = 15;
  6.         title.y = 10;
  7.         logoLayer.addChild(title);
复制代码
回复

使用道具 举报

1

主题

0

好友

97

积分

士兵

Rank: 1

23#
发表于 2013-12-23 23:35:10 |显示全部楼层
lufy 发表于 2013-12-22 23:41
js / Main.js 中,在下面的代码的前面加上变量js / GameBody.js 中
gameInit()函数里,加上如下代码js / f ...

改了一晚上,发现自己是战五的渣渣。。。
才弄了这么一点不伦不类的不知道什么东西。。。。
  1. for(var j=0;j<8;j++){
  2.         //在这里根据j的不同,新建LSound对象sound
  3.        //这个设想了好多,但是依旧不知怎么做,主要是for(var j=0;j<8;j++)这个都不知有何用意,然后因为涉及变量j,不知怎么用函数表达,看了其他网上的例子还是无头绪。。。。。   ////(好无力。。)
  4.                
  5.         //下面的url是你声音文件的路径,你需要根据j的不同,设置8个不同的声音文件,这是创建声音对象的一种简单的写法,还有另一种写法,你可以看引擎下载包中的demo
  6.         var sound = new LSound(url);
  7.                 var url = "./sounds/sound";
  8.                 sound.load(url+num+".mp3");
  9.                 //soundList[sound.num] = cleardList[gem.num];//好像不伦不类的样子
  10.              //然后把新建好的sound加到soundList数组里面
  11.             //因为前面修改的checkList有点不明白,gem.num-1这个不是clearList里面的么,soundList的元素不    //是sound么?加在这里有点反应不过来。【专业知识严重不足额。。。】
  12.            
  13.                
  14.     }
  15. }
复制代码
回复

使用道具 举报

1

主题

0

好友

97

积分

士兵

Rank: 1

24#
发表于 2013-12-23 23:38:45 |显示全部楼层
lufy 发表于 2013-12-22 23:50
gif格式的图片没有办法在canvas中直接播放的
你可以把gif图片分解出来,然后利用引擎的LAnimation或者LAn ...

谢谢lufy。。。
是不是先用工具把gif图片分解成多个单独的png/jpg图,再进行一张一张的播放。。。
回复

使用道具 举报

1

主题

0

好友

97

积分

士兵

Rank: 1

25#
发表于 2013-12-24 13:46:07 |显示全部楼层
lufy 发表于 2013-12-24 09:54
我给你的代码,你只需要根据j的值设一下声音文件的路径就可以了啊,就是url的值,其他地方不用改
朋友是什 ...

旅游管理专业的。。。(毫不相干的专业。。。
然后这个是报的一门选修课(html5游戏开发),一个星期一次课。。。一共上了15次课。。。
因为对电脑这方面比较感兴趣,所以上一个学期选修了Linux的系统应用,之后又接触到Ubuntu,Firefox等新兴手机都是基于HTML5开发的,对这个比较感兴趣,所以就想深入了解这个东西。。。
只是发现,对与编程一点基础都没有的我来说,这个好像不是想做就能做得到的。。。


然后。。就没有然后了。。。
回复

使用道具 举报

1

主题

0

好友

97

积分

士兵

Rank: 1

26#
发表于 2013-12-24 15:41:13 |显示全部楼层
求大神解救。。。。
回复

使用道具 举报

1

主题

0

好友

97

积分

士兵

Rank: 1

27#
发表于 2013-12-24 21:29:17 |显示全部楼层
lufy 发表于 2013-12-24 17:09
在GemGem文件夹里,新建一个Sound文件夹,放8个声音文件,名字分别为sound01.mp3,sound02.mp3,......sound ...

测试了一下,发现当发生消除事件时,canvas直接变成白色的了。然后我改成下面的级可以了。(就是把sound+i+.mo3里面的ii改成j。)
  1. for(var j=0;j<9;j++){
  2.         //在这里根据j的不同,新建LSound对象sound
  3.         //下面的url是你声音文件的路径,你需要根据j的不同,设置8个不同的声音文件,这是创建声音对象的一种简单的写法,还有另一种写法,你可以看引擎下载包中的demo
  4.         var sound = new LSound("./Sounds/sound0"+j+".mp3");
  5.         //然后把新建好的sound加到soundList数组里面
  6.                
  7.         soundList.push(sound);
  8.     }
  9. }
复制代码
然后播放的声音跟预测的差了一个数值,就是当我消除gem03的时候,播放却的是sound02。
我重新把sound文件夹里的文件改成sound00.mp3,sound01.mp3,。。。。sound08。声音第对上号了。
还有我把for里面的 i 的范围修改了一下,因为实际上宝石是有9种的。
回复

使用道具 举报

1

主题

0

好友

97

积分

士兵

Rank: 1

28#
发表于 2013-12-24 21:30:08 |显示全部楼层
程序已经修改的差不多了,非常感谢lufy一直以来的帮忙。。。
回复

使用道具 举报

1

主题

0

好友

97

积分

士兵

Rank: 1

29#
发表于 2013-12-24 22:54:35 |显示全部楼层
如果我要在logo界面加动画是不是应该分别在下面个函数里面加这些代码:
gamelogo.js 里的function GameLogo(){}加
var backLayer,hero; [/code]
mian.js里面的
  1. function main(){
  2.     LLoadManage.load(imgData,null,gameInit);
  3. }
复制代码
下面的加在function gameInit(result){}
  1. function gameInit(result){
  2.     imglist = result;
  3.     backLayer = new LSprite();
  4.     addChild(backLayer);
  5.     var list = LGlobal.divideCoordinate(256,256,4,4);
  6.     var data = new LBitmapData(imglist["player"],0,0,64,64);
  7.     hero = new LAnimation(backLayer,data,list);
  8.     backLayer.addEventListener(LEvent.ENTER_FRAME,onframe);
  9. }
复制代码
还有这个function onframe(){ }
  1. function onframe(){
  2.     hero.onframe();
  3. }
复制代码
还是直接加在function GameLogo(){}里面就可以了。
回复

使用道具 举报

1

主题

0

好友

97

积分

士兵

Rank: 1

30#
发表于 2013-12-25 20:47:50 |显示全部楼层
lufy 发表于 2013-12-25 09:13
function GameLogo(){}相当于一个类,logo界面相关的东西都应该写到它里面,否则代码看起来会很乱 ...

测试了一下,表示还是不会。

不过还是非常非常非常非常地感谢lufy一直以来对我的提点和帮助。

今天已经把作业交给老师了。

再一次感谢lufy大大的帮忙。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

防止垃圾广告,请填写任意字符

Archiver|lufy's legend

GMT+8, 2024-5-19 20:44 , Processed in 0.059315 second(s), 19 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部