GSDP:GAM100/CProcessing/vec2 sub()

From Inside
Jump to: navigation, search

vec2_sub()

Description

Returns the difference of two Vec2s as a new Vec2.

Parameters

vec2_sub(Vec2 a, Vec2 b)

  • a - (Vec2) Left hand operand of subtraction.
  • b - (Vec2) Right hand operand of subtraction.

Example

Vec2 position;
Vec2 speed;

void init()
{
  position = vec2_set(canvasWidth / 2, canvasHeight / 2);
  speed = vec2_set(50.0f, 0.0f);

  ellipseMode(CENTER);
  fill(color(255, 0, 0, 255));
}

bool forward = true;

void update()
{
  background(color(255, 255, 255, 255));

  // Check if direction should be inverted
  if (position.x > canvasWidth)
  {
    forward = false;
    position.x = canvasWidth;
  }
  else if (position.x < 0)
  {
    forward = true;
    position.x = 0;
  }

  // Update position
  if (forward)
    position = vec2_add(position, vec2_scale(speed, dt()));
  else if(!forward)
    position = vec2_sub(position, vec2_scale(speed, dt()));

  // Draw the circle
  circle(position.x, position.y, 40);
}

Related

Personal tools
Namespaces

Variants
Actions
Navigation
NameSpaces:>
Tools
Dynamic:>