lufy's legend

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

iphone手机上的问题以及一些其他问题

[复制链接]

6

主题

0

好友

58

积分

士兵

Rank: 1

跳转到指定楼层
楼主
发表于 2014-9-19 01:15:39 |只看该作者 |倒序浏览
本帖最后由 229449388 于 2014-9-19 01:17 编辑

1、用的是1.9的版本,在iphone的手机上面,多点触碰模式下,监听mousedown,3个手指同时按下去,只有一个手指有响应
2、我在某些iphone4s手机上面运行了lufylegend写的程序,在加载的时候卡住了,调试发现,一些手机不支持bind函数,这个是否能向下兼容一下?
3、这个是一个疑问,发现顶级canvas是布局在一个div里面然后居中的,并不是绝对定位,这样的话,只能使用这个canvas进行绘制,意味着每次都得全部重绘,是否改成允许用户使用多层canvas重叠,因为有时候背景图是不用重绘的,如果都重绘是否浪费效率?
4、看到帧循环使用的是settimeout,为何不使用requestAnimationFrame,因为感觉此接口更为流畅
5、这个是不懂顺便问下,当我使用beginbitmapfill的时候,希望把多张位图画在一个Lsprite上面,但是位置不一样,怎么写?
6、这个也是不明白问下,看有Lsprite和Lshape,但不明白两者的区别,因为此框架是仿as3的,实际上as3上面Shape是不支持鼠标事件的,仅仅是用于图像图形绘制,而在lufylegend框架里面看到两者都支持鼠标事件
回复

使用道具 举报

37

主题

8

好友

9311

积分

诸侯王

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

沙发
发表于 2014-9-19 11:25:52 |只看该作者
多谢支持。


1、用的是1.9的版本,在iphone的手机上面,多点触碰模式下,监听mousedown,3个手指同时按下去,只有一个手指有响应

lufy:有其他使用者也反映过这个问题,下个版本会试着修正的

2、我在某些iphone4s手机上面运行了lufylegend写的程序,在加载的时候卡住了,调试发现,一些手机不支持bind函数,这个是否能向下兼容一下?

lufy:这个下个版本也会解决的

3、这个是一个疑问,发现顶级canvas是布局在一个div里面然后居中的,并不是绝对定位,这样的话,只能使用这个canvas进行绘制,意味着每次都得全部重绘,是否改成允许用户使用多层canvas重叠,因为有时候背景图是不用重绘的,如果都重绘是否浪费效率?

lufy:多层canvas重叠或者给canvas下层加背景图片等,当然也是可以的,只是需要使用者自己通过js和css来实现了

4、看到帧循环使用的是settimeout,为何不使用requestAnimationFrame,因为感觉此接口更为流畅

lufy:为了让开发者可以更自由的控制桢率

5、这个是不懂顺便问下,当我使用beginbitmapfill的时候,希望把多张位图画在一个Lsprite上面,但是位置不一样,怎么写?

lufy:绘制三次即可,比如下面这样是可以的

  1. var backLayer = new LSprite();
  2. addChild(backLayer);
  3. backLayer.graphics.beginBitmapFill(bitmapdata1);
  4. backLayer.graphics.drawArc(1,"#000000",[150,50,50,0,Math.PI*2]);
  5. backLayer.graphics.beginBitmapFill(bitmapdata2);
  6. backLayer.graphics.drawRect(1,"#000000",[10,100,70,100]);
  7. backLayer.graphics.beginBitmapFill(bitmapdata3);
  8. backLayer.graphics.drawVertices(1,"#000000",[[120,100],[100,200],[200,150]]);
复制代码
而,如果要调整每一个的位置的话,那就需要分开写了,但是可以在几个图形绘制完成后利用LBitmapData的draw或者LSprite的getDataURL函数将图形转换成LBitmapData格式来显示,这样效率会提高很多倍。

6、这个也是不明白问下,看有Lsprite和Lshape,但不明白两者的区别,因为此框架是仿as3的,实际上as3上面Shape是不支持鼠标事件的,仅仅是用于图像图形绘制,而在lufylegend框架里面看到两者都支持鼠标事件

虽然这里看似与flash上稍有出入,LShape也继承了LInteractiveObject类,但是API文档中也有说明,你可以看一下LShape部分的API,事件都是处于不可用状态
所以使用起来和flash是一样的,另外,LShape没有子项,LSprite中很多额外的处理,LShape中都没有,如果单纯的绘图的话,使用LShape会比LSprite效率高

不回答与技术和引擎不相关的问题
回复

使用道具 举报

6

主题

0

好友

58

积分

士兵

Rank: 1

板凳
发表于 2014-9-19 11:47:29 |只看该作者
感谢回复,学习不少
4号问题的requestAnimationFrame接口只是申请下一帧的执行,所以执行间隔也是可以控制的,只是建议,所以是否可考虑一下?
回复

使用道具 举报

37

主题

8

好友

9311

积分

诸侯王

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

地板
发表于 2014-9-19 13:20:51 |只看该作者
229449388 发表于 2014-9-19 11:47
感谢回复,学习不少
4号问题的requestAnimationFrame接口只是申请下一帧的执行,所以执行间隔也是可以控制 ...

多谢建议
requestAnimationFrame是以60FPS为前提的
当然,你可以自己在循环的时候来添加控制
网上虽然有让requestAnimationFrame实现任意桢率的各种版本的方法
但是既然是以60FPS为前提,那么就必然无法实现等值的任意桢率
后面的版本我可能会提供requestAnimationFrame的切换,给开发者多种选择,但是暂时不会替换原来的setInterval
不回答与技术和引擎不相关的问题
回复

使用道具 举报

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

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

Archiver|lufy's legend

GMT+8, 2024-4-29 21:35 , Processed in 0.046760 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部