require "box2d" application:setScaleMode("letterbox") application:setOrientation(application.LANDSCAPE_LEFT) application:setLogicalDimensions(600,800) local cw=application:getContentWidth() local ch=application:getContentHeight() -- this table holds the dynamic bodies and their sprites local actors = {} -- create world local world = b2.World.new(0, 9.8) -- create ground body local ground = world:createBody({}) -- create an edge shape, and attach it to the ground body as a fixture local shapeb = b2.EdgeShape.new(0, ch, cw, ch) local shapet = b2.EdgeShape.new(0, 0, cw, 0) local shapel = b2.EdgeShape.new(0, 0, 0, ch) local shaper = b2.EdgeShape.new(cw, 0, cw, ch) ground:createFixture({shape = shapeb, density = 0}) ground:createFixture({shape = shaper, density = 0}) ground:createFixture({shape = shapel, density = 0}) ground:createFixture({shape = shapet, density = 0}) local shape1 = b2.PolygonShape.new() shape1:setAsBox(200, 50) local shape2 = b2.PolygonShape.new() shape2:setAsBox(200, 100) local ps1= world:createParticleSystem({ radius=5}) --ps1:setTexture(Texture.new("Bubble.png")) stage:addChild(ps1) ps1:createParticleGroup({shape=shape2, position={x=500,y=250}, color = 0xFF0000, alpha=1, flags=0 }) ps1:createParticleGroup({shape=shape1, position={x=400,y=50}, color = 0x0000FF, alpha=1, flags=0 }) -- step the world and then update the position and rotation of sprites local function onEnterFrame() world:step(1/60, 8, 3) end stage:addEventListener(Event.ENTER_FRAME, onEnterFrame)