기타

루비 질문. Sprite.new 와 ::Sprite.new 의 차이는? :: 는 무슨 연산자?

by 일단 posted Oct 07, 2014
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
class Sprite_Base < Sprite
  #--------------------------------------------------------------------------
  # ● 애니메이션 스프 라이트 만들기
  #--------------------------------------------------------------------------
  def make_animation_sprites
    @ani_sprites = []
    if @use_sprite && !@@ani_spr_checker.include?(@animation)
      16.times do
        sprite = ::Sprite.new(viewport)
        sprite.visible = false
        @ani_sprites.push(sprite)
      end
      if @animation.position == 3
        @@ani_spr_checker.push(@animation)
      end
    end
    @ani_duplicated = @@ani_checker.include?(@animation)
    if !@ani_duplicated && @animation.position == 3
      @@ani_checker.push(@animation)
    end
  end
end



class Sprite_Character < Sprite_Base
  #--------------------------------------------------------------------------
  # ● 말풍선 아이콘의 시작
  #--------------------------------------------------------------------------
  def start_balloon
    dispose_balloon
    @balloon_duration = 8 * balloon_speed + balloon_wait
    @balloon_sprite = ::Sprite.new(viewport)
    @balloon_sprite.bitmap = Cache.system("Balloon")
    @balloon_sprite.ox = 16
    @balloon_sprite.oy = 32
    update_balloon
  end



위의 두 스크립트는 vxa의 기본스크립트에서 발췌한 겁니다.

두 스크립트에서 보시다시피, 그냥 Sprite.new가 아닌, :: 연산자를 앞에 붙이고 스프라이트 객체를 생성하는데요.
여기서 ::의 역할이 뭔지 궁금합니다.
Sprite.new 와 ::Sprite.new 의 차이가 뭔지 궁금합니다.

도와주시면 정말 감사드릴게요. 검색해봐도 어디서도 답이 안 나오네요.