Wednesday, June 17, 2015

cocos2d-LUA

local GameScene = class(“GameScene",function()


    — return cc.Scene:create()


    return cc.Scene:createWithPhysics()


end)


function GameScene.create()


    local scene = GameScene.new()


    


    scene:addChild(scene:createLayerFarm())


   — scene:addChild(scene:createLayerMenu())


    local edgeBody = cc.PhysicsBody:createEdgeBox( scene.visibleSize, cc.PhysicsMaterial( 1,1 ,0), 3)


    local edgeNode = cc.Node:create()


    scene:addChild( edgeNode)


    edgeNode:setPosition( scene.visibleSize.width * 0.5 , scene.visibleSize.height * 0.5 )


    edgeNode:setPhysicsBody(edgeBody)


    


    scene :getPhysicsWorld():setDebugDrawMask(cc.PhysicsWorld.DEBUGDRAW_ALL)


    local gravity = cc.vertex2F( 0,  100)


    scene:getPhysicsWorld():setGravity( gravity )


    


    


    return scene


end


function GameScene:ctor()


    self.visibleSize = cc.Director:getInstance():getVisibleSize()


    self.origin = cc.Director:getInstance():getVisibleOrigin()


    self.schedulerID = nil


end


function GameScene:playBgMusic()


   — local bgMusicPath = cc.FileUtils:getInstance():fullPathForFilename(“background.mp3″)


  — cc.SimpleAudioEngine:getInstance():playMusic(bgMusicPath, true)


   — local effectPath = cc.FileUtils:getInstance():fullPathForFilename(“effect1.wav")


    cc.SimpleAudioEngine:getInstance():preloadEffect(effectPath)


end


local function makeBall(layer, point, radius, material)


    material = material or MATERIAL_DEFAULT


    local ball


    if layer.ball then


        ball = cc.Sprite:createWithTexture(layer.ball:getTexture())


    else


        ball = cc.Sprite:create(“ball.png")


    end


    ball:setScale(0.13 * radius)


    local body = cc.PhysicsBody:createCircle(radius, material)


    ball:setPhysicsBody(body)


    ball:setPosition(point)


    return ball


end


— create farm


function GameScene:createLayerFarm()


    local layer = cc.Layer:create()


    — add in farm background


    local bg = cc.Sprite:create(“farm.jpg")


    bg:setPosition(self.origin.x + self.visibleSize.width / 2 + 80, self.origin.y + self.visibleSize.height / 2)


    layer:addChild(bg)


    


    


    local sp1 = makeBall(layer, cc.p(self.visibleSize.width / 2 , self.origin.y + self.visibleSize.height / 2), 10);


    layer:addChild(sp1)


    local menuSprite = cc.Sprite:create( “menu1.png" )


       local menuBody = cc.PhysicsBody:createBox( menuSprite:getContentSize(), cc.PhysicsMaterial( 1, 0.5, 0))


       menuSprite:setPhysicsBody( menuBody )


    layer:addChild( menuSprite )


    menuSprite:setPosition( 100 ,100 )


    


   


    local menuSprite2 = cc.Sprite:create( “ball.png" )


   — local menuBody2 = cc.PhysicsBody:createBox( menuSprite:getContentSize(), cc.PhysicsMaterial( 1, 0.5, 0))


    local menuBody2 = cc.PhysicsBody:createCircle( 10, cc.PhysicsMaterial( 1, 0.1, 0))


    menuSprite2:setPhysicsBody( menuBody2 )


    layer:addChild( menuSprite2 )


    menuSprite2:setPosition( 200 ,100 )


    


    return layer


end


return GameScene



cocos2d-LUA