请教:我的乐透游戏世界在运行中突然没有声音了,怎么处理?

站内网址搜索
本页最后更新: 7:35:51
【欢迎来到:《明尼苏达州采票局》】
网站分类:
网站名称:
网站地址:
站长邮箱:
站长QQ:
收录时间:
报告错误:
欢迎来到:《明尼苏达州采票局》已报错(0)次,打不开请
收录查询:
数据统计:
今日点入:0 总点入:0 总点出:1
网站简介:
明尼苏达州采票局(Minnesota State Lottery),是明尼苏达州的官方采票机构。2010年12月,SG公司同他的子公司MDI合作已经为美国明尼苏达州采票局搭建了一个新的网络平台,允许采票玩家购买该州的多种采票。该系统不仅可以为玩家提供良好方便的用户体验,还可以保证网络购买采票的安全性和合法性。认购系统可以让该州采票玩家从网络终端一次购买一种或多种采票。玩家也可以根据喜好选号追加购买(6周-1年),在平台可以购买强力球采票、超级百万采票、火热乐透、每日3等现有采票游戏,也可以购买将来可能增加的采票游戏。该游戏平台还有其他几大特点:1、包括购买采票限额、管理人员管控、玩家自我管理设定责任博采措施;2、未成年监控以及保证利用定位工具设定认购玩家的注册、更新以及奖金领取方式都在明尼苏达州内进行;3、人性化的认购界面和账户管理工具;4、自动邮件提醒玩家中奖;5、支持玩家合买;6、该系统将购买采票和支付奖金整合在一起。奖池,账户记录和报告都可以结合在一起自动呈现给玩家。这套动态综合系统可以增加采票销售,不仅目前的玩家可以购买,还可以吸引一些不去传统采票点购买采票的玩家。2011年11月,在没有任何新闻稿或公告的情况下,明尼苏达州采票局竟然&大胆&低调推行采票在线销售计划近一年,此后该做法立即遭到部分立法者批评。批评者表示对采票局的这一做法猝不及防,认为采票局没有做出这一决定的权限。在明尼苏达州,私人的网上博采是非法的,所以当地领导人纷纷转向不支持各种博采扩张建议和在线博采企业。但是随着越来越多的明尼苏达人拒绝传统采票,并开始选择更舒适的游戏和习惯在网上购买商品,在时任州长蒂姆&普兰提(then-Gov.TimPawlenty)管理减弱的时候,明尼苏达州采票朝着互联网售采迈出了第一步。明尼苏达州采票局表示,之所以推出在线销售服务,主要是为了吸引对购买传统纸质采票不感兴趣的年轻一代,这一做法有助于增加采票销量。他们故意上演了一出&软启动&,因为他们预期只有小部分的明尼苏达人将使用该系统,他们不想让采票零售商寝食不安。明尼苏达州采票局执行董事珍妮&坎菲尔德承认:当时推出采票在线销售计划的时候确实没有知会当时的蒂姆&普兰提州长办公室和最高立法领导人。采票局选择低调开展在线销售主要是不想引起零售商的反对,我们不得不谨慎。而且预期在线销售的采票不到采票总销售额的1%。联系方式电话:1-800-333-HOPE;(651) 635-8273地址:美国,明尼苏达州,罗斯维尔,长湖路2645号
【最新来访网站】
?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&
【相关点出网站】
?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&
免责声明:888导航以上所有广告内容均为赞助商广告提供,对其经营行为本网站恕不负责。Copyright&
All Right Reserved
强烈建议使用 IE5.0 以上浏览器 分辨率HEAP[MusicGame.exe]:&Invalid&Address&specified&to&RtlGetUserInfoHeap(&A903E00&)
Windows&已在&MusicGame.exe&中触发一个断点。
其原因可能是堆被损坏,这说明&MusicGame.exe&中或它所加载的任何&DLL&中有&Bug。
原因也可能是用户在&MusicGame.exe&具有焦点时按下了&F12。
输出窗口可能提供了更多诊断信息。
提示的这样一个错误,
然后下面描述下我的情况。
现在在写个音乐游戏,有点类似劲乐团那种,一个方形移动下来到相应位置时点击就算击中(而我用的是圆形,这里把它叫&“点击圆”),
所以这游戏需要不停地生成精灵,而在我击中时,只是让这个点击对象隐藏,没有移除,这些生成的
&点击圆&我全部把它们放到MAP容器里(没有用COCO封装好的容器)
因为在玩几首歌之后,就会出现上面的错误,于是就开始把所有东西都主动清空一下。
主要是以下的做法:
在一首歌结束后我会把容器全部清空一下,同时为以防万一,也调用这个函数清空下子节点
this-&removeAllChildren();
因为在一首歌结束后,可以继续选别的歌继续游玩,选歌后,也只是简单地调用了
CCDirector::sharedDirector()-&replaceScene(CGameScene::scene());
重新进入到游玩的主界面中,所以很多精灵又重新addChild()
而在这个控制游戏过程的主体类中,要addChild很多元素,
所以现在我就在该类的&init()函数开始部分先来一句&
this-&removeAllChildrenWithCleanup(true);&//&清除所有子节点
以保证之前的先清掉。
其它一些小类,也作了清理工作,目前自认为在一首歌结束后,我都把占用内存的东西都清理了个遍,
但为什么还会报这样一个错误,我实在想不出是什么问题了。求帮助!
回复讨论(解决方案)
当你replaceScene,再次进入CGameScene场景时,和上一个CGameScene场景是无关的,因为这时候会新建一个CGameScene对象。每次切换场景(即使是同一个名字的场景),都会创建新的对象。
所以,不管你在CGameScene的init里怎么清除,对上一个CGameScene毫无影响,它可能仍然藏在某个地方。
我猜测,是你的逻辑哪里出了问题,导致报错的(比如调用了空对象?)你调试一下,看看断点时的堆栈,看能不能找到出错的代码在哪里~
可能确实是有些对象没有释放成功,不过如上所述,你这么释放是没效果的
Cocos2d-x比较容易引起内存泄露的原因可能有下面的几种:
1.调用了NotificationCenter进行消息订阅,但是离开场景时没有取消订阅,这样会导致场景或者层释放失败
2.主动进行retain操作,但是没有主动调用release
3.一时想不起来喇~你还是调试一下看看吧~
“不过如上所述,你这么释放是没效果的”&
看到这句眼泪都要掉下来了,我花了这么多功夫检查并把这些内存一个个释放掉,结果居然是无用功
不过也不是完全没效果的,在我主动写上这些清理代码前,在第4首歌开始出这个错,写完之后,在开始第6首
的时候才出错。
“不过如上所述,你这么释放是没效果的”&
看到这句眼泪都要掉下来了,我花了这么多功夫检查并把这些内存一个个释放掉,结果居然是无用功
不过也不是完全没效果的,在我主动写上这些清理代码前,在第4首歌开始出这个错,写完之后,在开始第6首
的时候才出错。
我要不要说点什么好..
再次检查过程发现两点奇怪的地方:
1.我不去点击&上面所说的&“点击圆”&,&一直只让歌播放,不停选不同的歌播完再选,选完再播,没有出现错误。那问题很有可能出在点击的处理里面。
2.在生成“点击圆”的类中,当音乐结束就通过CCNotificationCenter::sharedNotificationCenter()-&postNotification(&Time&,&NULL);发送一个消息,
然后游戏场景的类就通过,CCNotificationCenter::sharedNotificationCenter()-&addObserver(this,&callfuncO_selector(CGameScene::TimeOutMsg),&&Time&,&NULL);&&&//&这放在了INIT方法里
接收到消息,调用TimeOutMsg函数,而我在TimeOutMsg函数中加了句CCLOG,发现这个函数,被调用了好几次,而且每次歌曲结束后,被重复调用TimeOutMsg函数的次数也不一样。感觉相当奇怪。
CCNotificationCenter::sharedNotificationCenter()-&postNotification(&Time&,&NULL);
也只是发送了一次而已,并没重复发送
再次检查过程发现两点奇怪的地方:
1.我不去点击&上面所说的&“点击圆”&,&一直只让歌播放,不停选不同的歌播完再选,选完再播,没有出现错误。那问题很有可能出在点击的处理里面。
2.在生成“点击圆”的类中,当音乐结束就通过CCNotificationCenter::sharedNotificationCenter()-&postNotification(&Time&,&NULL);发送一个消息,
然后游戏场景的类就通过,CCNotificationCenter::sharedNotificationCenter()-&addObserver(this,&callfuncO_selector(CGameScene::TimeOutMsg),&&Time&,&NULL);&&&//&这放在了INIT方法里
接收到消息,调用TimeOutMsg函数,而我在TimeOutMsg函数中加了句CCLOG,发现这个函数,被调用了好几次,而且每次歌曲结束后,被重复调用TimeOutMsg函数的次数也不一样。感觉相当奇怪。
你有没有在场景释放前调用CCNotificationCenter::sharedNotificationCenter()-&remove**(函数名忘了)?
否则就像我之前说的,会造成场景释放失败~
在onExit里调用了,要不转场就出错了,
这是上个问题的问题
在onExit里调用了,要不转场就出错了,
这是上个问题的问题
好吧,那你继续调试,暂时没想法~
不知道在哪个网上看到过说CCNotificationCenter不是线程安全的.&&另外,&&从你的弹出框上面报的错是&&堆&&出了问题,&&而不是栈,&&那八成应该是内存管理出了问题.&&看了一下你的程序有没有多个线程.&&或者,&访问了某些释放了东西,&&或者,&&某些东西正在用着,&&你把它释放了,&&但还在使用
经过我反复的排查,调试,测试,修改,
问题确实是出在ccTouchesBegan里面,
因为我在这里面处理了,“点击圆”&是否点中的判断,点中后,包括出来粒子效果,出来点击的效果音,包括出来一个弹字
表现点击位置的完美度。
最后发现问题出于效果音上。
SimpleAudioEngine::sharedEngine()-&playEffect(CCFileUtils::sharedFileUtils()-&fullPathForFilename(
strEffectMusic[1].c_str()).c_str());
目前把这句注释掉,就暂时没测试到上面的错误情况。这就奇怪了,不过是一个播放效果音,而且也已经预加载了,而且查过,播放音效似乎也没其它什么要特别注意的地方。居然是由这个引发错误,实在是无法理解。
话说有遇过的么?&
fullPathForFilename(strEffectMusic[1].c_str()).c_str());
看一下这个地方的调用,strEffectMusic应该是一个&string类型的数组。&&fullPathForFilename(strEffectMusic[1].c_str())&返回的应该也是一个string类型。&&此处你使用.c_str()来引用它的指针。&&如果strEffectMusic[1]中的string有被释放的话,&&当你再点击时,&&使用c_str()来获取它的指针就会出错。&&还有,&&如果你保存了c_str()这个指针的地址,&但是string对象已经释放的话,&&再次使用.c_str()同样会出错,&因为string对象已经释放,那c_str()返回的地址也就是一个野指针的地址了。
想一下你说的,点歌,切歌,应该有不同的歌的路径的string释放问题,可以查一下。
fullPathForFilename(strEffectMusic[1].c_str()).c_str());
看一下这个地方的调用,strEffectMusic应该是一个&string类型的数组。&&fullPathForFilename(strEffectMusic[1].c_str())&返回的应该也是一个string类型。&&此处你使用.c_str()来引用它的指针。&&如果strEffectMusic[1]中的string有被释放的话,&&当你再点击时,&&使用c_str()来获取它的指针就会出错。&&还有,&&如果你保存了c_str()这个指针的地址,&但是string对象已经释放的话,&&再次使用.c_str()同样会出错,&因为string对象已经释放,那c_str()返回的地址也就是一个野指针的地址了。
想一下你说的,点歌,切歌,应该有不同的歌的路径的string释放问题,可以查一下。
不过我是这种类型的&const&static&string&strEffectMusic
应该不会随便就被释放吧。
这只不过是一个数组的类型,&&关键是它里面的成员
这只不过是一个数组的类型,&&关键是它里面的成员
我现在改成这样了
SimpleAudioEngine::sharedEngine()-&playEffect(&click.wav&);
好像还真的不会错了,那就是说不能这样用了?
SimpleAudioEngine::sharedEngine()-&playEffect(CCFileUtils::sharedFileUtils()-&fullPathForFilename(
strEffectMusic[1].c_str()).c_str());

我要回帖

更多关于 乐透游戏官方下载 的文章

 

随机推荐