Class: RubySketch::Sprite

Inherits:
Object
  • Object
show all
Includes:
Xot::Inspectable
Defined in:
lib/rubysketch/sprite.rb

Overview

Sprite object.

Instance Method Summary collapse

Constructor Details

#new(x, y, w, h) ⇒ Sprite #new(image: img) ⇒ Sprite #new(x, y, image: img) ⇒ Sprite #new(x, y, image: img, offset: off) ⇒ Sprite #new(x, y, image: img, shape: shp) ⇒ Sprite #new(x, y, image: img, offset: off, shape: shp) ⇒ Sprite #new(x, y, shape: shp) ⇒ Sprite

Initialize sprite object.

Overloads:

  • #new(x, y, w, h) ⇒ Sprite

    pos(x, y), size: [w, h]

    Parameters:

    • x (Numeric)

      x of the sprite position

    • y (Numeric)

      y of the sprite position

    • w (Numeric)

      width of the sprite

    • h (Numeric)

      height of the sprite

  • #new(image: img) ⇒ Sprite

    pos: [0, 0], size: [image.width, image.height]

    Parameters:

    • img (Image)

      sprite image

  • #new(x, y, image: img) ⇒ Sprite

    pos: [x, y], size: [image.width, image.height]

    Parameters:

    • x (Numeric)

      x of the sprite position

    • y (Numeric)

      y of the sprite position

    • img (Image)

      sprite image

  • #new(x, y, image: img, offset: off) ⇒ Sprite

    pos: [x, y], size: [image.width, image.height], offset: [offset.x, offset.x]

    Parameters:

    • x (Numeric)

      x of the sprite position

    • y (Numeric)

      y of the sprite position

    • img (Image)

      sprite image

    • off (Vector)

      offset of the sprite image

  • #new(x, y, image: img, shape: shp) ⇒ Sprite

    pos: [x, y], size: [image.width, image.height]

    Parameters:

    • x (Numeric)

      x of the sprite position

    • y (Numeric)

      y of the sprite position

    • img (Image)

      sprite image

  • #new(x, y, image: img, offset: off, shape: shp) ⇒ Sprite

    pos: [x, y], size: [image.width, image.height], offset: [offset.x, offset.x]

    Parameters:

    • x (Numeric)

      x of the sprite position

    • y (Numeric)

      y of the sprite position

    • img (Image)

      sprite image

    • off (Vector)

      offset of the sprite image

    • shp (Shape)

      shape of the sprite for physics calculations

  • #new(x, y, shape: shp) ⇒ Sprite

    pos: [x, y], size: [shape.width, shape.height]

    Parameters:

    • x (Numeric)

      x of the sprite position

    • y (Numeric)

      y of the sprite position

    • shp (Shape)

      shape of the sprite for physics calculations



56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/rubysketch/sprite.rb', line 56

def initialize(
  x = 0, y = 0, w = nil, h = nil, image: nil, offset: nil, shape: nil,
  physics: true, context: nil)

  w ||= (image&.width  || shape&.width  || 0)
  h ||= (image&.height || shape&.height || 0)
  raise 'invalid size'  unless w >= 0 && h >= 0
  raise 'invalid image' if image && !image.getInternal__.is_a?(Rays::Image)
  raise 'invalid shape' if shape && !shape.getInternal__.is_a?(Reflex::Shape)

  @context__ = context || Context.context__
  @shape__   = shape
  @view__    = View.new(
    self, x: x, y: y, w: w, h: h,
    shape: @shape__, physics: physics, back: :white)
  @view__.set density: 1, friction: 0, restitution: 0

  self.image  = image  if image
  self.offset = offset if offset
end

Instance Method Details

#angleNumeric

Returns the rotation angle of the sprite.

Returns:

  • (Numeric)

    radians or degrees depending on angleMode()



349
350
351
352
# File 'lib/rubysketch/sprite.rb', line 349

def angle()
  a, c = @view__.angle, @context__
  c ? c.fromDegrees__(a) : a * Processing::GraphicsContext::DEG2RAD__
end

#angle=(angle) ⇒ Numeric

Sets the rotation angle of the sprite.

Parameters:

  • angle (Numeric)

    radians or degrees depending on angleMode()

