질문과 답변

Extra Form

class Damage < Sprite
  def initialize(x, y, dealt_damage = 0, viewport = Viewport.new(0,0,640,480))
    super(viewport)
    @_damage_duration = 0
    self.x = x
    self.y = y
    @damage = dealt_damage
    damage(@damage)
  end
   
  def dispose
    dispose_damage
    super
  end

  def damage(value)
    dispose_damage
    if value.is_a?(Numeric)
      damage_string = value.abs.to_s
    else
      damage_string = value.to_s
    end
        dispose_damage
        if $fsize==nil
          $fsize=0
        end
    bitmap = Bitmap.new(160, 48)
    bitmap.font.name = "휴먼아미체"
    bitmap.font.size = 20+$fsize
    bitmap.font.color.set(0, 0, 0)
    bitmap.draw_text(-1, 12-1, 160, 36, damage_string, 1)
    bitmap.draw_text(+1, 12-1, 160, 36, damage_string, 1)
    bitmap.draw_text(-1, 12+1, 160, 36, damage_string, 1)
    bitmap.draw_text(+1, 12+1, 160, 36, damage_string, 1)
    if value.is_a?(Numeric) and value < 0
      bitmap.font.color.set(176, 255, 144)
    else
      bitmap.font.color.set(255, 255, 255)
    end
    bitmap.draw_text(0, 12, 160, 36, damage_string, 1)#
    @_damage_sprite = ::Sprite.new(self.viewport)
    @_damage_sprite.bitmap = bitmap
    @_damage_sprite.ox = 80
    @_damage_sprite.oy = 20
    @_damage_sprite.x = self.x
    @_damage_sprite.y = self.y - self.oy / 2
    @_damage_sprite.z = 9001
    @_damage_duration = 20
    end

  def dispose_damage
    if @_damage_sprite != nil
      @_damage_sprite.bitmap.dispose
      @_damage_sprite.dispose
      @_damage_sprite = nil
      @_damage_duration = 0
    end
  end
  def update
    super
    if @_damage_duration > 0
      @_damage_duration -= 1
      case @_damage_duration
      when 18..19
        @_damage_sprite.y -= 4
        $fsize=10
     
      when 16..17
        @_damage_sprite.y -= 2
        $fsize=7
      when 14..15
        @_damage_sprite.y -= 2
        $fsize=4
      when 8..13
        @_damage_sprite.y -= 2
        $fsize=1
        end
      @_damage_sprite.opacity = 256 - (12 - @_damage_duration) * 32
      if @damage_duration == 0
        dispose
      end
    end
  end
end

 

class Scene_Map
  alias trickster_update update
  def update
    if $damage != nil
      if $damage.disposed?
        $damage = nil
      else
        $damage.update
      end
    end
    trickster_update
  end
end

 

class Interpreter
  def command_338
    # Get operate value
    value = operate_value(0, @parameters[2], @parameters[3])
    # Process with iterator
    iterate_battler(@parameters[0], @parameters[1]) do |battler|
      # If battler exists
      if battler.exist?
        # Change HP
        battler.hp -= value
        # If in battle
        if $game_temp.in_battle
          # Set damage
          battler.damage = value
          battler.damage_pop = true
        else
          if battler.is_a?(Game_Actor)
            x = $game_player.screen_x
            y = $game_player.screen_y
          else
            x = battler.screen_x
            y = battler.screen_y
          end
          viewport = Viewport.new(0,0,640,480)
          damage = value
          $damage = Damage.new(x,y,viewport,damage)
        end
      end
    end
    # Continue
    return true
  end
end

 

 

 

 

======================================================================

 

백호님께서 올려주신 데미지표시 스크립트이며 제가 처음 심플액알을 받았을 당시부터 같이 들어가 있었습니다.

문제는 이녀석이 평소에는 멀쩡하게 작동하다가 공격을 짧은 주기로 여러번 하게 되면 바보가 된다는 겁니다..

 

예를들어 공격을 한번 하면 x프레임동안 보인다음 사라진다고 가정했을 때,

한번 화면상에 출력 된 다음 x프레임이 지나기 전에 또다시 출력되면, 이전에 출력되던 녀석은 바로 멈춰버리고(사라지지도 않습니다.)

가장 최근에 출력된 데미지만 정상적으로 위로 올라가면서 사라집니다. . . . . ...............................

 

물론 @damage 이자식을 글로벌변수로 바꿔버릴수도 있겠지만,..... 위와같은 상황이 발생하였을 때,

이전에 출력되던 녀석들은 바로바로 날라가버리기때문에 눈으로 볼 수가 없습니다...

 

크.......... 너무 해매고있습니다. 어떻게 해야 할 지 정말 대첵이 안서는군요.. ㅍ....

헬프!! ㅠㅠ

Who's Lighna

profile

스트레스 받는다.

