Cocos Code IDEでLua。エラーが解消できなくて少しハマった事。

公開日: : 最終更新日:2015/03/01 未分類

By: Alon

Cocos Code IDEとLuaでスマートフォンのゲームを作ろうとしている方、どのくらいいるのでしょうかね?

まだCocos Code IDEが新しくてバージョンもRC2なので少ないのかな?

でもC++よりLuaの方が扱いやすい!最初はどうせスプリクト言語なんだからC++より遅くて使いものにならないだろうと思っていました。

しかしCocos Code IDEとLuaの組み合わせは最高にいいですね!

 

 

さて、本題ですがLuaでハマったこと・・・

スケジューラーのscheduleScriptFuncメソッドで一定時間ごとに関数を呼び出すことができるのですが、よくわからないエラーが出ました。見た目上は問題なく動いているようだったのですが。

function GameScene:method1()
    local function timer1()
        -- この中でselfを使っている
    end
    self.schedulerID = cc.Director:getInstance():getScheduler():scheduleScriptFunc(timer1, 10, false)
end

上記メソッドでは10秒ごとにtimer1が呼び出されます。ファイルを修正して保存するとCocos Code IDEではリソースをアプリに送信してすぐに変更を反映してくれます。

そして、初回起動ではエラーが出ず、なぜかファイルの更新時にはエラーが出ました。

 

エラーの理由ですが、2回め移行の実行時に前のタイマーが生きているようで、それが呼ばれてしまっているのが原因だったようです。本来削除していなければならないスケジュールが実行され、timer1の中で存在しないインスタンスを参照しようとしてしまっていました。

まあ、Schedulerの後始末をちゃんとしていなかったってだけなのですが。

 

新規プロジェクトで作成されるサンプルアプリでは、

-- 中略 サンプルアプリのonNodeEvent関数内
if "exit" == event then
    cc.Director:getInstance():getScheduler():unscheduleScriptEntry(self.schedulerID)
end

のようにちゃんとunscheduleScriptEntryしていましたね・・・

関連記事

スクリーンショット 2015-05-11 15.59.21

Cocos Code IDE 2.0 betaで既存のプロジェクトをインポートしてみた

Cocos Code IDEのバージョン1.2でスマホゲームを作っているのですが、既存プロジェクトを

記事を読む

By: Robert Scoble

Cocos2d-xのv3.4がリリースされました

By: Robert Scoble[/caption] Cocos2d-xのv3.4がリリー

記事を読む

ss1

Cocos Code IDEとLua言語でブロック崩しを作る

Cocos Code IDEでブロック崩しを作る。 Cocos Code IDE RC2が

記事を読む

By: Rob Davies

Stinger3のテーマをいじってみました

WordPressのStingerテーマをカスタマイズ このブログはStinger3というテーマを

記事を読む

By: Robert Scoble

Cocos2d-x V3.7

公式サイトでCocos2d-xのV3.7がダウンロードできるようになっていました。でも、まだCoco

記事を読む

ss1

Cocos Code IDEとLua言語でブロック崩しを作ってみる

Cocos Code IDEとLua言語でブロック崩しを作ってみる、をQiitaに投稿しました。

記事を読む

スクリーンショット 2015-05-09 17.51.33

Cocos Code IDEのバージョン2.0を使ってみました

今現在私はCoos2dxとCocos Code IDEを使ってスマホアプリを作っているのですが、この

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

By: Robert Scoble
Cocos2d-x V3.7

公式サイトでCocos2d-xのV3.7がダウンロードできるようになっ

スクリーンショット 2015-05-11 15.59.21
Cocos Code IDE 2.0 betaで既存のプロジェクトをインポートしてみた

Cocos Code IDEのバージョン1.2でスマホゲームを作ってい

スクリーンショット 2015-05-09 17.51.33
Cocos Code IDEのバージョン2.0を使ってみました

今現在私はCoos2dxとCocos Code IDEを使ってスマホア

By: Robert Scoble
Cocos2d-xのv3.4がリリースされました

By: Robert Scoble[/caption] Coc

ss2014-10-05 15.40.33
Cocos Code IDEとLuaのサイトを作りました。

「Cocos Code IDEとLua言語でゲームを作る」逆引

→もっと見る

    PAGE TOP ↑