Returns:

  • (Numeric)

    angle



360
361
362
363
364
365
# File 'lib/rubysketch/sprite.rb', line 360

def angle=(angle)
  c = @context__
  @view__.angle =
    c ? c.toDegrees__(angle) : angle * Processing::GraphicsContext::RAD2DEG__
  angle
end

#angleFixed?Boolean

Returns the angle of the sprite is fixed or not.

Returns:

  • (Boolean)

    whether the rotation is fixed or not



382
383
384
# File 'lib/rubysketch/sprite.rb', line 382

def angleFixed?()
  @view__.fix_angle?
end

#bottomNumeric

Returns the bottom position of the sprite.

Returns:

  • (Numeric)

    bottom



249
250
251
# File 'lib/rubysketch/sprite.rb', line 249

def bottom()
  @view__.bottom
end

#bottom=(bottom) ⇒ Numeric

Set the bottom position of the sprite.

Parameters:

  • n (Numeric)

    sprite bottom position

Returns:

  • (Numeric)

    sprite bottom position



259
260
261
# File 'lib/rubysketch/sprite.rb', line 259

def bottom=(bottom)
  @view__.bottom = bottom
end

#centerVector

Returns the center position of the sprite.

Returns:

  • (Vector)

    center position



267
268
269
# File 'lib/rubysketch/sprite.rb', line 267

def center()
  Vector.new(x + w / 2, y + h / 2, z)
end

#center=(vec) ⇒ Vector #center=(ary) ⇒ Vector

Sets the center position of the sprite.

Overloads:

  • #center=(vec) ⇒ Vector

    Parameters:

    • vec (Vector)

      center position

  • #center=(ary) ⇒ Vector

    Parameters:

    • ary (Array<Numeric>)

      an array of centerX and centerY

Returns:

  • (Vector)

    center position



281
282
283
284
285
# File 'lib/rubysketch/sprite.rb', line 281

def center=(arg)
  x, y = *(arg.is_a?(Vector) ? arg.getInternal__.to_a : arg)
  self.pos = [x - w / 2, y - h / 2, z]
  self.center
end

#clickCountNumeric

Returns the mouse button click count on the sprite.

Returns:

  • (Numeric)

    click count



718
719
720
# File 'lib/rubysketch/sprite.rb', line 718

def clickCount()
  @view__.clickCount
end

#contact(&block) ⇒ nil

Defines contact block.

Examples:

Score increases when the player sprite touches a coin

playerSprite.contact do |o|
  score += 1 if o.coin?
end

Returns:

  • (nil)

    nil



881
882
883
884
# File 'lib/rubysketch/sprite.rb', line 881

def contact(&block)
  @view__.contact = block if block
  nil
end

#contact?(&block) ⇒ nil

Defines contact? block.

Examples:

Only collide with an enemy

playerSprite.contact? do |o|
  o.enemy?
end

Returns:

  • (nil)

    nil



909
910
911
912
# File 'lib/rubysketch/sprite.rb', line 909

def contact?(&block)
  @view__.will_contact = block if block
  nil
end

#contact_end(&block) ⇒ nil

Defines contact_end block.

Examples:

Call jumping() when the player sprite leaves the ground sprite

playerSprite.contact_end do |o|
  jumping if o == groundSprite
end

Returns:

  • (nil)

    nil



895
896
897
898
# File 'lib/rubysketch/sprite.rb', line 895

def contact_end(&block)
  @view__.contact_end = block if block
  nil
end

#densityNumeric Also known as: dens

Returns the density of the sprite.

Returns:

  • (Numeric)

    density



577
578
579
# File 'lib/rubysketch/sprite.rb', line 577

def density()
  @view__.density
end

#density=(n) ⇒ Numeric Also known as: dens=

Sets the density of the sprite.

Parameters:

  • n (Numeric)

    density

Returns:

  • (Numeric)

    density



587
588
589
590
# File 'lib/rubysketch/sprite.rb', line 587

def density=(n)
  @view__.density = n
  n
end

#draw(&block) ⇒ nil

Defines draw block.

Examples:

Draw on your own before and after default drawing

