quick lua 学习第三天

1.菜单按钮

 local item = cc.ui.cc.ui.UIPushButton.new({normal ="#start1.png", pressed ="#start2.png"})
    :onButtonClicked(function()
    display.replaceScene(require("app.scenes.MainScene").new())
    end)

 

2.创建物理场景

//创建物理场景类

locak phyScene = class("phyScene",

function()

return display.newPhysicsScene("phyScene"))

functon mfunction phyScene:ctor()

//设置重力参数

self.workd = self:getPhysicsWorld()

self.world:setGravity(cc.p(0, GRAVITY)) // x坐标的重力 y坐标的重力

//创建盒子

local box = display.newNode()

box:setPhysicsBode(cc.PhysicsBody:createEdgeBox(宽度, 高度))

self:addChild(box)

//创建刚体

local coinSprite = display.newSprite("#Coin.png")
    self:addChild(coinSprite)
    local coinBody = cc.PhysicsBody:createCircle(COIN_RADIUS,
        cc.PhysicsMaterial(COIN_RADIUS, COIN_FRICTION, COIN_ELASTICITY))
    coinBody:setMass(COIN_MASS) // 设置质量
    coinSprite:setPhysicsBody(coinBody)
    coinSprite:setPosition(x, y)end

 

结构体PhysicsMaterial成员有:density(密度)、friction(磨擦系数)和restitution(弹性系数)。密度可以用来计算物体的质量,密度可以为零或者为正数。摩擦系数经常会设置在0.0~1.0之间,0.0表示没有摩擦力,1.0会产生强摩擦。弹性系数的值通常设置到0.0~1.0之间,0.0表示物体不会弹起,1.0表示物体会完全反弹,即称为弹性碰撞。

3.添加物理监听

  local listener =  cc.EventListenerPhysicsContact:create()
    listener:registerScriptHandler(onContactBegin, cc.Handler.EVENT_PHYSICS_CONTACT_BEGIN)

 给刚体设置掩码

   coinBody:setCategoryBitmask(1)
   coinBody:setContactTestBitmask(1)

掩码的作用http://www.tuicool.com/articles/nAZbuy

4.显示物理边界线

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值