我对新的Swift 3.0有些困难。首先我知道“呼叫结果未使用”警告已经有几次辩论了。我已经阅读了相关主题,通常建议的答案是在函数之前使用@discardableResult或使用_ =。但就我而言,这是行不通的。在升级xCode之前,代码运行良好。我在iPad上测试过,一切正常。但是,一旦我升级了xCode并且必须转换代码以符合Swift 3.0,问题就出现了。
事情就是无论我做什么,游戏中的物体都没有显示出来。就像我说的,之前它有效,但现在它已不复存在了。当角色遇到对象并且它崩溃时,游戏应该显示一个崩溃的对象,而是显示一个带有红色“X”的图像,就好像图像不存在一样。
这是代码。我很感激你们的任何建议。提前致谢
for block in Blocks
{
block.move()
block.isColB()
if(block.manager.HasFloorL2)
{
if(block.isOnL2())
{
if(block.manager.FloorL2Obstact)
{
block.ObsColL2() // here, result of call to ObscColL2() is unused
}
break;
}
}
if(block.manager.HasFloorL1)
{
if(block.isOnL1())
{
if(block.manager.FloorL1Obstact)
{
block.ObsColL1() // here, result of call to ObscColL1() is unused
}
break;
}
}
}
这是它所指的功能。
func ObsColL1() -> Bool
{
if(kong.Node.position.x+kong.Node.size.width*0.7 > self.holder.position.x+ObstacleL1.Node.position.x
&& kong.Node.position.x+kong.Node.size.width*0.7 < self.holder.position.x+ObstacleL1.Node.position.x+ObstacleL1.Node.size.width*0.3)
{
if(kong.Y() <= self.holder.position.y+(ObstacleL1.Node.position.y)+ObstacleL1.Node.size.height*0.7 && kong.Y() >= self.holder.position.y+ObstacleL1.Node.position.y)
{
if(kong.state != heroStates.flash && !self.ObstacleL1.crashed)
{
kong.Node.position.x = self.holder.position.x+ObstacleL1.Node.position.x-(kong.Node.size.width*0.55)
kong.Node.run(SKAction.moveTo(y: self.holder.position.y+ObstacleL1.Node.position.y+ObstacleL1.Node.size.height/2, duration: 0.5))
kong.die()
}
else
{
ObstacleL1.crash()
return true
}
}
}
return false
}
编辑: 之前和之后 before and after before and after 2