- 注册时间
- 2013-2-13
- 最后登录
- 2023-10-13
- 阅读权限
- 200
- 积分
- 9310
- 精华
- 1
- 帖子
- 2411
|
一,代码规范化
目前lufylegend中的代码有的地方需要规范一点。比如说一些不提供使用的成员函数或属性可以在函数或属性前加一个_ 。 这里我也早就想改了,2.0还得需要很长时间,所以可能会在1.8.9中或者1.8.10(如果发布这个版本的话)调整。
二,事件规范化
在LMedia,LLoader等类中,加事件的函数addEventListener本应该可以不用重新写的。直接用dispatchEvent()不更好?还有就是触发事件传的event参数,这个参数里的属性太多了,如果能统一一下不更好?
这个在2.0中应该会调整一下
三,更新Box2d
目前引擎的box2d封装感觉不太方便,我觉得一个LSprite应该是加到一个body上,而不是一个body加到LSprite上。所以,我希望的用法是这样的(LBoxBody是一个假设的类,用来创建矩形刚体):
var box = new LBoxBody(100,100,true);
addChild(box);
复制代码
要设置body上的内容,可以这样:
box.setSprite(sprite,true); //第一个参数为sprite对象,第二个为是否根据刚体形状自动裁剪内容
复制代码
这样一来,如果把LBoxBody对象加到一个另一个LSprite上,坐标就会根据父LSprite更改。当然,这么做了以后,debug模式下就不能用box2d原始方法了,而是根据刚体形状,使用lufylegend画一个。
之所以将刚体加到LSprite上是有原因的,因为box2d是外部引擎,对刚体进行扩展就不那么方便了,而相反LSprite我可以任意调整,很方便。
四,鼠标事件
目前的事件是:父LSprite被点击触发事件,子LSprite不触发事件。而我觉得应该是子LSprite触发事件的同时也触发父LSprite事件。但子LSprite其中一个触发事件,其他子LSprite不触发(因为被遮挡住了)。换言之,给父LSprite加事件,凡是子LSprite被点击,都触发到父LSprite事件,但子LSprite的事件是只能触发一个的。
另外,话说addEventListener加n个事件却只能触发一个,这样不科学吧……
触发多个事件的问题会在1.8.9中调整,其他的会在后面的版本中优化
五,拓展碰撞检测
这个之前谈过很多次了,就不再啰嗦了。
1.8.9会增加一个多边形碰撞检测,其他的几个碰撞的调整确实得等2.0以后了。
多谢建议
|
|