Cocos Creator v2.4.3-rc.7 测试帖(正式版已发)

spine挂点层级问题 换图所有同骨骼的都换 挂点层级有问题 关于换装还是没有什么好的解决方案

fnt.zip (6.6 KB)[quote=“cary, post:435, topic:96344, full:true”]
发一下你会出现问题的 fnt 资源吗?测试例的字体资源预览是正常的。
[/quote]

2.4.0 获取TextureAtlasRegion换图的方案貌似没用了 sp.Skeleton.AnimationCacheMode设置完全没用 sk.invalidAnimationCache()也不行

发现一个奇怪的现象:

如果给结点加锁,那么获取此加锁结点.getBoundingBox() 返回的Rect值中宽高是一直固定的,如果不加锁,那么每次创建这个大Node 时,其中未加锁的结点第一次是正确的,以后无论多少次再 new 大结点时,里面未加锁的结点返回的Rect值中宽高就特别大,是bug吗?

@EndEvil

能帮忙看下这个问题吗?

这个2.4.3已经修复了

能提供一个demo么?

touchTest_2.zip (2.7 MB)

无论编辑器拖拽,还是使用cc.resources.load获取到的sp.SkeletonData都是同一个实例,改变sp.Skeleton.AnimationCacheMode也无济于事,这让我很忧伤

挂点有层级问题 换图有关联问题 难道只能把30套皮肤做到一个骨骼里?

cc.director.preloadScene 为啥加载完不返回 cc.SceneAsset了

单独测试这个文本资源好像是没问题,你那里有复现的条件吗?

游戏在ios发生闪退。

0 游戏 v8::internal::RelocatingCharacterStream::UpdateBufferPointersCallback(v8::Isolate*, v8::GCType, v8::GCCallbackFlags, void*) + 505524
1 游戏 v8::base::LazyInstanceImpl<v8::base::Mutex, v8::base::StaticallyAllocatedInstanceTraitv8::base::Mutex, v8::base::DefaultConstructTraitv8::base::Mutex, v8::base::ThreadSafeInitOnceTrait, v8::base::LeakyInstanceTraitv8::base::Mutex >::InitInstance(void*) + 82560
2 游戏 v8::base::LazyInstanceImpl<v8::base::Mutex, v8::base::StaticallyAllocatedInstanceTraitv8::base::Mutex, v8::base::DefaultConstructTraitv8::base::Mutex, v8::base::ThreadSafeInitOnceTrait, v8::base::LeakyInstanceTraitv8::base::Mutex >::InitInstance(void*) + 82560
3 游戏 __cxa_throw + 1680448
4 游戏 __cxa_throw + 1654260
5 游戏 __cxa_throw + 319324
6 CoreFoundation -[__NSISOLatin6TrigramKeySet init] + 32
7 CoreFoundation -[__NSISOLatin6TrigramKeySet init] + 112
8 CoreFoundation _CFNumberGetValue + 288
9 CoreFoundation _CFNumberCreate + 1416
10 CoreFoundation -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 776
11 CoreFoundation _CFXNotificationPost + 1260
12 Foundation +[NSRunLoop(NSRunLoop) _new:] + 148
13 UIKitCore -[_UICoreUICatalogColorWrapper description] + 128
14 UIKitCore -[NSCollectionLayoutGroup setCount:] + 4
15 UIKitCore _UIApplicationSceneStringForApplicationStatusBarPart + 40
16 UIKitCore _UISceneSettingsDiffActionPerformChangesWithTransitionContext + 260
17 UIKitCore -[NSCollectionLayoutGroup interItemSpacing] + 12
18 UIKitCore -[NSCollectionLayoutGroup _isListSolverCompatibleForLayoutAxis:] + 288
19 UIKitCore _UISceneSettingsDiffActionPerformActionsWithDelayForTransitionContext + 108
20 UIKitCore ___66-[NSCollectionLayoutGroup _hasDecorationItemRequiringRegistration]_block_invoke + 260
21 UIKitCore -[_UICollectionLayoutSectionListSolver sectionSupplementaryFrameWithKind:index:] + 660
22 UIKitCore -[_UICollectionLayoutSectionListSolver solveForContainer:traitCollection:layoutAxis:frameCount:preferredSizes:layoutRTL:] + 164
23 UIKitCore -[_UICollectionLayoutSectionListSolver sectionSupplementaryKindIndexForEnrollmentIdentifier:] + 324
24 UIKitCore -[UIGestureGraph removeNodes:] + 68
25 FrontBoardServices -[FBSSceneImpl closeSession:] + 36
26 FrontBoardServices ___55-[FBSSceneEvent descriptionBuilderWithMultilinePrefix:]_block_invoke + 236
27 FrontBoardServices -[FBSProcessWatchdog invalidate] + 284
28 FrontBoardServices ___55-[FBSSceneEvent descriptionBuilderWithMultilinePrefix:]_block_invoke + 8
29 libdispatch.dylib __dispatch_async_redirect_invoke + 592
30 libdispatch.dylib _dispatch_set_qos_class_floor$VARIANT$mp + 116
31 FrontBoardServices -[FBSServiceFacilityClient setEndpoint:] + 36
32 FrontBoardServices ___49-[FBSServiceFacilityClient initWithConfigurator:]_block_invoke.63 + 80
33 FrontBoardServices -[FBSServiceFacilityClient setEndpoint:] + 572
34 CoreFoundation __CFCalendarEnumerateDates + 4756
35 CoreFoundation __CFCalendarEnumerateDates + 4584
36 CoreFoundation __CFCalendarEnumerateDates + 2372
37 CoreFoundation _CFRunLoopTimerSetNextFireDate + 800
38 CoreFoundation CFRunLoopRunSpecific + 480
39 GraphicsServices GSEventRunModal + 164
40 UIKitCore UIApplicationMain + 1936
41 游戏 0x00000001003a4000 + 48964
42 libdyld.dylib 0x00000001befc2000 + 4996

