GameSceneクラスでself.frameが関数の中で使えるのに外で使えない理由
iOSの開発に興味を持ち簡単な例で試してみようと
swiftの勉強を始めました。
そこで画面上に丸(型:SKShapeNode)を表示し
update()で動かしてみようと思ってコードを書いていたところ
下記の問題にぶつかりました。知識が浅いためか調べても解決できなかったため質問させていただきました。とても初歩的な質問で申し訳ありませんが、回答お待ちしております。
■やりたかったこと
1.var circle = SKShapeNode(circleOfRadius:xx)
のxxで画面サイズ基準で初期化したかった
(例えばxx=self.frame.width/100.0のようにしたかった)
■問題点
1.下記コードのcircleの宣言部分で
"Value of type '(NSObject) -> () -> GameScene' has no member 'frame'"
と怒られてしまいました。
import SpriteKit
import GameplayKit
import UIKit
class GameScene: SKScene{
var circle = SKShapeNode(circleOfRadius:self.frame.width/100.0)
func getWidthHeight(){
width=self.frame.width
height=self.frame.width
}...
■回答いただきたいこと
1."Value of type '(NSObject) -> () -> GameScene' has no member 'frame'"と怒られた理由
2.上記コードのfunc内ではなぜ怒られないのか
3.上記コードのfunc内のself.frame.widthのselfはGameSceneのことではないのか
以上3つについて回答をお願いしたいです。
よろしくお願いいたします。