sprite.draw do |&defaultDrawSprite|
  rect 0, 0, 10, 10
  defaultDrawSprite.call
  text :hello, 10, 20
end

Returns:

  • (nil)

    nil



755
756
757
758
# File 'lib/rubysketch/sprite.rb', line 755

def draw(&block)
  @drawBlock__ = block if block
  nil
end

#dynamic=(bool) ⇒ Boolean

Sets whether the sprite is movable by the physics engine.

Parameters:

  • bool (Boolean)

    movable or not

Returns:

  • (Boolean)

    true if dynamic



568
569
570
571
# File 'lib/rubysketch/sprite.rb', line 568

def dynamic=(bool)
  @view__.dynamic = bool
  bool
end

#dynamic?Boolean

Returns whether the sprite is movable by the physics engine.

Returns:

  • (Boolean)

    true if dynamic



558
559
560
# File 'lib/rubysketch/sprite.rb', line 558

def dynamic?()
  @view__.dynamic?
end

#fixAngle(fix = true) ⇒ Sprite

Fixes the angle of the sprite.

Parameters:

  • fix (Boolean) (defaults to: true)

    fix rotation or not

Returns:



373
374
375
376
# File 'lib/rubysketch/sprite.rb', line 373

def fixAngle(fix = true)
  @view__.fix_angle = fix
  self
end

#frictionNumeric Also known as: fric

Returns the friction of the sprite.

Returns:

  • (Numeric)

    friction



596
597
598
# File 'lib/rubysketch/sprite.rb', line 596

def friction()
  @view__.friction
end

#friction=(n) ⇒ Numeric Also known as: fric=

Sets the friction of the sprite.

Parameters:

  • n (Numeric)

    friction

Returns:

  • (Numeric)

    friction



606
607
608
609
# File 'lib/rubysketch/sprite.rb', line 606

def friction=(n)
  @view__.friction = n
  n
end

#fromScreen(vec) ⇒ Vector

Converts a vector from the screen coordinate

Parameters:

  • vec (Vector)

    screen coordinate vector

Returns:

  • (Vector)

    sprite coordinate vector



660
661
662
# File 'lib/rubysketch/sprite.rb', line 660

def fromScreen(vec)
  @view__.from_parent(vec.getInternal__).toVector
end

#heightNumeric Also known as: h

Returns the height of the sprite.

Returns:

  • (Numeric)

    height



326
327
328
# File 'lib/rubysketch/sprite.rb', line 326

def height()
  @view__.height
end

#height=(h) ⇒ Numeric Also known as: h=

Sets the height of the sprite.

Parameters:

  • h (Numeric)

    height

Returns:

  • (Numeric)

    height



336
337
338
# File 'lib/rubysketch/sprite.rb', line 336

def height=(h)
  @view__.height = h
end

#hidden?Boolean

Returns the sprite is visible

Returns:

  • (Boolean)

    true: invisible, false: visible



103
104
105
# File 'lib/rubysketch/sprite.rb', line 103

def hidden?()
  @view__.hidden?
end

#hideSprite

Hides the sprite

Since one call to “hide()” increases the hide count, it is necessary to call “show()” n times to make the sprite visible again after calling “hide()” n times.

Returns:



94
95
96
97
# File 'lib/rubysketch/sprite.rb', line 94

def hide()
  @view__.hide
  self
end

#imageImage

Returns the image of the sprite.

Returns:

  • (Image)

    sprite image



474
475
476
# File 'lib/rubysketch/sprite.rb', line 474

def image()
  @image__
end

#image=(img) ⇒ Image

Sets the sprite image.

Parameters:

  • img (Image)

    sprite image

Returns:

  • (Image)

    sprite image



484
485
486
# File 'lib/rubysketch/sprite.rb', line 484

def image=(img)
  @image__ = img
end

#leftNumeric

Returns the left position of the sprite.

Returns:

  • (Numeric)

    left position



194
195
196
# File 'lib/rubysketch/sprite.rb', line 194

def left()
  @view__.left
end

#left=(n) ⇒ Numeric

Set the left position of the sprite.

Parameters:

  • n (Numeric)

    sprite left position

Returns:

  • (Numeric)

    sprite left position



