lufy's legend

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 32770|回复: 13
打印 上一主题 下一主题

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

[复制链接]

37

主题

8

好友

9322

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

楼主
发表于 2013-12-13 21:24:12 |显示全部楼层
沙面 发表于 2013-12-13 15:31
跪求各位大大解答。
不胜感激。。。

1,消除宝石的代码是function.js里面的addBullet函数
2,点击进入游戏的代码是GameBody.js里面的gameStart函数
加声音用LSound,具体用法请看API文档
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9322

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

沙发
发表于 2013-12-13 23:57:45 |显示全部楼层
沙面 发表于 2013-12-13 22:26
伸手党,请别怪。

function.js里面的addBullet函数只是消除,要想取得消除的数量的话,得看function.js里面的checkClear函数。
里面有一个clearList,装有可以消除的宝石
clearList.length就是消除的数量
在checkClear函数的最下面根据clearList来加入声音就可以了
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9322

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

板凳
发表于 2013-12-14 10:40:33 |显示全部楼层
沙面 发表于 2013-12-14 00:55
谢谢lufy。
我知道在哪里加声音了。
只是这里还有点小小的问题想问问你。

clearList里装的是Gem对象,你遍历一下clearList就得到了所有要消除的宝石了
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9322

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

地板
发表于 2013-12-16 16:03:10 |显示全部楼层
沙面 发表于 2013-12-16 11:32
嗯嗯。谢谢lufy。
因为完全不懂HTML5的编程,所还是以有许多问题想请教你,希望不会让你感到厌烦。
1.cle ...
  1. for(var i=0;i<clearList.length;i++){
  2.         var gemObject = clearList[i];
  3.         //gemObject.num可以获取宝石的种类,根据这个num值来播放你想播放的声音就可以了
  4. }
复制代码
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9322

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

5#
发表于 2013-12-17 11:18:45 |显示全部楼层
沙面 发表于 2013-12-16 16:40
为自己的愚昧感到无尽的悲伤。。。
还是不会额。。
跪了。。。。。
  1. 初始化的时候,新建一个数组soundList
  2. for(var j=0;j<8;j++){
  3.         //在这里根据j的不同,新建LSound对象sound
  4.        
  5.         //然后把新建好的sound加到soundList数组里面
  6.         soundList.push(sound);
  7. }

  8. ......

  9. //播放声音
  10. for(var i=0;i<clearList.length;i++){
  11.         var gemObject = clearList[i];
  12.         //gemObject.num可以获取宝石的种类,根据这个num值来播放你想播放的声音就可以了
  13.                 //因为gemObject.num的范伟是1-9,所以播放声音如下
  14.                 soundList[gemObject.num-1].play();
  15. }
复制代码
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9322

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

6#
发表于 2013-12-22 16:47:04 |显示全部楼层
沙面 发表于 2013-12-21 19:34
还有一点。。。。
就是上面这些是不是只是消除不同种类的宝石的音效?
    clearList是不是表示消除的种类 ...

clearList是一个数组,这个数组的长度才是消除的数量
clearList[j]是其中一个要消除的Gem对象,也就是游戏中的一个宝石
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9322

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

7#
发表于 2013-12-22 22:35:04 |显示全部楼层
沙面 发表于 2013-12-22 22:12
。。。clearList//这个【i】怎么老打不出来。。

clearList是一个数组,里面装有可以消除的宝石
那么clearList就是它的一个元素,也就是一个可以消除的宝石

当你移动了画面上的宝石,程序就会自动检索所有宝石,把可以消除的宝石装进这个clearList数组。
然后获取这个数组之后,程序中会循环这个数组,把这个数组中的宝石全部消除,你要加声音的话,就在消除宝石的时候,根据消除的每个宝石,来播放不同的声音就可以了
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9322

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

8#
发表于 2013-12-22 23:41:02 |显示全部楼层
沙面 发表于 2013-12-22 23:17
可是怎么用代码表达,这个我一点都不会。。

貌似我搞了这么久,还是几乎一点进展都没有。。

js / Main.js 中,在下面的代码的前面
  1. function main(){
复制代码
加上变量
  1. var soundList = [];
复制代码
js / GameBody.js 中
gameInit()函数里,加上如下代码
  1. for(var j=0;j<8;j++){
  2.         //在这里根据j的不同,新建LSound对象sound
  3.         //下面的url是你声音文件的路径,你需要根据j的不同,设置8个不同的声音文件,这是创建声音对象的一种简单的写法,还有另一种写法,你可以看引擎下载包中的demo
  4.         var sound = new LSound(url);
  5.         //然后把新建好的sound加到soundList数组里面
  6.         soundList.push(sound);
  7. }
复制代码
js / function.js中的checkClear函数里,找到下面的代码
  1.         for(i=0;i<clearList.length;i++){
  2.                 gem = clearList[i];
  3.                 addBullet(gem,i==clearList.length-1);
  4.         }
复制代码
改为下面
  1.         for(i=0;i<clearList.length;i++){
  2.                 gem = clearList[i];
  3.                 soundList[gem.num-1].play();
  4.                 addBullet(gem,i==clearList.length-1);
  5.         }
复制代码
代码未经测试,你试一下吧,看看能不能用,出现问题的话,可以继续留言
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9322

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

9#
发表于 2013-12-22 23:50:41 |显示全部楼层
沙面 发表于 2013-12-22 23:45
对了,GIF格式的图片怎么让它正常播放,百度了很久,只是找不到方法。
我在gamelogo.js中加入动态图,但是 ...

gif格式的图片没有办法在canvas中直接播放的
你可以把gif图片分解出来,然后利用引擎的LAnimation或者LAnimationTimeline对象来逐贞播放
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9322

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

10#
发表于 2013-12-24 09:53:27 |显示全部楼层
沙面 发表于 2013-12-23 23:38
谢谢lufy。。。
是不是先用工具把gif图片分解成多个单独的png/jpg图,再进行一张一张的播放。。。
...

可以分解成一张张的播放
也可以全部组合到一张大图上,然后分块儿播放
建议第二种,可以直接用LAnimation
不回答与技术和引擎不相关的问题
回复

使用道具 举报

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

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

Archiver|lufy's legend

GMT+8, 2024-5-29 11:25 , Processed in 0.055152 second(s), 19 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部