另一种崩溃:

0 游戏 v8::internal::RelocatingCharacterStream::UpdateBufferPointersCallback(v8::Isolate*, v8::GCType, v8::GCCallbackFlags, void*) + 505524

1 游戏 v8::base::LazyInstanceImpl<v8::base::Mutex,
v8::base::StaticallyAllocatedInstanceTraitv8::base::Mutex,
v8::base::DefaultConstructTraitv8::base::Mutex,
v8::base::ThreadSafeInitOnceTrait,
v8::base::LeakyInstanceTraitv8::base::Mutex >::InitInstance(void*) + 82560

2 游戏 v8::base::LazyInstanceImpl<v8::base::Mutex,
v8::base::StaticallyAllocatedInstanceTraitv8::base::Mutex,
v8::base::DefaultConstructTraitv8::base::Mutex,
v8::base::ThreadSafeInitOnceTrait,
v8::base::LeakyInstanceTraitv8::base::Mutex >::InitInstance(void*) + 82560

3 游戏 __cxa_throw + 1680448
4 游戏 __cxa_throw + 1654260
5 游戏 __cxa_throw + 319324
6 CoreFoundation _CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER + 20
7 CoreFoundation ____CFXRegistrationPost_block_invoke + 64
8 CoreFoundation __CFXRegistrationPost + 392
9 CoreFoundation ____CFXNotificationPost_block_invoke + 96
10 CoreFoundation -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1496
11 CoreFoundation _CFXNotificationPost + 696
12 Foundation -[NSNotificationCenter postNotificationName:object:userInfo:] + 68
13 UIKitCore -[UIDevice setOrientation:animated:] + 328
14 UIKitCore ___124-[_UICanvasDeviceOrientationSettingsDiffAction
_updateDeviceOrientationWithSettingObserverContext:canvas:transitionContext:]_block_invoke + 88
15 UIKitCore _performChangesWithTransitionContext + 836
16 UIKitCore -[_UICanvasDeviceOrientationSettingsDiffAction _updateDeviceOrientationWithSettingObserverContext:canvas:transitionContext:] + 236
17 UIKitCore ___133-[_UICanvasDeviceOrientationSettingsDiffAction
performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:]_block_invoke + 104
18 UIKitCore _performActionsWithDelayForTransitionContext + 112
19 UIKitCore -[_UICanvasDeviceOrientationSettingsDiffAction
performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:] + 172
20 UIKitCore -[_UICanvas scene:didUpdateWithDiff:transitionContext:completion:] + 360
21 UIKitCore -[UIApplicationSceneClientAgent scene:handleEvent:withCompletion:] + 464
22 FrontBoardServices ___80-[FBSSceneImplupdater:didUpdateSettings:withDiff:transitionContext:completion:]_block_invoke_3 + 224
23 libdispatch.dylib __dispatch_client_callout + 16
24 libdispatch.dylib __dispatch_block_invoke_direct$VARIANT$mp + 224
25 FrontBoardServices _FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK + 40
26 FrontBoardServices -[FBSSerialQueue _performNext] + 408
27 FrontBoardServices -[FBSSerialQueue _performNextFromRunLoopSource] + 52
28 CoreFoundation _CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 24
29 CoreFoundation ___CFRunLoopDoSource0 + 88
30 CoreFoundation ___CFRunLoopDoSources0 + 176
31 CoreFoundation ___CFRunLoopRun + 1004
32 CoreFoundation CFRunLoopRunSpecific + 436
33 GraphicsServices GSEventRunModal + 104
34 UIKitCore UIApplicationMain + 212
35 游戏 0x0000000100434000 + 51936 36 libdyld.dylib _start + 4

1赞

cache mode改为share或者private cache,可以凑合用,避免换装影响其他节点

用不了 场景生成10个角色 1个换图 个个都换了

我的帖子里面提供一个避免缓存的思路。

目前唯一能确定复现的方式就是把fnt文件对应的png文件的Packable勾选上,然后预览就会出现。
而且如图所示,0这张图能正常显示,其它的都是黑的···

请问,现在cc.director.preloadScene 是不是不会预加载场景依赖资源,比如图片

使用SafeArea组件绑定再UI根节点上,关闭UI界面的时候报错

原生平台打包勾选md5cahce 是否有什么影响?

想要打包 Asset Bundle ,勾选了md5cache , 这时候生成的 Android 主包的资源也是有md5的,
是否需要取消勾选再次打包没有md5cache 的主包?