lufy's legend

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

重新开始游戏的时候。onframe 里面多次执行,有叠加现象

[复制链接]

37

主题

8

好友

9313

积分

诸侯王

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

楼主
发表于 2016-11-21 17:50:07 |显示全部楼层
kezhiyu 发表于 2016-11-21 17:33
因为 代码超过了 1W字。。所以删除了一些 东西。 出现的问题就是。比如 第一次 onframe 1秒 执行一次,但是 ...

重新开始,要保证之前添加过的ENTER_FRAME时间都已经清除掉了
否则,你加了两次,那速度自然就是两倍了
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9313

积分

诸侯王

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

沙发
发表于 2016-11-22 12:24:52 |显示全部楼层
kezhiyu 发表于 2016-11-21 17:53
总共就添加了 一个 ENTER_FRAME 并且尝试清除但是没作用。 比如backLayer.removeEventListenerr(LEvent.EN ...

正常情况下,重新开始只要把画面上的对象清空,然后重新绘制一遍
你重新开始是的时候是怎么处理的?
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9313

积分

诸侯王

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

板凳
发表于 2016-11-22 12:38:19 |显示全部楼层
kezhiyu 发表于 2016-11-22 12:36
下面两张图片。分别为 第一次执行 和第二次 执行,第二次比第一次 多了好几个 ...

那init岂不是要执行多遍?
引擎的初始化,只需要执行一次,执行多次肯定是会出问题的
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9313

积分

诸侯王

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

地板
发表于 2016-11-22 12:57:40 |显示全部楼层
kezhiyu 发表于 2016-11-22 12:39
那有什么办法能解决这个问题吗。。init 不是针对 canvas 的吗。我也尝试过 把整个canvas都删除了,没有效 ...

你可以加个变量判断一下,如果已初始化就不要再执行一遍了
既然是初始化函数,肯定只能执行一遍啊
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9313

积分

诸侯王

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

5#
发表于 2016-11-22 13:19:33 |显示全部楼层
kezhiyu 发表于 2016-11-22 13:08
目前 不重复初始化 是无法显示页面的。我再试试有没别的办法
谢谢

页面上通过引擎初始化创建的canvas只要不被删除,引擎就可以通过这个canvas来绘图
你不初始化引擎,想要重新开始,也得初始化你的绘图啊
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9313

积分

诸侯王

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

6#
发表于 2016-11-22 14:09:18 |显示全部楼层
kezhiyu 发表于 2016-11-22 14:00
有没有可能在往后的版本提供 可以销毁 初始化以后 的变量的,或者重新初始化 把事件什么的 可以清除掉。无 ...

嗯,这倒是也不错,以后更新我也加个判断就好了,用户重复调用的时候,只要引擎内部不重复处理就好了
多谢建议
不回答与技术和引擎不相关的问题
回复

使用道具 举报

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

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

Archiver|lufy's legend

GMT+8, 2024-5-20 07:05 , Processed in 0.047066 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部