我不知道如何解决这个问题并且已经持续了好几个小时。我无法根据iMessage扩展中的func didTransition(to presentationStyle:
调整SKSpritenodes的位置。
我试图根据这个屏幕尺寸布置我的精灵,因为在打印之后,我确认无论如何都保持相同:
let screenSize = UIScreen.main.bounds
我一直在didTransition功能中调整位置&尽量保持场景大小与视图一致:
if(presentationStyle == .compact)
{
scene.uiToCompact()
}
else {
scene.uiToFull()
}
skView.frame = CGRect(x: 0, y: 0, width: view.bounds.width, height: view.bounds.height)
scene.size = CGSize(width: view.bounds.width, height: view.bounds.height)
我尝试创建变量并在更新中不断将精灵的位置设置为该变量:
ground.position = CGPoint(x: (scene?.size.width)!/2, y: groundHeight)
和uiToCompact()或修改的地方:
groundHeight = screenSize.height * 0.4
我也试过让这个总是更新:
ground.position = CGPoint(x: (scene?.size.width)!/2, y: screenSize.height * 0.4)
问题是什么都没有用,即使控制台打印出地面始终处于相同的数字位置。
我得到这个:完整到紧凑,在紧凑的我在场景的顶部看起来像:
我做错了什么?这不可能吗?