Takunojiの日記

自分が勉強したプログラム技術メモ

SpriteKitチュートリアルをやってみる 其の四

イントロダクション

画面の起動とアニメーション作成

画面を動かした結果

前回は、画面からコードを実装しました。
そして、結局のところは起動できたか否か?の部分ですが。。。
できませんでした。
デバックコンソールに以下の様なエラーが出力されて、「?」となりました。

f:id:Takunoji:20170815103019p:plain

そして、原因を見つけるために一度実装を確認するのが常騰手段ですが。。。
今回は、仕組みからしてよくわかっていなかったので、仕組みを見直しました。
主にプロパティ設定部分です。根拠は、「found nil」と出力されているからです。
※「nil」は「null」のことの様です。
エラーが出力されている行がいかになります。

        btnNext = childNode(withName: "//buttonNext") as! SKSpriteNode

フッターで定義されているボタンが見つからずに「nil」っていた様です。
そして、チュートリアルを読み返すと、案の定ありました。

ライブラリの参照追加


フッターの設定漏れがありました。ObjectLibraryからReferenceを選択して

ドラッグ&ドロップします。

f:id:Takunoji:20170815103639p:plain

そして、Referenceのプロパティ設定を行います。

f:id:Takunoji:20170815103806p:plain

名前が正しいことを確認してください。「名前」で書くソースを参照してくる様です。
Javaの場合(C++とかでも使用します)DIなんて呼びます。「オブジェクト名」でクラスローダーでインスタンスを取得する。。。まぁ「new」を使用しないインスタンスの取得方法です。
これと同じ要領で画面コンポーネントを取得しているだろうと仮説を立てました。
そして、Referenceの設定をして画面を改めて起動して見ます。
。。。作成途中で設定した、アニメーションが起動して背景がずれました(笑)

f:id:Takunoji:20170815104216p:plain

まだ、ボタンアクションが起動していないので…

次回

次回はアクション部分を起動できる様に実装 or 修正します。