我想在尝试旋转精灵时出现断言失败错误。这个错误发生的时候游戏sim运行异常。我不知道为什么?
这是我的日志文件:
断言失败 - [CCSprite rotation],/ Users / SCN /Desktop / Stick -ninja-test / Stick -ninja-test / libs / corp2d / CCNode.m:207 2015-03-24 08:39:42.207 Fish-hunt [548:a0b] *由于未捕获的异常'NSInternalInconsistencyException'而终止app,原因:'CCNode#rotation。 RotationX!= RotationY。不知道要返回哪一个' * 第一次抛出调用堆栈: ( 0 CoreFoundation 0x02c1b5e4 exceptionPreprocess + 180 1 libobjc.A.dylib 0x022678b6 objc_exception_throw + 44 2 CoreFoundation 0x02c1b448 + [NSException raise:format:arguments:] + 136 3基础0x019c2fee - [NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 116 4捕鱼0x000f4f8c - [CCNode旋转] + 236 5 Fish-hunt 0x00084dd5 - [GameLayer update:] + 7621 6 Fish-hunt 0x000e46af - [CCScheduler update:] + 447 7 Fish-hunt 0x000e4e01 - [CCDirectorIOS drawScene] + 225 8 Fish-hunt 0x000e68e4 - [CCDirectorDisplayLink mainLoop:] + 52 9 QuartzCore 0x0130db8a _ZN2CA7Display15DisplayLinkItem8dispatchEv + 48 10 QuartzCore 0x0130da46 _ZN2CA7Display11DisplayLink14dispatch_itemsEyyy + 310 11 QuartzCore 0x0130df6b _ZN2CA7Display16TimerDisplayLink8callbackEP16__CFRunLoopTimerPv + 123 12 CoreFoundation 0x02bd9bd6 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION + 22 13 CoreFoundation 0x02bd95bd __CFRunLoopDoTimer + 1181 14 CoreFoundation 0x02bc1628 __CFRunLoopRun + 1816 15 CoreFoundation 0x02bc0ac3 CFRunLoopRunSpecific + 467 16 CoreFoundation 0x02bc08db CFRunLoopRunInMode + 123 17 GraphicsServices 0x0396b9e2 GSEventRunModal + 192 18 GraphicsServices 0x0396b809 GSEventRun + 104 19 UIKit 0x00360d3b UIApplicationMain + 1225 20捕鱼0x00099a46主+ 134 21捕鱼0x00002a05开始+ 53 ) libc ++ abi.dylib:以NSException类型的未捕获异常终止
你能说出我的原因吗?感谢
答案 0 :(得分:0)
我知道你得到了答案,但你没有提到你是如何解决它的。所以我正在给出如何解决同样问题的其他用户。
如果您只使用setRotation()和getRotation()。检查setRotation()中某个点的值是无效的,如NaN或其他无效的值。 Cocos2d在设置时不会出错,但在执行getRotation()之后,它会给出错误。