nodesnim/nodes2d/kinematic_body2d

This uses for create hero with physics.

Types

KinematicBody2DObj = object of Node2DObj
  has_collision*: bool
  collision_node*: CollisionShape2DPtr
KinematicBody2DPtr = ptr KinematicBody2DObj

Procs

proc KinematicBody2D(name: string; variable: var KinematicBody2DObj): KinematicBody2DPtr {...}{.
    raises: [], tags: [].}

Creates a new KinematicBody2D pointer.

Arguments:

  • name is a node name.
  • variable is a KinematicBody2DObj variable.

Examples:

var
  node_obj: KinematicBody2DObj
  node = KinematicBody2D("KinematicBody2D", node_obj)
proc KinematicBody2D(obj: var KinematicBody2DObj): KinematicBody2DPtr {...}{.inline,
    raises: [], tags: [].}

Creates a new KinematicBody2D pointer with deffault node name "KinematicBody2D".

Arguments:

  • variable is a KinematicBody2DObj variable.

Examples:

var
  node_obj: KinematicBody2DObj
  node = KinematicBody2D(node_obj)

Methods

method addChild(self: KinematicBody2DPtr; other: CollisionShape2DPtr) {...}{.base,
    raises: [], tags: [].}
Adss collision to the KinematicBody2D. This method should be called one time.
method getCollideCount(self: KinematicBody2DPtr): int {...}{.base, raises: [Exception],
    tags: [RootEffect].}
Checks collision count.
method draw(self: KinematicBody2DPtr; w, h: GLfloat) {...}{.raises: [], tags: [].}
this method uses in the window.nim.
method isCollide(self: KinematicBody2DPtr): bool {...}{.base, raises: [Exception],
    tags: [RootEffect].}
Checks any collision and return true, when collide with any collision shape.
method moveAndCollide(self: KinematicBody2DPtr; vel: Vector2Ref) {...}{.base,
    raises: [Exception], tags: [RootEffect].}
Moves and checks collision