204
205
206
207
# File 'lib/rubysketch/sprite.rb', line 204

def left=(n)
  @view__.left = n
  n
end

#mouseButtonLEFT, ...

Returns the mouse button clicked on the sprite.

Returns:

  • (LEFT, RIGHT, CENTER)

    mouse button



710
711
712
# File 'lib/rubysketch/sprite.rb', line 710

def mouseButton()
  @view__.mouseButton
end

#mouseClicked(&block) ⇒ nil

Defines mouseClicked block.

Examples:

Print mouse states on mouse click

sprite.mouseClicked do
  p [sprite.mouseX, sprite.mouseY, sprite.mouseButton]
end

Returns:

  • (nil)

    nil



825
826
827
828
# File 'lib/rubysketch/sprite.rb', line 825

def mouseClicked(&block)
  @view__.mouseClicked = block if block
  nil
end

#mouseDragged(&block) ⇒ nil

Defines mouseDragged block.

Examples:

Print mouse states on mouse drag

sprite.mouseDragged do
  p [sprite.mouseX, sprite.mouseY, sprite.pmouseX, sprite.pmouseY]
end

Returns:

  • (nil)

    nil



811
812
813
814
# File 'lib/rubysketch/sprite.rb', line 811

def mouseDragged(&block)
  @view__.mouseDragged = block if block
  nil
end

#mouseMoved(&block) ⇒ nil

Defines mouseMoved block.

Examples:

Print mouse states on mouse move

sprite.mouseMoved do
  p [sprite.mouseX, sprite.mouseY, sprite.pmouseX, sprite.pmouseY]
end

Returns:

  • (nil)

    nil



797
798
799
800
# File 'lib/rubysketch/sprite.rb', line 797

def mouseMoved(&block)
  @view__.mouseMoved = block if block
  nil
end

#mousePressed(&block) ⇒ Boolean

Defines mousePressed block.

Examples:

Print mouse states on mouse press

sprite.mousePressed do
  p [sprite.mouseX, sprite.mouseY, sprite.mouseButton]
end

Returns:

  • (Boolean)

    is any mouse button pressed or not



769
770
771
772
# File 'lib/rubysketch/sprite.rb', line 769

def mousePressed(&block)
  @view__.mousePressed = block if block
  @view__.mousePressed?
end

#mouseReleased(&block) ⇒ nil

Defines mouseReleased block.

Examples:

Print mouse states on mouse release

sprite.mouseReleased do
  p [sprite.mouseX, sprite.mouseY, sprite.mouseButton]
end

Returns:

  • (nil)

    nil



783
784
785
786
# File 'lib/rubysketch/sprite.rb', line 783

def mouseReleased(&block)
  @view__.mouseReleased = block if block
  nil
end

#mouseXNumeric

Returns the x-position of the mouse in the sprite coordinates.

Returns:

  • (Numeric)

    x position



678
679
680
# File 'lib/rubysketch/sprite.rb', line 678

def mouseX()
  @view__.mouseX
end

#mouseYNumeric

Returns the y-position of the mouse in the sprite coordinates.

Returns:

  • (Numeric)

    y position



686
687
688
# File 'lib/rubysketch/sprite.rb', line 686

def mouseY()
  @view__.mouseY
end

#offsetVector

Returns the offset of the sprite image.

Returns:

  • (Vector)

    offset of the sprite image



492
493
494
# File 'lib/rubysketch/sprite.rb', line 492

def offset()
  @offset__
end

#offset=(vec) ⇒ Vector #velocity=(ary) ⇒ Vector

Sets the offset of the sprite image.

Overloads:

  • #offset=(vec) ⇒ Vector

    Parameters:

  • #velocity=(ary) ⇒ Vector

    Parameters:

    • ary (Array<Numeric>)

      an array of offsetX and offsetY

Returns:

  • (Vector)

    offset of the sprite image



506
507
508
509
510
511
512
513
514
515
# File 'lib/rubysketch/sprite.rb', line 506

def offset=(arg)
  @offset__ =
    case arg
    when Vector then arg
    when Array  then Vector.new(arg[0] || 0, arg[1] || 0)
    when nil    then nil
    else raise ArgumentError
    end
  @offset__