Comment '13'
  • profile
    JACKY 2012.02.14 11:09
    스크립트가 답답하니 제가 그냥하나 만들어드릴께요.
  • profile

  • profile
    JACKY 2012.02.14 18:17

    아니 처처처처처첫번째 사진은... <헐 님 변태였음?>

     

    두번째꺼 처음보고 파이인가 했는데 더블제잌ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

  • profile
    Lighna 2012.02.14 18:32

    아..헐.....

    올리고나서 눈치챘네........아........................ "아마가미" 캐릭터인데

    아.......ㅋㅋㅋ

  • profile
    슈팅스타* 2012.02.14 18:20

    첫번째 사진 뭐죠

    야겜 히로인인가?

    하트 제스쳐? love+?

  • profile
    쉰라면블랙 2012.02.16 23:29

    꺄-아~♥

    꺄~

    꺄앍~

  • profile
    JACKY 2012.02.14 20:59 Files첨부 (1)

    다만들었다 헠헠

    Damage.zip

  • profile
    Lighna 2012.02.14 21:11

    우오와와우오ㅜ와오ㅜ아우!!

    뭐라도 드리고거나 해드리고 싶은데 !!!!!!!!!!!!!!?

    어떻게해야하죠!!!????!!!!!!!????? 

  • profile
    쉰라면블랙 2012.02.16 23:28

    http://avangs.info/kin/386874

    여기에 제가 지금 글올릴쯤에 완성한 제 질문입니다.

    이거를 이벤트로 못바구겟죠?

    십의자리 백, 천, 승제..등등

     

    근데.그건 그렇고 이스크립트에 변수를 넣고 싶은데 어캐해야돼요?

    첫번째칸에다가 \v[1] 이렇게 해야되나요?

  • profile
    JACKY 2012.02.17 00:37

    아뇨. $game_variables[변수 번호] 식으로 해야합니다.

  • profile
    JACKY 2012.02.17 00:39

    글고 스크립트를 이벤트로 바꾸는건 사실상 힘듭니다.

    둘의 작동방식은 좀 다르거든요. 이 스크립트의 경우 draw_text (텍스트를 그리는 함수) 를 이용한거라

    텍스트의 자릿수에 구애받지않고 자유롭게 표시가 됩니다.

    이벤트로 하시려면 픽쳐를 쓰시거나 해야하는데..... 이럴경우 픽쳐 표시갯수 제한이라던가

    이런거땜시 그다지 쉽진 않을겁니다 ;;

  • profile
    쉰라면블랙 2012.02.17 14:28

    음,,, 그렇다면, 제가 그거 다운받아봤는데..

     

    변수가 100이면 100만나오는게 아니라 분산도처럼 바뀌고

     

    그 몬스터에게 말을걸면 몇번눌루면 플레이어도 수치가 나오는데,, 왜그러는거죠?

     

    음... 그거를 고칠수 있나요? 그거 고쳐서 쓰면, 그냥 액알 뎀지 표시가 완벽할듯,..

  • profile
    JACKY 2012.02.21 00:36
    스샷이라도 좀 주셨음하네요
    말만으로는 이해가잘 안가서리

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12441
RMXP RPGXP 윈도우7 온라인 되지 않습니다. 1 흑온의팬 2012.10.01 1773
RMXP rpg만들기xp 맵이름 표시하는방법 2 오매갓 2012.06.27 1768
RMXP 맵 늘리는 방법 3 단무지 중딩 2011.09.03 1768
RMXP 조건분기에서 스크립트질문!! 까멸 2012.03.06 1768
RMXP 퀘스트가 반복되네요. 퀘스트를 멈추는 방법좀요. 6 난몰라 2012.01.13 1762
RMXP 음;; 데미지표시스크립트입니다만.. 이 스크립트를 어떻게 손대야 할 지 모르겠습니다. 13 Lighna 2012.02.13 1760
RMXP 맵칩 적용법 2 폭풍강타 2013.08.17 1759
RMXP RPG XP 게임을 역전재판 처럼 만드는법 5 RPGXPMAN 2011.01.05 1754
RMXP rpgxp로온라인게임만들기 6 너무어려워 2013.02.21 1753
RMXP 와이드 화면에서 전체화면 시 늘려지는 현상... 1 매디 2011.06.12 1752
RMXP 만렙지정 2 캉쿤 2011.08.16 1748
RMXP 타이틀 화면에서 모양 바꾸는법좀 2 게임이좋아 2011.03.27 1746
RMXP 캐릭터그래픽 만드는법 2 작은오타쿠 2011.09.10 1745
RMXP RPGXP기본캐릭터 이름을 알고 싶어요. 2 ssbest1015 2011.06.11 1741
RMXP 손전등 켜서 플레이어 주위만 밝아지는 방법 없나요?+1 3 알거없다 2011.06.25 1738
RMXP 세로게이지바hp끝나면 게임오버뜨는방법 3 오매갓 2011.09.24 1737
RMXP 엄청나게 복잡한 이벤트만들기 어려워서 부탁드립니다. 5 file CJYG* 2011.07.31 1736
RMXP 일본사이트에서 캐릭터만들고보니까 주변에하얀게뜨는데;; 7 아만자만즤 2011.07.08 1733
RMXP Atelier RGSS의 픽쳐넘버스크립트사용법좀 알려주세요. 4 레드 2011.07.09 1733
RMXP 일정거리안에 들어오면 경로 찾아서 따라오는 스크립트 없나요? 1 소 울 2011.08.13 1732
Board Pagination Prev 1 ... 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 90 Next
/ 90