【问题标题】:swift: Call function in scene from controllerswift:从控制器调用场景中的函数
【发布时间】:2014-08-27 22:05:40
【问题描述】:

我正在尝试基于平移手势旋转 SKSpriteNode。我发现检测平移的唯一方法是在 GameViewController.swift 中插入小代码。要在平移上旋转精灵,我必须在场景文件中调用旋转函数。我尝试做PlayScene.rotateTommyLeft(),但它给了我错误说Missing argument for parameter #1 in call,这很奇怪,因为函数rotateTommyLeft 不需要参数。我把它贴在下面。

func rotateTommyLeft()
{
    tommy.zRotation--
}

【问题讨论】:

  • 您可能两次声明了rotateTommyLeft? (你的意思是rotateTommyRight第二次?)
  • 不。事实并非如此。但是,我确实注意到在键入函数时需要输入一些奇怪的参数。我截图了。 link
  • 看起来方法被识别为函数。您是否尝试过清洁和重建?
  • 谢谢,但这无济于事。项目已清理,但在重建时出现相同的错误。

标签: ios function swift


【解决方案1】:

问题是因为你在打电话

PlayScene.rotateTommyLeft()

PlayScene 是一个类,而不是一个实例

在此处查看类似的问题和答案:Missing argument for parameter #1 in call error for function with no params. Swift

【讨论】:

  • 感谢您回答我。为了澄清,我将PlayScene.rotateTommyLeft() 更改为PlayScene().rotateTommyLeft(),它开始工作了。
猜你喜欢
  • 1970-01-01
  • 2019-10-06
  • 2020-10-08
  • 1970-01-01
  • 2014-01-10
  • 2014-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多