zoukankan      html  css  js  c++  java
  • Quick-cocos2d-x3.3 Study (九)--------- 为物体添加物理特性

    添加一个主角

     1 local Player = class("Player", function()
     2       return display.newSprite("#player.png")       
     3 end)
     4 
     5 function Player:ctor()
     6         -- 为物体添加物理属性
     7         local body = cc.PhysicsBody:createBox( self:getContentSize(), cc.PHYSICSBODY_MATERIAL_DEFAULT, cc.p( 0, 0 ) )
     8         self:setPhysicsBody( body )
     9 end
    10 
    11 return Player

    这里调用cc.PhysicsBody::createBox()方法创建了一个矩形的 body,createBox 方法有三个参数,分别是:

    • 参数1为 cc.size 类型,它表示矩形 body 的尺寸大小。
    • 参数2为 cc.PhysicsMaterial 类型,表示物理材质的属性,默认情况下为 cc.PHYSICSBODY_MATERIAL_DEFAULT。 该参数也可自定义,方法如下:
      cc.PhysicsMaterial(density, restitution, friction)
      • density:表示密度
      • restitution:表示反弹力
      • friction:表示摩擦力
    • 参数3为 cc.p 类型,它也是一个可选参数,表示 body 与中心点的偏移量,默认下为cc.p(0,0)

    与 createBox 方法类似的还有 createCircle(radius, material, offset),该方法可以创建一个圆形的 body,除第一个参数为半径外,其余两参数与 createBox 方法一样。

  • 相关阅读:
    JDK13中将增加文本块特性
    java8新特性Lambda表达式为什么运行效率低
    Docker安装Mysql多版本
    Mysql中的降序索引底层实现
    GITHUB慢! 怎么办?
    程序员要搞明白CDN,这篇应该够了
    HTTP长连接
    Tomcat热部署与热加载
    Tomcat是一个Servlet容器?
    DPDK
  • 原文地址:https://www.cnblogs.com/dudu580231/p/4821108.html
Copyright © 2011-2022 走看看