질문과 답변

Extra Form

rgss스크립트 공부하는 초보입니다. 이리저리 스크립트 보면,

alias 라는 예약어(?)가 나오는 경우가 있는데

예를 들자면,

alias dash_refresh refresh
  def refresh
    dash_refresh
       if $game_party.actors.size != 0
      actor = $game_party.actors[0]
       if @dash_on and dash_graphic_exist?(actor)
        fileplus = "_dash"
      else
        fileplus = ""
      end
      @character_name = actor.character_name + fileplus
      @character_hue = actor.character_hue
    end
  end

 

이렇게  alias하고 어쩌고저쩌고 오는데,

이 기능이 무엇인지 알고싶습니다.

Comment '8'
  • profile
    Andromeda 2014.01.15 20:35
    2. 하나의 게시물에는 하나의 질문만 합니다.
  • ?
    돌치나 2014.01.15 20:40
    음....두개의 질문이라고 하기에는 애매한 점이 많아서 그렇게 올렸던 것인데,
    오해의 소지가 있을 법 했었군요
    수정하였습니다.
  • ?
    허걱 2014.01.15 21:21

    음...단순하게 생각하면 별명을 붙이는거라고 생각하면 쉬울듯 하네요.
    alias 별명 본명
    이런식으로 정의가 되는데...
    위와같은 경우는 def refresh에 의해 기존에 정의된 refresh 라는 메소드가 재정의되는거죠.
    그냥 할 경우 기존에 정의된 메소드를 부를 방법이 사라지게 됩니다. 그래서 기존 메소드에 별명을 붙여서 기존 메소드에 접근할 수 있는 방법을 만들어 둔거죠.

    alias 선언된 이후부터는 기존에 refresh는 dash_refresh 를 사용해야 접근할 수 있습니다.
    바로 아래에 재정의된 refresh가 본명을 먹어버렸으니 당연하게도 refresh를 호출하면 재정의된 부분으로 찾아가게 되겠죠? ^^;

  • ?
    돌치나 2014.01.15 22:05
    오오...친절한 답변 감사드립니다!
    이리저리 찾아봐도 이건 예약어이다. 이런 설명밖에 없어서 힘들었는데, 자세한 답변 덕분에 알게되었습니다.
    정말 감사드립니다!
  • profile
    Omegaroid 2014.01.15 22:59

    제 경우엔, 기존의 메소드가 가지고 있는 변수 정의나 기능같은 것들을 그대로 가지고서 거기에 몇가지를 더 추가하기만 해서 쓰고 싶을때 alias를 사용하고, 아예 기존에 있던 것들까지 포함해서 변경하고 뺄거 빼고 그래야 할 경우엔 alias를 쓰지 않고 메소드 자체를 새로 정의합니다. 그런식으로 용도 구분해서 쓰니 얼추 잘 들어맞더군요.

  • ?
    돌치나 2014.01.15 23:04
    오호...그렇군요. 설명 덕분에 더욱 이해가 잘되었습니다.
    정말 감사합니다!
    ailas를 어떨때 쓰는가도 고민했었는데 덕분에 잘 알게 되었네요ㅎㅎ
  • ?
    AltusZeon 2014.01.16 13:06

    흔히 F12 재시작을 할 때 튕기는 오류 또는 스크립트끼리 충돌하는 오류중 하나인
    stack level too deep 오류를 발생시키는 주 원인중에 하나이기도 합니다. (무한 루프 형성)
    메소드 내용에 한두줄 추가해야 되는 경우에는 굉장히 편리합니다만 위와같은 단점도 있기는 합니다.

    유사하지만 조금 다른 alias_method 도 있습니다.

  • ?
    돌치나 2014.01.16 19:09
    우와......미처 알지 못했을 부분까지 이렇게 알려주셔서 정말 감사합니다
    이 점은 알려주시지 못했으면 직접 부딪히지 않는 이상 몰랐을 것 같네요.
    감사드립니다!!

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12442
기본툴 사용법 RMVXA 흡혈 스킬 만들기 3 겜만들고싶다앙 2021.01.06 290
RMVXA 흔들림 효과 질문 3 달밤에왈츠 2012.07.03 1680
기타 RMVXA 흑백 스킬 애니메이션을 만들었는데 검은 색이 계속 투명처리가 됩니다 2 file 오황불 2020.12.31 89
RMVXA 후크 샷 스크립트 2 불청객 2013.01.17 1086
RMVXA 후레쉬효과? 1 아이디어창고 2015.07.11 265
RMVXA 횡스크롤 형식의 게임을 어떻게 구현해야할지 질문드립니다. 2 황태 2017.02.02 977
RMVXA 횡스크롤 관련 4 라오테드 2014.06.06 1380
RMVXA 회피율과 크리회피율의 관계를 알고 싶습니다. 2 코코아밀크 2017.01.08 136
RMVXA 회상씬에서 다른 화면이 나오도록 하는 방법이 있나요? 3 수퍼말이오 2014.10.17 468
RMVXA 활을 무기로 사용할 수 있는 가능성에 대해 질문드립니다. 7 BioVerLord 2013.06.12 942
이벤트 작성 RMVXA 확인버튼 눌렀을때 그림 삭제하기 2 MAYO 2019.09.20 350
RMVXA 확률을 이용한 스테이지 이동을 하고 싶은데 이상하게 안됩니다. 3 file 피로zzZ 2015.09.21 229
RMVXA 확률,랜덤 설정 하는법좀요 1 멘마 2013.08.23 1134
RMVXA 화면크기를 640*480 으로 바꾸고 나니 Khas Awesome Light Effects의 색조변경이 잘리네요 2 edju 2014.10.29 465
RMVXA 화면이 전환되고 에어쉽을 탄 상태로 자동으로 맵을 가로질러가는 이벤트.. 2 룡기스 2013.07.28 731
RMVXA 화면이 부드럽게 이동하는 스크립트 없나요? 라노스 2014.11.16 330
RMVXA 화면의 색조변경 이벤트 2 lallal 2013.03.05 845
RMVXA 화면을 회전 시키고 싶은대요 1 대검귀 2014.07.01 667
RMVXA 화면에 주인공 주변만 환하게 하는법 6 개밥 2013.05.30 658
RMVXA 화면에 에니며이션 표시하기 지론아모스 2012.01.04 3188
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 149 Next
/ 149