Шукати в цьому блозі

Box2D / фізика гри

b2

Спадковість    

Available since version: Gideros 2011.6

Опис:

Щоб завантажити бібліотеку Box2D, потрібен виклик   require box2d.. Після завантаження бібліотеки Box2D таблиця b2 зберігає всі класи та функції, пов'язані з бібліотекою фізики Box2D.

Приклади застосування:

Створення Box2d тіла та переміщення Bitmap разом з тілом
require "box2d"
local world = b2.World.new(0, 10, true)

--створити растровий об'єкт ball 
local ball = Bitmap.new(Texture.new("ball.png"))
--встановлення точки прив'язки по центру
ball:setAnchorPoint(0.5,0.5)
 
ball:setPosition(100,100)
 
--отримати радіус
local radius = ball:getWidth()/2
 
--створити box2d фізичне тіло
local body = world:createBody{type = b2.DYNAMIC_BODY}
local circle = b2.CircleShape.new(0, 0, radius)
local fixture = body:createFixture{shape = circle, density = 1.0, 
friction = 0.1, restitution = 0.2}
ball.body = body
 
--додати в сцену
stage:addChild(ball)

stage:addEventListener(Event.ENTER_FRAME, function()
 -- встановити  частоту оновлення фізики. 
    world:step(1/60, 8, 3)
 ball:setPosition(ball.body:getPosition())
 ball:setRotation(math.rad(ball.body:getAngle()))
end)

Методи, евенти та властивості:

  Методи  
   b2.createDistanceJointDef
  b2.createFrictionJointDef
  b2.createGearJointDef
  b2.createMouseJointDef
  b2.createPrismaticJointDef
  b2.createPulleyJointDef
  b2.createRevoluteJointDef
  b2.createRopeJointDef
  b2.createWeldJointDef
  b2.createWheelJointDef
  b2.getScale
  b2.setScale
 
Властивості
 b2.DISTANCE_JOINT
b2.DYNAMIC_BODY
b2.FRICTION_JOINT
b2.GEAR_JOINT
b2.KINEMATIC_BODY
b2.MOUSE_JOINT
b2.PRISMATIC_JOINT
b2.PULLEY_JOINT
b2.REVOLUTE_JOINT
b2.ROPE_JOINT
b2.STATIC_BODY
b2.WELD_JOINT
b2.WHEEL_JOINT

Немає коментарів:

Дописати коментар