API Docs for: 0.1.0
Show:

CG.B2DTerrain Class

Extends CG.B2DEntity
Module: CG

B2DTerrain looks similar to B2DPolygon but has more features for polygon manipulation like clipping and triangulation.


                        var terrainShapes =
                        [{
                           outer: [{
                               x: 0,
                               y: 100.5
                           }, {
                               x: 1024,
                               y: 100.5
                           }, {
                               x: 1024,
                               y: 768
                           }, {
                               x: 0,
                               y: 768
                           }],
                           holes: []
                        }]
                        
                        b2world.createTerrain({
                            name: 'terrain',
                            image: false
                            terrainShape: terrainShapes,
                            x:0,
                            y:0,
                            world: b2world,
                            scale: 40
                        })
                        

Methods

AABB

() Object

returns the bounds of rotated rectangle

Returns:

Object:

returns the calculated bounds

addVelocity

(
  • b2Vec2
)

Parameters:

applyImpulse

(
  • degrees
  • power
)

Parameters:

checkCollision

(
  • objects
  • callback
)

checks if there is a collision of the given objects to this object http://devmag.org.za/2009/04/13/basic-collision-detection-in-2d-part-1/

Parameters:

  • objects Array

    a array of objects to check for collision => Sprites, Animations, MapAreas

  • callback Callback

    what to do after collision?

cleanTerrain

()

Experimental not working yet. Try to use the Clipperlib Clean method

clipTerrain

(
  • opt
)

Using Clipper to clip a hole in a given polygonshape. Important: the outer polygon points have to be in CW orientation, the hole polygons must ordered in CCW

Options: points - points for clipping, radius - radius for clipping, x - x pos for clipping, y - y pos for clipping

Parameters:

createCircle

(
  • opts
)
Array

creates a ccw wise circle vertices array for clipping

Options: points - number of points of circle, radius - radius for circle, x - x position for circle, y - y position for circle

Parameters:

  • opts Object

    example {points: 16, radius: 30, x: 320, y: 240}

Returns:

createTerrain

()

deleteTerrain

()

deletes the terrain

getPolysFromJson

() Array

extract the triangles out of poly2tri array

Returns:

getPosition

()

hit

(
  • impulse
  • source
)

Parameters:

ifClicked

() True/false

checks click inside of the rectangle, supports rotation

Returns:

True/false:

ifMouseOver

()

checks if the mouse/pointer is over the rectangle

init

(
  • options
)

Inherited from CG.Entity but overwritten in cangaja/box2d/b2d-terrain.js:55

Options: name {string} image {mixed} points {array} x {number} y {number} world {object} scale {number}

Parameters:

Returns:

:

lightenTerrain

()

this method uses the Clipper Lighten method to reduce vertices for better triangulation

setImage

(
  • image
)

initialize image for object. for now => sprite, particle, buffer, bitmap and button use it

Parameters:

  • image Image

    image path, image or atlasimage

setPosition

(
  • b2Vec2
)

Parameters:

setType

(
  • b2BodyType
)

Parameters:

Properties

bitmap

CG.Bitmap

bitmap for terrain

body

Inherited from CG.B2DEntity but overwritten in cangaja/box2d/b2d-entity.js:55

bodyDef

B2BodyDef

bodyDef.alowSleep

Boolean

bodyDef.angle

Number

bodyDef.awake

Boolean

bodyDef.bullet

Boolean

bodyDef.fixedRotation

Boolean

bodyDef.position

Unknown

bodyDef.type

box2d.b2BodyType.b2_staticBody/box2d.b2BodyType.b2_dynamicBody/box2d.b2BodyType.b2_kinematicBody/box2d.b2BodyType.b2_bulletBody

bodyDef.userData

boundingradius

Number

bullet

B2Body

categoryBits

Number

clicked

Boolean

dragable

Boolean

fixDef

B2FixtureDef

fixDef.density

Number

fixDef.filter.categoryBits

Number

fixDef.filter.groupIndex

Number

fixDef.filter.maskBits

Number

fixDef.friction

Number

fixDef.restitution

Number

fixedRotation

Boolean

groupIndex

Number

if groupindex is 0 then use categoryBits and maskBits for collision detection

height

Number

image

Strng

mapcollision

Boolean

rotation

Number

scale

Inherited from CG.B2DEntity but overwritten in cangaja/box2d/b2d-entity.js:50

terrainShape

terrainTriangles

Array

the generated triangles generated thru clipper and poly2tri

transform

Transform

Transform object for matrix transformation

visible

Boolean

visibility option

world

Inherited from CG.B2DEntity but overwritten in cangaja/box2d/b2d-entity.js:45

xhandle

Number

xscale

Number

yhandle

Number

yscale

Number