万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

MoonScriptでcocos2d-xやりたいんだが?

SpeeのブログスクリプティングでCocos2d-x高速開発 - technica をみてみた。

TitleScene.moonをそのままコピペしてインデント揃えた。

export TitleScene

class TitleScene
  @layer = nil

  create: =>
    scene = CCScene\create()
    @layer = @initLayer()
    scene.addChild @layer

  initLayer: =>
    layer = CCLayer\create()
    bg = CCSprite\create "images/title.png"
    size = CCDirector\sharedDirector()\getWinSize()
    bg.setPosition size.width/2, size.height/2
    layer.addChild bg

    reloadButton= CCMenuItemImage\create "images/reload.png", "images/reload.png"
    reloadButton.setPosition 0, 0
    -- スクリプト再読み込みボタン
    reloadButton.registerScriptTapHandler ->
      App\restartGame()

      startButton= CCMenuItemImage\create "images/start.png", "images/start.png"
      startButton.setPosition size.width/2, size.height/2 + 100
    -- ゲーム開始ボタン
    startButton\registerScriptTapHandler ->
      App\changeGameScene()

      buttons = CCArray\createWithObject startButton
      buttons.addObject reloadButton
      menu = CCMenu\createWithArray buttons
      layer.addChild menu

    layer

しかし動かない!!!

cocos2d: [LUA ERROR] [string "src/main.lua"]:22: attempt to call field 'create' (a nil value) のエラーが出るよ? createが呼べない。

入門Luaプログラミング

入門Luaプログラミング

Cocos2d-xスマートフォン2Dゲーム開発講座 Cocos2d-x 3対応

Cocos2d-xスマートフォン2Dゲーム開発講座 Cocos2d-x 3対応