lufy's legend

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

刚使用lufylegend,交流一下

[复制链接]

3

主题

0

好友

31

积分

士兵

Rank: 1

跳转到指定楼层
楼主
发表于 2013-8-1 14:40:33 |只看该作者 |倒序浏览
站长lufy你好,最近我在做一个html5游戏,之前曾用cocos2d-html5开发完成了demo,但到了兼容性测试阶段才发现问题很大,首先最理想的webgl渲染几乎不具有可行性,因为没几个浏览器能良好支持,于是渲染方式只锁定在canvas了。即便是这样,cocos2d-html5的性能问题最终导致我出现放弃它、另选引擎或自行写渲染层的念头,在中低端android上cocos2d-html5连helloworld示例都无法运行。

在我研究canvas的同时,查看了好几个引擎的资料,毕竟现阶段才来写渲染层会导致产品进度延误太多,加上我本身也是刚接触js。但发现引擎数量很多但是形成社区的精品,除了cocos2d之外几乎没有,考虑到天朝复杂环境、uc和qq这种非标准浏览器的大行其道,还是国产引擎会比较靠谱,于是关注到站长的lufylegend。我在一些机器上运行过示例,有一些兼容性问题,不过性能上比cocos2d-html5好了很多,基本能满足我们的需求,于是这两天我正在将游戏demo的渲染层切换到lufylegend并进行逐步测试。

我看了部分源码,认为lufylegend是一个高质量的引擎,轻量级,加载快,专注性能,一些代码细节也比较抠效率,是我欣赏的作风,所以接下来使用lufylegend完成产品最终发布的可能性比较大,这个过程少不了打扰lufy了,望不吝赐教。

我使用了LSystem.screen(LStage.FULL_SCREEN),发现在大多数浏览器表现符合预期,这已经很不错了,不过在我手机上的uc浏览器打开,看到游戏界面只有窗口的1/3,而另一个同事的uc浏览器打开是正常的,我的uc版本是v9.1.1.309 Android pf150,android版本是4.1.2。不知道自适应分辨率方面的兼容性lufy是否还在继续增强?个人愚见,国内uc是主要的浏览器,所以开发的时候特别关注,lufylegend如果能兼容好uc、qq、系统浏览器、微信和微博(应该也是系统浏览器,不过禁止了webgl等特性)内置浏览器,我相信会是大多数开发者的最佳选择(当然ios我就不提了,因为开发过程中几乎没有发现任何问题,ios对html5的支持是远抛离android)。

另外我的游戏是打算web版本和app版本同时发布,关于html5开发本地app,lufy有何建议呢?目前了解到的方案有phonegap这种内嵌浏览器的方案,和cocos2d-x jsb这种原生接口绑定的方案,我还没有深入测试,但是内嵌浏览器的方案大多数评论是性能太差,我想这种方案的运行效率是不是和系统浏览器差不多呢,如果是的话确实不太能满足性能需求,因为app希望做得比web版更炫。希望得到lufy的建议,3q。
回复

使用道具 举报

37

主题

8

好友

9313

积分

诸侯王

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

沙发
发表于 2013-8-2 06:45:58 |只看该作者
朋友你好,很高兴你能选择lufylegend.js这个引擎。
引擎确实还有很多不完善的地方,例如你说的LSystem.screen(LStage.FULL_SCREEN)部分等。
我也一直在尝试新的做法,我的目标是兼容所有常用的浏览器和手机,这点朋友可以放心,引擎会继续更新,相信以后会越来越完善。
利用html5开发本地app,目前也只能选择内置浏览器了,既然都是浏览器,那当然就差不多了,区别在于web加载和本地加载,对于网页来说,资源一旦加载完毕,运行的效率就取决于浏览器了,也就无所谓web还是本地了。这方面我研究也不够深入,也没什么好的建议。
另外,本人一两个月后工作重心会转移到webview这块儿,到时候随着接触越来越深入,应该会更有利于提高引擎在这方面的性能了。
不回答与技术和引擎不相关的问题
回复

使用道具 举报

3

主题

0

好友

31

积分

士兵

Rank: 1

板凳
发表于 2013-8-2 13:19:05 |只看该作者
期待lufy在兼容性上的进一步完善。

我注意到sprite是不支持通过scaleX=-1来实现水平翻转的,示例里的素材也是按照左右两个方向各出一套,不知道这是不是基于性能的考虑?

我的游戏本来是横向的,但是考虑到多数人不会打开重力感应,所以想直接将游戏画面竖着渲染,这样玩家只要将手机横着用就行,不需要让浏览器本身翻转,不知道我这个想法是否合理,或者有没有更适合的方案。
我将整个场景Sprite用rotate旋转90来实现画面纵向,但是发现这样做帧率会明显下降,是不是旋转本身会带来比较大的消耗?
回复

使用道具 举报

3

主题

0

好友

31

积分

士兵

Rank: 1

地板
发表于 2013-8-2 13:22:49 |只看该作者
另外我想请教个问题,我对sprite监听鼠标事件的时候,只有存在位图的区域才能触发事件,空白区域不能,如果我想对整个场景监听鼠标事件,而不管这个场景有没有背景,该怎么做呢?
回复

使用道具 举报

37

主题

8

好友

9313

积分

诸侯王

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

5#
发表于 2013-8-2 14:28:31 |只看该作者
sprite不支持scaleX=-1的问题,一方面是性能,另一方面也是降低复杂度。
1.8.0之后,LSprite已经支持scaleX=-1了
不过bitmap是支持的。
旋转肯定是要有所消耗的,尤其是你旋转整个游戏界面,这样一来游戏中的所有对象全都要做旋转处理了。
点击区域的问题,可以绘制一个矩形框,用来识别鼠标的点击,不想显示这个矩形框的话,可以把线粗设置为0就行了,下面是一个例子,只有点击界面的上半部分才是有效的
  1. init(30,"legend",480,480,main);
  2. var show,back;
  3. var bitmap;
  4. function main(){
  5.         LGlobal.setDebug(true);
  6.         back = new LSprite();
  7.         addChild(back);
  8.         back.graphics.drawRect(1,"#000000",[0,0,480,480]);

  9.         show = new LSprite();
  10.         addChild(show);
  11.         show.graphics.drawRect(0,"#FF0000",[0,0,480,240]);

  12.         
  13.         show.addEventListener(LMouseEvent.MOUSE_UP,onup);

  14. }
  15. function onup(e){
  16.         trace("点击测试");
  17. }
复制代码
连接
http://lufylegend.com/demo/test/15.html
不回答与技术和引擎不相关的问题
回复

使用道具 举报

6#
无效楼层,该帖已经被删除
您需要登录后才可以回帖 登录 | 立即注册

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

Archiver|lufy's legend

GMT+8, 2024-5-20 04:19 , Processed in 0.050027 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部