end

#oxNumeric

Returns the x-axis offset of the sprite image.

Returns:

  • (Numeric)

    offset.x



521
522
523
# File 'lib/rubysketch/sprite.rb', line 521

def ox()
  @offset__&.x || 0
end

#ox=(n) ⇒ Numeric

Sets the x-axis offset of the sprite image.

Parameters:

  • n (Numeric)

    x-axis offset

Returns:

  • (Numeric)

    offset.x



531
532
533
534
# File 'lib/rubysketch/sprite.rb', line 531

def ox=(n)
  self.offset = [n, oy]
  n
end

#oyNumeric

Returns the y-axis offset of the sprite image.

Returns:

  • (Numeric)

    offset.y



540
541
542
# File 'lib/rubysketch/sprite.rb', line 540

def oy()
  @offset__&.y || 0
end

#oy=(n) ⇒ Numeric

Sets the y-axis offset of the sprite image.

Parameters:

  • n (Numeric)

    y-axis offset

Returns:

  • (Numeric)

    offset.y



550
551
552
# File 'lib/rubysketch/sprite.rb', line 550

def oy=(n)
  self.offset = [ox, n]
end

#pivotArray<Numeric>

Returns the rotation center of the sprite.

Returns:

  • (Array<Numeric>)
    pivotX, pivotY


390
391
392
# File 'lib/rubysketch/sprite.rb', line 390

def pivot()
  @view__.pivot.to_a[0, 2]
end

#pivot=(array) ⇒ Array<Numeric>

Sets the rotation center of the sprite.

0.0, 0.0

is the left-top, [1.0, 1.0] is the right-bottom, and [0.5, 0.5] is the center.

Parameters:

  • ary (Array<Numeric>)

    an array of pivotX and pivotY

Returns:

  • (Array<Numeric>)
    pivotX, pivotY


401
402
403
404
# File 'lib/rubysketch/sprite.rb', line 401

def pivot=(array)
  @view__.pivot = array
  pivot
end

#pmouseXNumeric

Returns the previous x-position of the mouse in the sprite coordinates.

Returns:

  • (Numeric)

    x position



694
695
696
# File 'lib/rubysketch/sprite.rb', line 694

def pmouseX()
  @view__.pmouseX
end

#pmouseYNumeric

Returns the previous y-position of the mouse in the sprite coordinates.

Returns:

  • (Numeric)

    y position



702
703
704
# File 'lib/rubysketch/sprite.rb', line 702

def pmouseY()
  @view__.pmouseY
end

#positionVector Also known as: pos

Returns the position of the sprite.

Returns:



111
112
113
# File 'lib/rubysketch/sprite.rb', line 111

def position()
  @view__.position.toVector
end

#position=(vec) ⇒ Vector #position=(ary) ⇒ Vector Also known as: pos=

Sets the position of the sprite.

Overloads:

  • #position=(vec) ⇒ Vector

    Parameters:

    • vec (Vector)

      position vector

  • #position=(ary) ⇒ Vector

    Parameters:

    • ary (Array<Numeric>)

      an array of positionX and positionY

Returns:



125
126
127
128
# File 'lib/rubysketch/sprite.rb', line 125

def position=(arg)
  @view__.position = arg.is_a?(Vector) ? arg.getInternal__ : arg
  arg
end

#restitutionNumeric Also known as: rest

Returns the restitution of the sprite.

Returns:

  • (Numeric)

    restitution



615
616
617
# File 'lib/rubysketch/sprite.rb', line 615

def restitution()
  @view__.restitution
end

#restitution=(n) ⇒ Numeric Also known as: rest=

Sets the restitution of the sprite.

Parameters:

  • n (Numeric)

    restitution

Returns:

  • (Numeric)

    restitution



625
626
627
628
# File 'lib/rubysketch/sprite.rb', line 625

def restitution=(n)
  @view__.restitution = n
  n
end

#rightNumeric

Returns the right position of the sprite.

Returns:

  • (Numeric)

    right position



231
232
233
# File 'lib/rubysketch/sprite.rb', line 231

def right()
  @view__.right
end

#right=(n) ⇒ Numeric

Set the right position of the sprite.

