lufy's legend

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

核心改进文件1

[复制链接]

37

主题

8

好友

9313

积分

诸侯王

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

楼主
发表于 2013-11-29 18:17:18 |显示全部楼层
陈前帆 发表于 2013-11-29 13:31
如若你能提供界面缩放方式的绘制,同时不影响性能,那简直就完美了~

现在在公司,只是大致看了一下,可用的地方很多,等晚上回去我整理一下,正好也准备要更新1.8.5了
朋友不用github吗?以后有好的建议,可以通过github提交给我,看起来更方便一些
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9313

积分

诸侯王

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

沙发
发表于 2013-11-30 15:35:25 |显示全部楼层
陈前帆 发表于 2013-11-30 13:39
我是计算机多媒体专业的,不是软件工程专业的,编程靠的全是自学,没人教,没人提醒,有些别人说的东西也是 ...

这一点咱们倒是一样,我也不是学软件开发的,
这里有我啰哩啰嗦的简介http://lufylegend.com/book/view/1

你的修改应该是基于1.8.2之前吧?有些功能已经在1.8.3和1.8.4中完善了。
虽然我还没抽出时间细看,不过确实是有不少地方是用的上的,
过两天会发布1.8.5版,我会结合现在的版本,把我认为可用的部分加进去,
十分感谢。
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9313

积分

诸侯王

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

板凳
发表于 2013-12-1 01:11:03 |显示全部楼层
返回开始到当前的时间的问题,我觉得还是从游戏初始化开始计算比较合理
继承问题,已经在1.8.4中修改过了
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9313

积分

诸侯王

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

地板
发表于 2013-12-1 01:11:39 |显示全部楼层
陈前帆 发表于 2013-11-29 12:51
/**
* 此类在 core.js 中进行扩展,扩展自 lufylegend-1.7.7 : LPoint 类
* @class LPoint

LPoint的扩展,前两天还有朋友要求我扩展这个类呢
LPoint.interpolate计算过于复杂了,并且有逻辑错误
  1. var pt1 = new LPoint(2,5);
  2. var pt2 = new LPoint(10,15);
  3. LPoint.interpolate(pt1,pt2,0);返回(0,0)
  4. LPoint.interpolate(pt1,pt2,1);返回(8,10)
复制代码
正确写法为
  1. LPoint.interpolate = function(p1,p2,f){
  2.         return new LPoint(p1.x+(p2.x-p1.x)*(1-f),p1.y+(p2.y-p1.y)*(1-f));
  3. };
复制代码
另外,LPoint.distance中,求平方的时候,不要用Math.pow,效率很低
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9313

积分

诸侯王

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

5#
发表于 2013-12-1 01:13:43 |显示全部楼层
陈前帆 发表于 2013-11-29 12:52
LDisplayObject.prototype.getRootBounds = function (){
    var s = this;
    var sx = s.x,

drawArc和drawRect的问题,引擎目前的函数可以绘制透明的圆和矩形啊
绘制的时候线宽设置为0即可
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9313

积分

诸侯王

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

6#
发表于 2013-12-1 01:15:35 |显示全部楼层
陈前帆 发表于 2013-11-29 12:53
/**
* [重写函数]
* @method drawRect

缩放部分的功能已经在1.8.3版中更新过了
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9313

积分

诸侯王

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

7#
发表于 2013-12-1 01:16:06 |显示全部楼层
陈前帆 发表于 2013-11-29 12:53
/**
* 此类用于使用 lufylegend 绘图应用程序编程接口 (API) 创建简单形状
* @class LShape

LShape
引擎中没有引入LShape的原因是感觉没什么必要,而且LShape不应该继承自LSprite,鉴于一些人的习惯问题,我会在1.8.5中另写一个LShape类,多谢了。

LSprite.prototype.setChildIndex
如果不在列表中的话,就不需要进行检索了,所以原函数中有child.parent.objectIndex != s.objectIndex的判断。
另外indexOf的性能问题,除了chrome,其他浏览器的indexOf要比直接循环慢至少10倍以上,你可以自己测试一下,所以尽量不要使用indexOf。

LSprite.prototype.inMaskDomain
引擎中ismonseon没有考虑遮罩的问题,这里确实是bug。不过,如果直接这么写的话,if(s.mask){return s.mask.ismouseon(e, cd); },即使LSprite是空的,只要有mask就开始感应了。不过还是多谢朋友提醒了,我试着自己改一下吧。

LTextField.prototype.mouseEvent
你看一下引擎中的这个函数就知道了,里面不光是鼠标的判定的
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9313

积分

诸侯王

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

8#
发表于 2013-12-1 01:27:29 |显示全部楼层
陈前帆 发表于 2013-11-29 13:00
此核心修改由原作者的代码进行一些修改。
1、添加显示对象缩放功能
2、缩放后鼠标感应位置的问题。
此核心修改由原作者的代码进行一些修改。
1、添加显示对象缩放功能
显示对象原本就是可以缩放的啊

2、缩放后鼠标感应位置的问题。
3、添加遮罩后鼠标感应范围在遮罩范围内。
2和3这两个bug,在1.8.3版中已经修正过了


4、添加 this 代理(Delegate),使得事件侦听器内this为代理所指定的 this 此模拟 actionScript 2.0 代码
这个我要考虑一下,因为1.8.5版中鼠标事件部分,要做一个小的调整,1.8.6版我看看是否有必要添加进去


5、添加上层遮挡下层鼠标事件。
这个在1.8.2版中已经修正过了

6、增加事件实际冒泡,即事件在一个层的最底层接收并处理事件后,事件继续往上层冒泡,但是,不再向同层次对象传递。
你是在旧的版本的基础上修改的,这个我自己来改吧,不过或许也会拖到1.8.6版

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

使用道具 举报

37

主题

8

好友

9313

积分

诸侯王

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

9#
发表于 2013-12-1 01:38:24 |显示全部楼层
陈前帆 发表于 2013-11-30 13:39
我是计算机多媒体专业的,不是软件工程专业的,编程靠的全是自学,没人教,没人提醒,有些别人说的东西也是 ...

还有个别回复,我直接在原帖子里用点评功能回复了
非常感谢朋友能帮我一起完善这个引擎
不回答与技术和引擎不相关的问题
回复

使用道具 举报

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

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

Archiver|lufy's legend

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

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部