- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在尝试更改 SKSpriteNode 的位置时遇到了一个非常奇怪的崩溃。此崩溃发生在 iOS8 而不是 iOS9。
// if the powerup is full, spawn the icon on screen
if orangeBallsCollected == numberOfBallsRequiredToActivatePowerup {
// add the powerup icon to the array of powerupiconsonscreen
powerupIconsOnScreen.append(fewerColorsPowerupIcon)
// set the lighting mask of the powerup icon so that we know what positon it is onscreen for alter
fewerColorsPowerupIcon.lightingBitMask = UInt32(powerupIconsOnScreen.count - 1)
// remove the ball from its current parent
fewerColorsPowerupIcon.removeFromParent()
print(fewerColorsPowerupIcon, fewerColorsPowerupIcon.parent, fewerColorsPowerupIcon.physicsBody, fewerColorsPowerupIcon.superclass)
// place the ball of the screen so that we can bring it on later
fewerColorsPowerupIcon.position = CGPointMake((width * -0.1) , (height * -0.1))
// set the size of the icon
fewerColorsPowerupIcon.xScale = scaleFactor
fewerColorsPowerupIcon.yScale = scaleFactor
// add it the scene
self.addChild(fewerColorsPowerupIcon)
// animate it moving down to the first avaliable position
let animation = SKAction.moveTo(CGPoint(x: width * 0.1, y: height * 0.1), duration: 0.5)
// run the animation!
fewerColorsPowerupIcon.runAction(animation)
// activate the poweurp
activateFewerColors()
}
当我尝试设置位置 (fewerColorsPowerupIcon.position
) 时发生崩溃,这是崩溃消息:
Thread 1: EXC_BAD_ACCESS(code=EXC_I386_GPFLT)
如果我在设置节点位置后放置 .removeFromParent()
代码段,仍然会发生此崩溃。
最佳答案
我认为如果你删除 Sprite ,你将无能为力。
所以尝试这样做:
let spriteCopy = fewerColorsPowerupIcon.copy()
// place the ball of the screen so that we can bring it on later
spriteCopy.position = CGPointMake((width * -0.1) , (height * -0.1))
// set the size of the icon
spriteCopy.xScale = scaleFactor
spriteCopy.yScale = scaleFactor
// add it the scene
self.addChild(spriteCopy)
或者您可以先在场景中添加,然后更改属性:
// remove the ball from its current parent
fewerColorsPowerupIcon.removeFromParent()
// add it the scene
self.addChild(fewerColorsPowerupIcon)
// place the ball of the screen so that we can bring it on later
fewerColorsPowerupIcon.position = CGPointMake((width * -0.1) , (height * -0.1))
// set the size of the icon
fewerColorsPowerupIcon.xScale = scaleFactor
fewerColorsPowerupIcon.yScale = scaleFactor
关于ios - EXC_BAD_ACESS 在 iOS8 上的 SpriteKit 中崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37124270/
我试图在这里找到错误,调试器在以下位置停止: Pthread_create renderer passed Renderer loop (re)started Process 84779 stoppe
我在以下行收到错误 EXC_BAD_ACESS: NSString *titleVarName = [[NSString alloc] initWithFormat:@"%@%@",@"occasio
我正在将应用程序文档目录中的 vcf 文件中的 vcard 数据检索到字符串中。该字符串很好,但 ABPersonCreatePeopleInSourceWithVCardRepresentation
我有这段加载 UITableView 的代码: - (int)numberOfSectionsInTableView:(UITableView *)tableView { if (tableV
我正在将 HTML 文本分配给 NSAttributedString。然后将此属性字符串分配给 cellForRowAtIndexPath 方法中的 UitableViewCell 中的 UILabe
我在尝试更改 SKSpriteNode 的位置时遇到了一个非常奇怪的崩溃。此崩溃发生在 iOS8 而不是 iOS9。 // if the powerup is full, spawn the icon
我是一名优秀的程序员,十分优秀!