Parameters:

  • n (Numeric)

    sprite right position

Returns:

  • (Numeric)

    sprite right position



241
242
243
# File 'lib/rubysketch/sprite.rb', line 241

def right=(n)
  @view__.right = n
end

#sensor=(state) ⇒ Boolean

Set this sprite as a sensor object. Sensor object receives contact events, but no collisions.

Returns:

  • (Boolean)

    sensor or not



642
643
644
# File 'lib/rubysketch/sprite.rb', line 642

def sensor=(state)
  @view__.sensor = state
end

#sensor?Boolean

Returns weather the shape is a sensor or not.

Returns:

  • (Boolean)

    sensor or not



650
651
652
# File 'lib/rubysketch/sprite.rb', line 650

def sensor?()
  @view__.sensor?
end

#showSprite

Shows the sprite

Since one call to “hide()” increases the hide count, it is necessary to call “show()” n times to make the sprite visible again after calling “hide()” n times.

Returns:



83
84
85
86
# File 'lib/rubysketch/sprite.rb', line 83

def show()
  @view__.show
  self
end

#sizeVector

Returns the size of the sprite.

Returns:



291
292
293
# File 'lib/rubysketch/sprite.rb', line 291

def size()
  @view__.size.toVector
end

#size=(arg) ⇒ Vector

Returns the size of the sprite.

Returns:



299
300
301
302
# File 'lib/rubysketch/sprite.rb', line 299

def size=(arg)
  @view__.size = arg.is_a?(Vector) ? arg.getInternal__ : arg
  arg
end

#topNumeric

Returns the top position of the sprite.

Returns:

  • (Numeric)

    top position



213
214
215
# File 'lib/rubysketch/sprite.rb', line 213

def top()
  @view__.top
end

#top=(n) ⇒ Numeric

Set the top position of the sprite.

Parameters:

  • n (Numeric)

    sprite top position

Returns:

  • (Numeric)

    sprite top position



223
224
225
# File 'lib/rubysketch/sprite.rb', line 223

def top=(n)
  @view__.top = n
end

#toScreen(vec) ⇒ Vector

Converts a vector to the screen coordinate

Parameters:

  • vec (Vector)

    sprite coordinate vector

Returns:

  • (Vector)

    screen coordinate vector



670
671
672
# File 'lib/rubysketch/sprite.rb', line 670

def toScreen(vec)
  @view__.to_parent(vec.getInternal__).toVector
end

#touchEnded(&block) ⇒ nil

Defines touchEnded block.

Examples:

Print touches on touch end

sprite.touchEnded do
  p sprite.touches
end

Returns:

  • (nil)

    nil



853
854
855
856
# File 'lib/rubysketch/sprite.rb', line 853

def touchEnded(&block)
  @view__.touchEnded = block if block
  nil
end

#touchesArray<Touch>

Returns the touch objects touched on the sprite.

Returns:

  • (Array<Touch>)

    touches



726
727
728
# File 'lib/rubysketch/sprite.rb', line 726

def touches()
  @view__.touches
end

#touchMoved(&block) ⇒ nil

Defines touchMoved block.

Examples:

Print touches on touch move

sprite.touchMoved do
  p sprite.touches
end

Returns:

  • (nil)

    nil



867
868
869
870
# File 'lib/rubysketch/sprite.rb', line 867

def touchMoved(&block)
  @view__.touchMoved = block if block
  nil
end

#touchStarted(&block) ⇒ nil

Defines touchStarted block.

Examples:

Print touches on touch start

sprite.touchStarted do
  p sprite.touches
end

Returns:

  • (nil)

    nil



839
840
841
842
# File 'lib/rubysketch/sprite.rb', line 839

def touchStarted(&block)
  @view__.touchStarted = block if block
  nil
end

#update(&block) ⇒ nil

Defines update block.

Examples:

vx is updated every frame

sprite.update do
  self.vx *= 0.9
end

Returns:

  • (nil)

    nil



739
740
741
742
# File 'lib/rubysketch/sprite.rb', line 739

def update(&block)
  @view__.update = block if block
  nil
end

#velocityVector Also known as: vel

Returns the velocity of the sprite.

Returns:



