簡體   English   中英

如何從“ViewController”調用我的“SKScene”中的方法

[英]How to call a method inside my 'SKScene' from 'ViewController'

我在我的 SKScene 中有一個方法:

  func someTypeMethod() {
      print("someTypeMethod...")
  }

我試圖從我的“ViewController”中調用它:

  if let scene = SKScene(fileNamed: "Scene") {
      scene.someTypeMethod()
  } 

但是 Xcode 說'Value of type SKScene has no member 'scene.someTypeMethod'

我什至嘗試將方法設為“公共”和“類”。 但仍然出現錯誤。 那么,我如何從它的“ViewController”調用我的“SKScene”中的這些方法?

請幫忙...

someTypeMethod()是在someTypeMethod()的擴展上還是在子類上聲明的?

如果是在子類上,則需要更改為

  if let scene = SKScene(fileNamed: "Scene") as? MySKSceneSubclass {
      scene.someTypeMethod()
  } 

如果您不告訴它期望哪個正確的子類,編譯器只知道該場景具有本機 SKScene 方法。 使其成為類方法意味着您將調用SKScene.someTypeMethod() ,而不是scene.someTypeMethod() ,但隨后它將無法訪問您的場景數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM