lufy's legend

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

FPS 掉得有些厉害 能帮我看看代码哪里出问题了吗

[复制链接]

18

主题

0

好友

198

积分

士兵

Rank: 1

跳转到指定楼层
楼主
发表于 2014-8-12 20:57:03 |只看该作者 |倒序浏览
具体效果是,始终有条线跟着圆在画线,所以只能不断地new 加进去        有更好的实现方法吗 请问               
init(1000 / 60, 'legend', 800, 800, main);
                        var c,a;
                        var x;
                        var y;
                        function main() {
                               
                                a = new LSprite();
                                a.graphics.drawRect(1, "black", [0, 0, 800, 800], true, "black");
                                addChild(a);
                                c = new LShape();
                                c.graphics.drawArc(1, "red", [0, 0, 10, 0, Math.PI * 2]);
                                c.x = 400;
                                c.y = 400;
                                addChild(c);
                                a.addEventListener(LMouseEvent.MOUSE_DOWN, setXY);
                                a.addEventListener(LEvent.ENTER_FRAME, collect);
                                a.addChild(new FPS());
                               
                        }
                        var run
                        function setXY(e) {
                                var endX = e.selfX;
                                var endY = e.selfY;
                                LTweenLite.remove(run);                       
                                run=LTweenLite.to(c,1,{
                                        x:endX,
                                        y:endY,
                                        loop:false,
                                        easeEasing.None.ease,
                                        onUpdate:function(){
                                                Line()
                                                LGlobal.destroy=false;
                                        }
                                })
                        }

                        function Line() {
                                        var p = new LShape();
                                        addChild(p);
                                        p.graphics.drawLine(1,"red",[x,y,c.x,c.y])                               
                        }


                        function collect() {
                                x=c.x;
                                y=c.y
                       
                        }
回复

使用道具 举报

37

主题

8

好友

9312

积分

诸侯王

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

沙发
发表于 2014-8-12 22:16:33 |只看该作者
不断的new新对象,FPS肯定会掉的了
使用graphics绘图的时候,在一个LShape对象上也可以一直画,不用额外增加新的对象啊
另外,最快的方法是利用LBitmapData的setPixels和getPixels
你可以自己先试着写一下
我过一段时间发布1.9.1的时候会提供一个相应的demo供大家参考
不回答与技术和引擎不相关的问题
回复

使用道具 举报

18

主题

0

好友

198

积分

士兵

Rank: 1

板凳
发表于 2014-8-12 23:57:57 |只看该作者
lufy 发表于 2014-8-12 22:16
不断的new新对象,FPS肯定会掉的了
使用graphics绘图的时候,在一个LShape对象上也可以一直画,不用额外增 ...

thx 明白了
回复

使用道具 举报

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

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

Archiver|lufy's legend

GMT+8, 2024-5-1 16:13 , Processed in 0.048945 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部