410
411
412
# File 'lib/rubysketch/sprite.rb', line 410

def velocity()
  @view__.velocity.toVector
end

#velocity=(vec) ⇒ Vector #velocity=(ary) ⇒ Vector Also known as: vel=

Sets the velocity of the sprite.

Overloads:

  • #velocity=(vec) ⇒ Vector

    Parameters:

    • vec (Vector)

      velocity vector

  • #velocity=(ary) ⇒ Vector

    Parameters:

    • ary (Array<Numeric>)

      an array of velocityX and velocityY

Returns:



424
425
426
427
# File 'lib/rubysketch/sprite.rb', line 424

def velocity=(arg)
  @view__.velocity = arg.is_a?(Vector) ? arg.getInternal__ : arg
  arg
end

#vxNumeric

Returns the x-axis velocity of the sprite.

Returns:

  • (Numeric)

    velocity.x



433
434
435
# File 'lib/rubysketch/sprite.rb', line 433

def vx()
  @view__.velocity.x
end

#vx=(n) ⇒ Numeric

Sets the x-axis velocity of the sprite.

Parameters:

  • n (Numeric)

    x-axis velocity

Returns:

  • (Numeric)

    velocity.x



443
444
445
446
# File 'lib/rubysketch/sprite.rb', line 443

def vx=(n)
  @view__.velocity = @view__.velocity.tap {|v| v.x = n}
  n
end

#vyNumeric

Returns the y-axis velocity of the sprite.

Returns:

  • (Numeric)

    velocity.y



452
453
454
# File 'lib/rubysketch/sprite.rb', line 452

def vy()
  @view__.velocity.y
end

#vy=(n) ⇒ Numeric

Sets the y-axis velocity of the sprite.

Parameters:

  • n (Numeric)

    y-axis velocity

Returns:

  • (Numeric)

    velocity.y



462
463
464
465
# File 'lib/rubysketch/sprite.rb', line 462

def vy=(n)
  @view__.velocity = @view__.velocity.tap {|v| v.y = n}
  n
end

#widthNumeric Also known as: w

Returns the width of the sprite.

Returns:

  • (Numeric)

    width



308
309
310
# File 'lib/rubysketch/sprite.rb', line 308

def width()
  @view__.width
end

#width=(w) ⇒ Numeric Also known as: w=

Sets the width of the sprite.

Parameters:

  • w (Numeric)

    width

Returns:

  • (Numeric)

    width



318
319
320
# File 'lib/rubysketch/sprite.rb', line 318

def width=(w)
  @view__.width = w
end

#xNumeric

Returns the x-coordinate position of the sprite.

Returns:

  • (Numeric)

    sprite position x



134
135
136
# File 'lib/rubysketch/sprite.rb', line 134

def x()
  @view__.x
end

#x=(n) ⇒ Numeric

Set the x-coordinate position of the sprite.

Parameters:

  • n (Numeric)

    sprite position x

Returns:

  • (Numeric)

    sprite position x



144
145
146
147
# File 'lib/rubysketch/sprite.rb', line 144

def x=(n)
  @view__.x = n
  n
end

#yNumeric

Returns the y-coordinate position of the sprite.

Returns:

  • (Numeric)

    sprite position y



153
154
155
# File 'lib/rubysketch/sprite.rb', line 153

def y()
  @view__.y
end

#y=(n) ⇒ Numeric

Set the y-coordinate position of the sprite.

Parameters:

  • n (Numeric)

    sprite position y

Returns:

  • (Numeric)

    sprite position y



163
164
165
166
# File 'lib/rubysketch/sprite.rb', line 163

def y=(n)
  @view__.y = n
  n
end

#zNumeric

Returns the z-coordinate position of the sprite.

Returns:

  • (Numeric)

    sprite position z



172
173
174
# File 'lib/rubysketch/sprite.rb', line 172

def z()
  @view__.z
end

#z=(n) ⇒ Numeric

Set the z-coordinate position of the sprite.

Parameters:

  • n (Numeric)

    sprite position z

Returns:

  • (Numeric)

    sprite position z



182
183
184
185
# File 'lib/rubysketch/sprite.rb', line 182

def z=(n)
  @view__.z = n
  n
end