Show
Ignore:
Timestamp:
01/07/09 02:18:52 (5 years ago)
Author:
isaisstillalive
Message:
  • SpriteをRenderableにした。今までx,yだった引数がscreen,x,yに変わるので互換性がなくなる。newする際のscreenをnilにする修正は必要だが、それ以外のrender_toは今まで通り使えるので修正の必要は無い。
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/ruby/starframe/test/starframe/test_sprite.rb

    r27987 r28067  
    4545   
    4646  def setup 
    47     @sprite = TestSprite.new 
    48      
    4947    @screen = StarRuby::Texture.new(100, 100) 
     48    @sprite = TestSprite.new(@screen) 
    5049  end 
    5150   
     
    133132    sprite = TestSprite.new 
    134133    assert_kind_of TestSprite, sprite 
     134    assert_nil         sprite.screen 
    135135    assert_equal 0,    sprite.x 
    136136    assert_equal 0,    sprite.y 
     
    139139  end 
    140140  def test_initialize_with_position 
    141     sprite = TestSprite.new(1, 2) 
     141    sprite = TestSprite.new(nil, 1, 2) 
    142142    assert_equal 1,    sprite.x 
    143143    assert_equal 2,    sprite.y 
     
    146146  end 
    147147  def test_initialize_with_options 
    148     sprite = TestSprite.new(1, 2, :angle => 3, :alpha => 4) 
     148    sprite = TestSprite.new(nil, 1, 2, :angle => 3, :alpha => 4) 
    149149    assert_equal 1, sprite.x 
    150150    assert_equal 2, sprite.y 
     
    153153  end 
    154154  def test_initialize_with_block 
    155     sprite = TestSprite.new(1, 2) do 
     155    sprite = TestSprite.new(nil, 1, 2) do 
    156156      @texture = StarRuby::Texture.load("test2") 
    157157    end 
     
    163163   
    164164  def test_position_reader 
    165     sprite = MovableSprite.new(1, 2) 
     165    sprite = MovableSprite.new(nil, 1, 2) 
    166166    assert_kind_of Array, sprite.position 
    167167    assert_equal [1, 2],  sprite.position 
     
    170170  end 
    171171  def test_position_writer 
    172     sprite = MovableSprite.new(1, 2) 
     172    sprite = MovableSprite.new(nil, 1, 2) 
    173173    sprite.position = 2, 3 
    174174    assert_equal 2, sprite.x 
     
    184184  end 
    185185  def test_movement_writer 
    186     sprite = MovableSprite.new(1, 2) 
     186    sprite = MovableSprite.new(nil, 1, 2) 
    187187    sprite.movement = 20, 22 
    188188    assert_equal 20, sprite.movement_x 
     
    323323  end 
    324324   
     325  def test_render 
     326    @sprite.x = 0 
     327    @sprite.y = 1 
     328    @sprite.render 
     329     
     330    assert_equal :render_texture, @screen.last_method 
     331    assert_equal @sprite.instance_variable_get(:@texture), @screen.last_method_args[0] 
     332    assert_equal 0, @screen.last_method_args[1] 
     333    assert_equal 1, @screen.last_method_args[2] 
     334    assert_equal 0, @screen.last_method_args[3].size 
     335    assert_equal({}, @screen.last_method_args[3]) 
     336  end 
     337   
    325338  def test_render_to 
    326339    @sprite.x = 0 
     
    379392   
    380393  def test_call 
    381     sprite = MovableSprite.new(1, 2) 
     394    sprite = MovableSprite.new(nil, 1, 2) 
    382395    sprite.call 
    383396    assert_equal [11, 14],  sprite.position 
     
    386399  end 
    387400  def test_move 
    388     sprite = MovableSprite.new(1, 2) 
     401    sprite = MovableSprite.new(nil, 1, 2) 
    389402    sprite.move 
    390403    assert_equal [11, 14],  sprite.position 
     
    393406  end 
    394407  def test_move_minute 
    395     sprite = MovableSprite.new(1, 2) 
     408    sprite = MovableSprite.new(nil, 1, 2) 
    396409    sprite.move_minute 0.6 
    397410    assert_equal [7, 9.2],  sprite.position 
     
    400413  end 
    401414  def test_futures 
    402     sprite = MovableSprite.new(1, 2) 
     415    sprite = MovableSprite.new(nil, 1, 2) 
    403416    assert_equal [7, 9.2],  sprite.future_position(0.6) 
    404417    assert_equal 8.4, sprite.future_angle(0.6) 
     
    407420   
    408421  def test_squared_distance 
    409     sprite1 = TestSprite.new(0, 0) 
    410     sprite2 = TestSprite.new(3, 4) 
     422    sprite1 = TestSprite.new(nil, 0, 0) 
     423    sprite2 = TestSprite.new(nil, 3, 4) 
    411424    assert_equal 25, sprite1.squared_distance(sprite2) 
    412425     
    413     sprite1 = TestSprite.new(0, 0) 
    414     sprite2 = TestSprite.new(2, 2) 
     426    sprite1 = TestSprite.new(nil, 0, 0) 
     427    sprite2 = TestSprite.new(nil, 2, 2) 
    415428    assert_equal 8, sprite1.squared_distance(sprite2) 
    416429  end 
    417430  def test_distance 
    418     sprite1 = TestSprite.new(0, 0) 
    419     sprite2 = TestSprite.new(3, 4) 
     431    sprite1 = TestSprite.new(nil, 0, 0) 
     432    sprite2 = TestSprite.new(nil, 3, 4) 
    420433    assert_equal 5, sprite1.distance(sprite2) 
    421434     
    422     sprite1 = TestSprite.new(0, 0) 
    423     sprite2 = TestSprite.new(2, 2) 
     435    sprite1 = TestSprite.new(nil, 0, 0) 
     436    sprite2 = TestSprite.new(nil, 2, 2) 
    424437    assert_in_delta 2.828, 0.00, sprite1.distance(sprite2) 
    425438  end 
     
    427440  def bench 
    428441    require "benchmark" 
    429     sprite1 = TestSprite.new(0, 0) 
    430     sprite2 = TestSprite.new(2, 2) 
     442    sprite1 = TestSprite.new(nil, 0, 0) 
     443    sprite2 = TestSprite.new(nil, 2, 2) 
    431444    Benchmark.bmbm do |bm| 
    432445      bm.report{ 10000.times{ sprite1.distance(sprite2) } }